四川省C语言(30次)等级考试真题 下载本文

四川省普通高等学校计算机应用知识和能力

第二十七次等级考试

二级(C与C++语言) 笔 试 试 卷

时间: 2007年10月 27 日 上午 9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 数组也是一种数据结构,一维数组就是一种顺序表结构。 2. 递归算法的程序结构比迭代算法的程序结构更为精炼。 3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。 4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。 5. 数据的基本单位是数据元素。 6. 分页存储管理中,页面可以映射到不连续的内存块中。 7. 通道方式能实现外设与CPU之间直接进行数据交换。 8. 软件测试和软件调试没有任何区别。 9. 白盒测试方法一般适合用于系统测试。 10.瀑布模型的突出缺点是不适应用户需求的变化。

( A ) ( A ) ( B ) ( A ) ( A ) ( A ) ( B ) ( B ) ( A ) ( A )

二、选择题(每小题1分,共5分)

1. 线性表不具有的特点是 ( A )。 11 (A) 随机访问 (B) 无须事先估计所需存储空间大小 (C) 插入时不必移动元素 (D) 所需空间与纯属表长度成正比 2. 以下 ( D )不是实时操作系统的特点。 12 (A) 高可靠性 (B) 及时响应

(C) 中断管理 (D) 独立性

3. 若当前进程因时间片用完而让出处理机时,该进程应转变为 ( B )状态。 13 (A) 运行 (B) 就绪

(C) 等待 (D) 完成

4. 以下( C ) 不是数据结构研究的主要问题。 14 (A) 数据元素之间的逻辑关系 (B) 数据元素之间的存储结构

(C) 软件开发方法 (D) 实现操作的算法

5. 软件开发中,模块设计的原则是 ( A )。 15 (A) 低偶合、高内聚 (B)高偶合、高内聚 (C) 高偶合、低内聚 (D) 低偶合、低内聚

四川省计算机二级考试第二十七次C与C++语言笔试试卷 共11页 第1页

第二部分 C与C++语言程序设计 (共85分) 一、单项选择题 ( 每小题1分,共10分 )

1. 以下程序的输出结果是( 16 ) 。

# include void main() {

int a=-1,b=4,k;

k=(++a<0)&&!(b--<=0); printf(\}

16 (A)0 0 4 (B) 1 0 3 (C) 0 0 3 (D) 1 0 4

2. 以下对结构体变量stu1中成员age的不正确引用是( 17 )。

struct st {

int age; int num; }stu1,*p; p=&stu1;

17 (A) stu1.age (B) age (C) p->age (D) (*p).age

3. 在下列条件语句中,功能与其他语句不同的是 ( 18 )。

18 (A) if(a) printf(\ else printf(\

(B) if(a==0) printf(\ else printf(\ (C) if(a!=0) printf(\ else printf(\(D) if(a==0) printf(\ else printf(\

4. 以下叙述中完全正确的是( 19 )。

19 (A) C语言中的文件是流式文件,因此只能顺序存取文件

(B) 对一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖

(C) 在一个程序中当对文件进行了写操作后,必须先关闭该文件后再打开,才能读到第

一个数据

(D) 当对文件的读写操作完成之后,必须将它关闭,否则可能导致数据丢失

5. C++中,下列关键字中哪个不是类定义中使用的关键字 ( 20 )。

20 (A) class (B) public (C) switch (D) private

6. 以下程序的输出结果是( 21 )。

# include # define f(x) (x*x) void main() {

int i1,i2; i1=f(8)/f(4);

i2=f(4+4)/f(2+2);

printf(\}

四川省计算机二级考试第二十四次C与C++语言笔试试卷 共11页 第2页

21 (A) 64,28 (B) 4,4 (C) 4,3 (D) 64,64

7. 有下面的说明和语句,则输出结果是( 22 )。

char a=9,b=020;

printf(\22 (A) 0377 (B) 40 (C) 32 (D) 以上答案均不正确

8. 下列描述,错误的是 ( 23 )。

23 (A) n维数组可以用n级指针来表示

(B) 数组下标从0开始

(C) 一个二维数组可以用一维指针数组表示

(D) 使用没有赋地址值的指针,只有当程序比较长时才可能赞成系统崩溃

9. C语言中局部变量的存储类别默认值是 ( 24 )。

24 (A) 自动(auto) (B) 静态(static)

(C) 寄存器(register) (D) 外部(extern)

10. 下列关于C++重载函数的描述中,错误的是 ( 25 ) 。

25 (A) 重载函数的参数个数和类型至少有一个不同

(B) 重载函数的参数个数可以相同

(C) 重载函数的参数个数不同但类型可以相同 (D) 重载函数的返回值类型必须相同

二、读程序回答问题 ( 每个选择3分,共45分 )

1. 阅读下面程序,回答问题。

# include void main() {

int i,j,row,column,m;

static int array[3][3]={{100,200,300},{28,72,-30},{-850,2,6}}; m=array[0][0]; for(i=0;i<3;i++) for(j=0;j<3;j++) if(array[i][j]

m=array[i][j]; row=i; column=j; }

printf(\}

该程序的功能是( 26 )。 26 (A) 计算二维数组的元素和

(B) 求二维数组的最小值及其下标 (C) 对二维数组进行排序

(D) 求二维数组的最大值及其下标

2. 阅读下面程序,回答问题。

# include

四川省计算机二级考试第二十七次C与C++语言笔试试卷 共11页 第3页

# include void main() {

int i=0,n=0; char s[80],*p; p=s;

strcpy(p,\ for(;*p!='\\0';p++) if(*p==' ') i=0;

else if(i==0) {

n++; i=1; }

printf(\}

该程序的功能是( 27 )。 27 (A) 统计字符串中的单词个数

(B) 统计字符串中的空格个数 (C) 统计字符串中的字母个数 (D) 统计字符串中全部字符个数

3. 读程序,回答问题

# include void main() {

int i,m=0,n=0,k=0; for(i=9;i<=11;i++) switch(i) {

case 0: m++;n++;break; case 10:n++;break; default: k++,n++; }

printf(\}

28 (A) 1 3 2

(C) 0 1 1

4. 读程序,回答问题。

# include # include

void main(int argc,char *argv[]) {

int i=1,n=0;

(B) 1 4 2 (D) 0 3 2

四川省计算机二级考试第二十四次C与C++语言笔试试卷 共11页 第4页