C语言模拟试卷 (10) 下载本文

内容发布更新时间 : 2024/5/16 0:28:19星期一 下面是文章的全部内容请认真阅读。

总共42题共100分

一、单选题 (共30题,共60分)

1. 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是() (2分)

A.x=x*100+0.5/100.0; B.x=(x*100+0.5)/100.0; C.x=(int)(x*100+0.5)/100.0 D.x=(x/100+0.5)*100.0 标准答案:C

2. 以下程序段的输出是() int i=0,a=0; while(i {

for(;;) {

if((i)==0) break; else i--; }

i+=11;a+=i; }

printf(\(2分)

A.21 B.32 C.33 D.11 标准答案:B

3. 对于输入语句scanf(\;要使变量A、B上的值分别为 1.78和2.48,则正确的输入是( )分)

A.1.78,2.48后跟回车 B.1.78 2.48后跟回车 C.1.782.48后跟回车 D.1.78;2.48后跟回车 标准答案:A

4. main( ) {

int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i {

k =k+ p[i]; i++; }

printf(\}

执行后输出结果是( ) (2分)

A.58 B.53 C.38 D.24 标准答案:C

5. 以下程序的输出结果是() main() {

int a=5,b=4,c=3,d=2; if(a>b>c)

printf(\ else if((c-1>=d)==1) printf(\ else

printf(\} (2分)

A.2 B.3

C.4 D.编译时有错,无结果 标准答案:B

6. 以下哪个不是C程序合法的常量 (2分) A.1,234 B.'\\123' C.'a' D.\标准答案:A

7. 在C语言中,假设一个int型数据在内存中占两个字节,则int型数据的取值范围为()。 (2分) A.-128~127 B.-32768~32767 C.0~65536 D.0~2147483647 标准答案:B

2 (

8. 以下为合法语句标号的是() (2分)

A.flag: B.tag C.int D.-here: 标准答案:B

9. 表达式3+(!(7

A.3 B.4

C.错误的表达式 D.5 标准答案:B

10. 表达式3.6-5/2+1.2+5%2的值是() (2分) A.4.3 B.4.8 C.3.3 D.3.8 标准答案:D

11. 执行语句: for (i=1;i++A.3 B.4 C.5 D.不定 标准答案:C

12. 以下各选项中,均是C语言保留字的组是() (2分) A.integer、floa、double B.if、else、switCh C.struct、union、enum D.auto、static.、externa 标准答案:C

13. 数字字符0的ASCII值为48,运行以下程序的输出结果是() main()

{char a='1',b='2'; printf(\ printf(\} (2分)

A.3,2 B.50,2 C.2,2 D.2,50 标准答案:C

14. 假设A,B变量均为整型,则表达式(A=2,B=5,B++,A+B)的值是( ) (2分) A.7 B.8 C.6 D.2 标准答案:B

15. 以下各项中非法的语句标号是() (2分) A.flag: B.INT: C.3d: D.h_r_e: 标准答案:C

16. 不属于C.语言保留字的是( ) (2分) A.for B.goto C.if D.loop 标准答案:D

17. 设有定义int a;float b;执行scanf(\语句时,若从键盘输入 876 543.0A.876和543.000000 B.87和6.000000 C.87和543.000000 D.76和543.000000 标准答案:B

18. 以下说法不正确的是() (2分) A.C程序是由函数构成的

B.一个C源程序可以包含一个或多个main()函数。

C.C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置。 D.C程序中,每个语句和数据定义的最后都必须有一个分号 标准答案:B

19. 下列程序的输出结果是( ) main( )

{ double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(\} (2分)

A.3 B.3.2 C.0 D.3.07 标准答案:C

20. 以下不合法的用户标识符是() (2分)

A.j2_KEY B.Double C.4d D._8_ 标准答案:C

21. 执行下面程序段,给x、y赋值时,不能作为数据分隔符的是( ) int x,y;

scanf(\(2分)

A.空格 B.TAB键 C.回车 D.逗号 标准答案:D

22. 以下叙述中正确的是() (2分)

A.C语言程序中注释部分可以出现在程序中任意合适的地方 B.花括号“{”和“}”只能作为函数体的定界符

C.构成C语言程序的基本单位是函数,所有函数名都可以由用户命名 D.分号是C语言语句之间的分隔符,不是语句的一部分 标准答案:A

23. 下列运算符中运算级最高的是()。 (2分) A.> B.+ C.&&  D.!= 标准答案:B

24. 有以下程序: main()

{char a='a',b;

printf(\ printf(\}

程序运行后的输出结果是() (2分)

A.b,b B.b,c C.a,b D.a,c 标准答案:B

25. 以下程序段不是死循环的是( ) (2分) A.int i=100; while(1) {

i=i0+1; if(i>100) break; }

B.for(;;) ; C.int k=0; do{++k;} while(k D.int s=36; while(s); --s;

标准答案:C

26. 有以下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,则正确时输入方式为()。(注: int a1,a2; char c1,c2;

scanf(\(2分) A.10A-20-B B.10A-20B C.10A20B D.10A20-B 标准答案:C

27. 逗号表达式(a=3*5,a*4),a+15的值为( ) (2分) A.(A) 15 B.(B) 60 C.(C) 30 D.(D) 75 标准答案:C

28. 若有说明:char s1='\\067';char s2=\则s2中() (2分) A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 标准答案:D

29. 对if语句中表达式的类型,下面正确的描述是( ) (2分)

-表示空格)