2011年全国计算机等级二级C语言模拟试题及答案(11)
1.在PC机中,‘\n’在内存占用的字节数是( )
A.1
B.2
C. 3
D.4
2.字符串“ABC”在内存占用的字节数是( )
A.3
B.4
C.6
D.8
3.在C语言中,合法的长整型常数是( )
A.0L
B.4962710
C.0.054838743
D.2.1869 e10
4.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次是( )
A.3,3,2
B.3,2,2
C.3,2,3
D.2,3,2
5.设有语句int a=3;,则执行了语句a+=a-=a*a后,变量a的值是( )
A.3
B.0
C.9
D.-12
6.设int k=32767;执行k=k+1;后k值为( )
A.32768
B.-32768
C.0
D.-1
7.下列正确的标识符是( )
A.hot_do
B.a+b
C.test!
D.%y
8.设int a=5,使b不为2的表达式是( )
A.b=6-(--a)
B.b=a%2
C.b=a/2
D.b=a>3?2:1
9.执行x=(6*7%8+9)/5;后,x的值为( )
A.1
B.2
C.3
D.4
10.执行语句x=(a=3,b=a--)后,x,a,b的值依次为( )
A.3,2,3
B.2,3,2
C.3,3,2
D.3,2,2
11.设a=-3;执行(a>0)?a:-a;后,a的值为( )
A.3
B.1
C.0
D.-3
12.设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为( )
A.7
B.8
C.9
D.2
13.下面正确的字符常量是( )
A.”c”
B.’\\’’
C.’W’
D. ‘’
14.若有代数式3ae/bc,则不正确的c语言表达式是( )
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/c*3
15.在C语言中,要求运算数必须是整型的运算符是( )
A./
B.++
C.!=
D.% 16.若有说明语句:char c=’\72’;则变量c ( )
A.包含1个字符
B.包含2个字符
C.包含3个字符
D.说明不合法,c值不确定
17.sizeof (float)是( )
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D 一个不合法的表达式
18.设变量a 是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型是( )
A.int
B.folat
C.double
D.不确定
19.若有定义int a[10],*p=a;,则p+5表示( )
A.元素a[5]的地址
B.元素a[5]的值
C.元素a[6]的地址
D.元素a[6]的值
20.以下与int *q[5];等价的定义语句是( )
A.int q[5];
B.int * q
C.int (q[5])
D.int (*q)[5]
21.若有定义int a[5],*p=a;则对a数组元素地址的正确引用是( )
A.P+5
B.*a+1
C.&a+1
D &a[0]
22.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是( )
A.auto
B.static
C.extern
D.register
23.若用数组名作为函数调用的实参,传递给形参的是( )
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D .数组元素的个数
24.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )
A.float
B.int
C.long
D.double
25.以下对二维数组a的正确说明是( )
A.int a[3][]
B.float a(3,4)
C.double a[1][4]
D.float a(3)(4)
26.若有说明int a[3][4];则对a数组元素的正确引用是(A )
A.a[2][4]
B.a[1,3]
C.a[1+1][0]
D.a(2)(2)
26.语句while(!E);中的表达式!E等价于( )
A.E= =0
B.E!=1
C.E!=0
D.E= =1
27.C语言中while和do—while循环的主要区别是( )
A. do—while的循环体至少无条件执行一次
B. While的循环控制条件比do—while的循环控制条件严格
C. do—while允许从外部转到循环体内
D. do—while循环体不能是复合语句
28.为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:else子句总与( )配对
A.缩排位置相同的if
B.其之前最近的if
C.其之后最近的if
D.同一行上的if
29.判断char型变量ch是否为大写字母的正确表达式是( )
A.’A’<=ch<=’Z’
B.(ch>=’A’)&(ch<=’Z’)
C.(ch>=’A’)&&(ch<=’Z’
D.(‘A’<=ch)AND (‘Z’>=ch)
30.以下能正确定义整型变量a、b、c并为其赋初值5的语句是( )
A.int a=b=c=5;
B.int a,c, c=5;
C.a=5,b=5,c=5;
D.a=b=c=5;
二、 填空(20分,每空1分)
1.C语言中的实型变量分为两种类型,它们是( )和( )。
2.C语言中的标识符只能由三种字符组成,它们是( )、( )和( )。
3.若有定义:char c=’\010’;则变量c中包含的字符个数是( )。
4.C语言提供的三种逻辑运算符是( )、( )、( )。
5.设y为int型变量,请写出描述“y是奇数”的表达式( )。
6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式( )。
7.在C语言中,二维数组元素在内存中的存放顺序是( )。
8.若有定义:double x[3][5];则x数组中行下标的下限为( ),列小标的上限为( )。
9.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是( ),a[2][2]得到的初值是( )。
10.若自定义函数要求返回一个值,则应在该函数体中有一条( )语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符( )。
11.函数中的形参和调用时的实参都是数组名时,传递方式为( ),都是变量时,传递方式为( )。
三、 读程序(30分)
1. main()
{int a=2,b=3,c;
c=a;
if (a>b) c=1;
else if (a= =b) c=0;
else c=-1;
printf (“%d\n”,c);} 运行结果:
2. main()
{int a=2,b=7,c=5;
switch (a>0)
{ case 1: swithch (b<0)
{case 1:printf(“@”);break;
case 2:printf(“!”);break;
}
case 0: switch (c= =5)
{ case 0:printf(“*”);break;
case 1:printf(“#”),break;
default:printf(“#”);break;
}
default:printf(“&”); 运行结果:
} printf (“\n”);
}
3.#include
main()
{ int i;
for (i=1;i<=5;i++)
switch (i%5)
{ case 0:printf(“*”);break;
case 1:printf(“#”);break;
default:printf(“\n”);
case 2:printf (“&”); 运行结果:
}
}
4. main()
{ int i,b,k=0;
for (i=1;i<=5;i++)
{b=i%2;
while (b-->=0) k++;
} 运行结果:
printf (“%d,%d”,k,b);
}
5. #include
main()
{ char ch[7]={“12ab56”};
int i,s=0;
for (i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
s=s*10+ch[i]-‘0’; 运行结果:
printf (“%d\n”,s);
}
6. main()
{ int a=2,i;
for (i=0;i<3;i++)
printf (“M”,f(a));
}
f(int a)
{ int b=0;static int c=3;
b++;c++; 运行结果:
return(a+b+c);
}
四、 编写程序(20分)
1. 从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。
2. 已有变量定义和函数调用语句:int x=57;isprime(x);函数isprime()用来判断一个整数a是否是素数,若是素数,函数返回1,否则返回0。请编写isprime函数。
insprime( int a)
{……}; {……}
参考答案
一、 单项选择题(共30分,每题1分)
1.A.2.B.3.A 4. C 5. D
6. B 7. A 8. B 9. B 10. A
11. D 12. A 13. C 14. C 15. D
16. A 17. B 18. C 19. A 20. D
21. D 22. A 23. A 24. B 25. C
26. A 27. A 28. B 29. C 30. A
二、 填空(20分,每空1分)
1. 单精度,双精度
2. 数字、下划线、英文字母
3. 1个
4. 与&&、或||、非!
5. y%2!=0
6. x
8. 0,4
9. 0,8
10.return,void
11.地址传送,值传送
三、 读程序(30分)
1.-1 2.&
3.#&
*
4.8,-2
5.1
6. 7 8 9
四、 编写程序(20分)
1.#include
main()
{int i,a;
for (i=1;i<=10;i++)
{scanf(“%d”,&a);
if (a%7= =0) {printf (“%d”,a); break;}
}
if (i>10) printf (“not exist”);
}
2.insprime(int a)
{int i;
for (i=2;i<=a-1;i++)
if (i%2= =0)return(0); =0)return(0);
return(1); }
编辑特别推荐:
2011年计算机等级二级C语言课后练习题及答案解析汇总
2011年全国计算机等级二级C笔试考前练习习题汇总
计算机等级考试二级C语言上机试题上汇总
计算机等级考试二级C语言上机模拟试题及答案
全国计算机等级考试二级C语言程序设计实战