二级C语言笔试试题(A卷)
(共100分)
注意事项:1.请将一题的答案填涂在答题卡上。
2.请将二、三、四、五题的答案做在答题纸上。
一、 单项选择题(每小题1分,共20分)
1.若变量已正确定义并赋值,一下符合C约言语法的表达式是( )。 (A)A=b+1 (B)a=b=c+2 (C)Int 18.5%3 (D)a=a+7=c+b
2.C语言中,要求参与运算的对象必须是整型的运算符是( )。 (A)%= (B)/
(C)= (D)<=
3.已知有下面代码段,则所列选项中叙述正确的是( )。 Int t=0; While(t=1) {…}
(A)循环控制表达式不合法 (B)循环控制表达式的值为0 (C)循环控制表达式的值为1 (D)以上说法都不对 4.设有语句序列:float a,b,c;scanf(“%f%f%f”,&a,&b,&c);,若要求分别给变量a、b、c赋值10.0、22.0、33.0,则下面的输入形式是( )。
(A)10<回车>22<回车>33<回车> (B)10.0,22.0,33.0<回车>
(B)10.0<回车>22.0 33.0<回车> (D)10 22<回车>33<回车> 5.下面程序执行后的输出结果是( )。 #include
{ int i=1,j=1,k=2;
If ((j++| |k++) &&i++)
Printf(“%d,%d,%d\\n”,I,j,k); }
(A)1,1,2 (B)2,2,1 (C)2,2,2 (D)2,2,3 6.下面沉痼执行后的输出结果是( )。 #include
Printf(“%d”,n); } }
(A)987 (B)976 (C)8765 (D)876
201002 二级C语言笔试试题(A卷) 第1页 共8页
7.下面所列选项中,构成死循环的程序段是( )。
(A) int i=100; (B) for(;;)
While(1) puts(“a”); { i=1+1; If(i>100) Break; }
(C) int k=10000; (D) int s=36; Do while(s) { k--; --s; Printf(“%d\\n”,k); }while(k。10000);
8.设有以下说明语句,则下面所列选项中叙述不正确的是( )。
Struct stu { int a; Float b; }stutype;
(A) struct是结构体类型的关键字
(B) struct stu是用户定义的结构体类型 (C) stutype是用户定义的结构体类型名 (D) a和b都是结构类型题成员名
9.设有变量定义int x,y;,则表达式(x=2,y=5,y--,++x+y)的值是( )。
(A)8 (B)5 (C)6 (D)7
10.为了表达关系100≧x≧0;,应使用下列C语言表达式中的( )
(A)(x>=0) and(x<=100) (B)(x>=0) &&(100>=x) (C)(100>=X>=0) (D)(x>=0) &(100>=x)
11.设有C语句:intx[3][3]={9,8,7};,则数组元素x[0][1]和x[2][2]的值是( (A)9和7 (B)8和0 (C)7和0 (D)8和 随机数 12.设有C语言char *ptr,a;下面C语言中正确的是( )。
(A)a=ptr (B)ptr=ptr/2 (C)ptr=*a (D) ptr=20
13.设有C语句double x,*y=&x,**z=&y;,则变量x等价的是( )。
(A)z (B)*z (C)**z (D)&z 14.C标准库函数strcmp()的功能是( )。
(A)测试字符串的长度 (B)复制字符串
(C)比较两个字符串的大小 (D)连接字符串 15.字符串\\\\21\\t\\\\\\123456的长度是( )。
(A)8 (B)9 (C)11 (D)1 16.下面程序段执行后输出的救国是( )。 #define f(x,y) x+y Int a=2,b=3;
201002 二级C语言笔试试题(A卷) 第2页 共8页
。 ) Printf(“%d”,f(a,b)*(a,b));
(A)36 (B)25 (C)11 (D)13
17.c语言表达式sizeof(‘a’+10)执行结构的数据类型是( )。 (A) int (B)flaoat (C) double (D)char
18.设有定义: int x=3,y=2;,则条件表达式x>y?1:2:3的值为( )。
(A)1 (B)1.0 (C)2.3 (D)2 19.下面程序段执行后输出的结果是( )。
Char s[4] = “cba”; Char *p=s;
Printf(“&c,*p+1);
(A)字符C (B)字符B (C)字符A (D) 字符D 20.下面程序执行后输出的结果是( )。 #include
{ int a,b,c,x; a=b=c=0; x=35; if(!a) x--; else if(b) if(c)
x=3; else
x=4
printf(“%d\\n”,x);
}
(A)34 (B)4 (C)35 (D)3
二、基本概念选择填空题(本大题后面有备选项A~L,请选择合适的备选项,并将其填入答题纸对应序号处,每空2分,共10分) 1、在C程序中引用标准库中的数学类函数时,需要在程序的预处理部分包含 ① 头文件。 2、在C程序中,如果要表示的条件是,“a或b之一为0,但a和b不同时为零”,则可将其逻辑关系描述为: ② 。
3、在C语言中,函数返回值的数据类型取决于 ③ 。
4、函数调用中,数组名作为形参时实现的是传地址调用,而数组元素作为形参时实现的是 ④ 调用。
5、字符串常量和字符数组都占用一段 ⑤ 的存储单元。 备选项:
(A)a+b!=0&&a*b=0 (B)math.h (C)men.h (D)传地址 (E) stdio.h (F)独立
201002 二级C语言笔试试题(A卷) 第3页 共8页
(G)函数返回值类型 (H)传值 (I){}
(J)连续 (K)定义该函数时所指定的数据类型 (L)a+b==0&&a*b!=0 三、程序填空题(每空2分,共20分) 1、下面程序的功能是统计从键盘输入的字符序列中每个大写字母的个数。程序执行时用‘#’字符作为输入结束标志,请填空完成程序。 #incude
{ int num[26]={0},i; char c;
while (( ① )!=’#’) if (c>=’A’&&c<=’Z’) num[c-65]+=1; for(i=0;i<26;i++) if(num[i]);
printf(“%c:%d\\n”, ② ,num[i]); }
2、下面程序的功能是:从整数10~99之间选出哪些能被3整除、且有一位数字是5的数存放在p数组中,并输出这些数的个数。请填空完成程序。 #include
{ int p[100],k,a1,a2,i ③ ;
for(k=10;k<=99;k++) { a2=k/10; a1=k-a2*10;
if ( ④ ) {
p[i]=k; i++; } }
printf(“数据个数是:%d\\n”,i); }
3、函数pi 的功能是根据下面的公式求出满足精度要求的π值,请填空完成函数。
?111?1????…… 4357double pi(double eps)
{ double s=0.0,t=1.0;
int n,flg=1;
for( ⑤ ;t>eps;n++) {s=+flg*t; t=1.0/(2*n+1); flg=-flg; }
return ⑥ ;
201002 二级C语言笔试试题(A卷) 第4页 共8页
}
4、下面程序的功能是:从键盘上输入一个整数,将其插入一个整数,将其插入到一个元素按升序排列的整型数组中,插入后的数组元素值仍然保持按升序排列;请填空完成程序。 #include
int a[10]={2,5,8,10,15,20,28,27}; int x,i,n=8;
scanf(“%d”,&x); for (i=n-1;i>0;i--)
if( ⑦ ) a[i+1]=a[i]; else break; ⑧ ; n++;
for(i=0;i 5、下面程序的功能是求整数100~200之间的所有素数,请填空完成程序。 #include int m, n,k; for(m=101;m<200;m=m+2) { k= ⑨ ; for(n=2;n<=k;n++) if( ⑩ ) break; if(n>k) preatf(“%d\\n”,m) } } 四.阅读程序题(每小题5分,共30分) 1、阅读下面程序,给出程序执行后的输出结果。 #include n=13579; do { 201002 二级C语言笔试试题(A卷) 第5页 共8页