二级C语言笔试试卷(A)
2007年1 注意事项:1.一、二题为
客观题,请将答案涂在机读答题卡上
2. 三、四、五、六题
为主观题,请将答案做在答题纸上
一、单项选择题。(每小题1分,共20分)
1.在C程序的函数调用时,主调函数中的
实参和被调函数中的形参( )。
(A) 个数、次序必须相同,但数据类
型可以不考虑
(B) 个数、次序和对应参数的数据类
型都应该相同
(C) 个数、次序和数据类型均可以不
相同
(D) 对应参数数据类型应相同,但个
数和次序可以不考虑
2.如a为int型,则与表达式a等价的C
语言关系表达式是( )
(A) a>0 (B) a!=0 (C)
a==0 (D) a<0
3.循环语句
for(a=0,b=0;(b!=45)||(a<5);a++);的
循环次数是( )
(A) 4 (B) 3 (C)
5 (D) 无数多次
4.设有字符数组a,则正确的输入语句是
( )。
(A) gets('a');
(B) scanf("%c",a);
(C) scanf("%s",a);
(D) gets("a");
5. enum
color{red,green,yellow=5,white,bl
ack};定义了一枚举类型。编译程序为
值表中各标识符分配的枚举值依次为
( )。
(A)1、2、3、4、5
(B)0、1、5、2、3
(C)0、1、5、6、7
(D)3、4、5、6、7
6.运行完下列程序后,在屏幕上的内容是
( )。
void main ()
{ int a=0;
a+=(a=12);
printf ("%d\n",a);
}
(A)0 (B)6 (C)
12 (D)24
7.若x,y为实数类型的变量,要判断x,y
相等,最好使用下列关系表达式( )。 (A)x==y (B)x-y==0 (C) fabs(x-y)<1e-8 (D)labs(x-y)<1e-8 8.若有以下的定义、说明和语句,则值为101的表达式是( )。 struct CW { int a; int *b; }*p; int x0[]={11,12},x1[]={31,32}; struct CW x[2]={100,x0,300,x1}; p=x; (A) *p->b (B) p->a (C) ++(p->a) (D) (p++)->a 9.以下程序的输出结果是( )。 int x=3,y=4; void main( ) { int x,y=5; x=y++; printf("%d",x); } (A)3 (B) 4 (C) 5 (D) 6 10.在C语言中,函数默认的存储类型为( )。 (A) auto (B) register (C)static (D) extern 11.有定义:float y,*p=&y;,假定变量y在内存中所占地址为100~103。那么p的值为( )。 (A) 100 (B) 101 (C) 102 (D) 103 12. 有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为( )。 (A) n=p2-p1; (B) n=p2*p1; (C) n=p2+p1; (D) n=p1/p2; 13.调用strlen("abcd\0ef\ng\0")的结果为( )。 (A) 4 (B) 5 (C) 8 (D) 10 14.执行下面程序中输出语句后,a的值是( )。 #include main( ) { int a; printf("%d\n",(a=3*5,a*4,a)); } (A)65 (B)20 (C)15 (D)10