本资料有本人整理,仅供参考。
二级C语言笔试试卷(A)
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,black};定义了一枚举类型。依次为( )。
(A)1、2、3、4、5 (B)0、1、5、2、(C)0、1、5、6、7 (D)3、4、5、66 void main () { int a=0; a+=(a=12);
printf ("%d\n",a); }
(A)0 (B)6 (D)24
7.若x,y要判断x,y相等,最好使 )。
(A) (B)x-y==0
(D)labs(x-y)<1e-8
8101的表达 { 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 12. 有定义:赋值语句为( )。
13.调用( )。
(A) 4 (B) 5(8 (D) 10 14a的值是( )。 #include main( ) { int a; }
(B)20 (C)15 (D)10
int a,b,x;且变量都已正确赋值,下面选项if语句是( )。 (B)if(a=b) x++; 16.执行下面的程序后,变量a的值是( )。 #include #define SQR(X) X*X void main()
{ int a=10,k=2,m=3; a/=SQR(m)/SQR(k); printf("%d \n",a); }
(A)10 (B)1 (C)5 (D)0
17.若变量t为double类型,表达式(t=1,t+5,t)的值是( )。
(A)1 (B)6.0 (C)1.0 (D)6
18.在C语言中,下面关于数组的描述中正确的是( )。
(A)数组的大小是固定的,但可以有不同类型的数组元素
(B)数组的大小是可变的,但所有数组元素的类型必须相同
(C)数组的大小是固定的,所有数组元素的类型必须相同
(D)数组的大小是可变的,可以有不同的类型的数组元素
19.下述程序的输出结果是( )。 #include