c语言中11%2,2011年全国计算机二级C语言模拟试题及答案(11)

一、单项选择题(共30分,每题1分)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.1869e10

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.设有语句inta=3;,则执行了语句a+=a-=a*a后,变量a的值是()

A.3

B.0

C.9

D.-12

6.设intk=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.设inta=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.若有说明语句:charc=’\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.若有定义inta[10],*p=a;,则p+5表示()

A.元素a[5]的地址

B.元素a[5]的值

C.元素a[6]的地址

D.元素a[6]的值

20.以下与int*q[5];等价的定义语句是()

A.intq[5];

B.int*q

C.int(q[5])

D.int(*q)[5]

21.若有定义inta[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.inta[3][]

B.floata(3,4)

C.doublea[1][4]

D.floata(3)(4)

26.若有说明inta[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.inta=b=c=5;

B.inta,c,c=5;

C.a=5,b=5,c=5;

D.a=b=c=5;

二、填空(20分,每空1分)1.C语言中的实型变量分为两种类型,它们是()和()。

2.C语言中的标识符只能由三种字符组成,它们是()、()和()。

3.若有定义:charc=’\010’;则变量c中包含的字符个数是()。

4.C语言提供的三种逻辑运算符是()、()、()。

5.设y为int型变量,请写出描述“y是奇数”的表达式()。

6.设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式()。

7.在C语言中,二维数组元素在内存中的存放顺序是()。

8.若有定义:doublex[3][5];则x数组中行下标的下限为(),列小标的上限为()。

9.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是(),a[2][2]得到的初值是()。

10.若自定义函数要求返回一个值,则应在该函数体中有一条()语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符()。

11.函数中的形参和调用时的实参都是数组名时,传递方式为(),都是变量时,传递方式为()。

三、读程序(30分)1.main()

{inta=2,b=3,c;

c=a;

if(a>b)c=1;

elseif(a==b)c=0;

elsec=-1;

printf(“%d\n”,c);}运行结果:

2.main()

{inta=2,b=7,c=5;

switch(a>0)

{case1:swithch(b<0)

{case1:printf(“@”);break;

case2:printf(“!”);break;

}

case0:switch(c==5)

{case0:printf(“*”);break;

case1:printf(“#”),break;

default:printf(“#”);break;

}

default:printf(“&”);运行结果:

}printf(“\n”);

}

3.#include

main()

{inti;

for(i=1;i<=5;i++)

switch(i%5)

{case0:printf(“*”);break;

case1:printf(“#”);break;

default:printf(“\n”);

case2:printf(“&”);运行结果:

}

}

4.main()

{inti,b,k=0;

for(i=1;i<=5;i++)

{b=i%2;

while(b-->=0)k++;

}运行结果:

printf(“%d,%d”,k,b);

}

5.#include

main()

{charch[7]={“12ab56”};

inti,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()

{inta=2,i;

for(i=0;i<3;i++)

printf(“M”,f(a));

}

f(inta)

{intb=0;staticintc=3;

b++;c++;运行结果:

return(a+b+c);

}

四、编写程序(20分)1.从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。

2.已有变量定义和函数调用语句:intx=57;isprime(x);函数isprime()用来判断一个整数a是否是素数,若是素数,函数返回1,否则返回0。请编写isprime函数。

insprime(inta)

{……};{……}

参考答案

一、 单项选择题(共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. x7. 行列

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); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值