全国计算机等级考试二级C语言笔试模拟试题(8)
总分:100分 及格:60分 考试时间:120分
每小题1分,共40分
(1)下面程序的运行结果是 #include main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }
A. -1
B. 1
C. 8
D. 0
(2)下列程序的输出结果是
(3)下列程序的运行结果是 #include "stdio.h" main() { int x=-9,y=5,z=8; if(x if(y<0)z=0; else z+=1; printf("%d\n",z);}
A. 6
B. 7
C. 8
D. 9
(4)下列各数据类型不属于构造类型的是
A. 枚举型
B. 共用型
C. 结构型
D. 数组型
(5)阅读程序段,则执行后的输出结果为 #include "stdio.h" typedef union{ long x[2]; int y[4]; char z[8];} atx; typedef struct aa{ long x[2]; int y[4]; char z[8]; } stx; main() {printf("union=%d,struct aa=%d\n",sizeof(atx),sizeof(stx));}
A. union=8,structaa=8
B. union=8,structaa=24
C. union=24,structaa=8
D. union=24,structaa=24
(6)以下函数返回a所指数组中最大值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i if(a[i]>a[p])_________; return(p);} 在下划线处应填入的内容是
A. i=p
B. a[p]=a[i]
C. p=j
D. p=I
(7)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执行这个语句后t的值为
A. 2
B. 1
C. 0
D. 不定值
(8)如果需要打开一个已经存在的非空文件"Demo"进行修改下面正确的选项是
A. fp=fopen("Demo","r");
B. fp=fopen("Demo","ab+");
C. fp=fopen("Demo","w+");
D. fp=fopen("Demo","r+");
(9)设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为
A. int
B. float
C. double
D. 不确定
(10)循环链表的主要优点是
A. 不再需要头指针了
B. 从表中任一结点出发都能访问到整个链表
C. 在进行插入、删除运算时,能更好的保证链表不断开
D. 已知某个结点的位置后,能够容易的找到它的直接前件
(11)若变量已正确定义并赋值,以下符合C语言语法的表达式是
A. a:=b+1
B. a=b=c+2
C. int18.5%3
D. a=a+7=c+b
(12)已有定义int a=-2;和输出语句 printf("%8lx",a);以下正确的叙述是
A. 整型变量的输出形式只有%d一种
B. %x是格式符的一种,它可以适用于任何一种类型的数据
C. %x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D. %8lx不是错误的格式符,其中数字8规定了输出字段的宽度
(13)NULL是指
A. 0
B. 空格
C. 未知的值或无任何值
D. 空字符串
(14)程序的3种基本控制结构是
A. 过程、子过程和分程序
B. 顺序、选择和重复
C. 递归、堆栈和队列
D. 调用、返回和转移
(15)下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,B.;
A. for,"a+=b",ab
B. format,"a+=b"
C. a+=b,a=21,b=10
D. 以上结果都不对
(16)下列是用户自定义标识符的是
A. _w1
B. 3_xy
C. int
D. LINE-3
(17)有如下程序 main() { char s[]="ABCD", *p; for(p=s+1; p