C语言模拟试卷(12)

2019-08-31 14:01

总共42题共100分

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

1. 有以下程序 #include “stdio.h” main()

{ printf(\

程序运行后的输出结果是() (2分) A.0 B.1

C.-1 D.NULL没定义,出错 标准答案:A

2. 下列符号串中,合法的十进制整型常量是( ) (2分) A.09876 B.0x9876 C.9876*e4 D.-9876 标准答案:D

3. 有以下程序

#include main() {

int x,i;

for (i=1;i<=50;i++) { x=i;

if (++x%2==0) if (x%3==0) if (x%7==0) printf(\ }

printf(\ }

执行此程序的输出结果是( ) (2分)

A.28 B.27 C.42 D.41 标准答案:D

4. #include void main()

{ char c1='A', c2='Y';

printf(\ (2分) A.A,Y

B.65,65 C.65,90

D.65,89 标准答案:D

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

6. 以下程序运行后的输出结果是() int f1(int x,int y) {

return x>y?x:y; }

int f2(int x,int y) {

return x>y?y:x; }

main() {

int a=4,b=3,c=5,d,e,f; d=f1(a,b);d=f1(d,c); e=f2(a,b);e=f2(e,c); f=a+b+c-d-e;

printf(\

} (2分)

A.3,4,5 B.5,3,4 C.5,4,3 D.3,5,4 标准答案:C

7. 以下选项中,不能作为合法常量的是() (2分) A.1.234e04 B.1.234e0.4 C.1.234e+4 D.1.234e0 标准答案:B

8. 下列关于单目运算符++,--的叙述中正确的是() (2分) A.它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D.它们的运算对象可以是char型变量、int型变量和float型变量 标准答案:D

9. 下列语句中错误的是() (2分) A.x=sizeof(int); B.x=sizeof(3.14);

C.printf(“%d”,a=a+1,b--,c+1); D.printf(“%d”,++x,x++); 标准答案:B

10. 以下不能定义为用户标识符的是() (2分) A.Main B._0 C._int D.sizeof 标准答案:D

11. 语句printf(\的输出结果是( ) (说明:'\\b'是退格符) (2分)

A.a\\bre\\'hi\\'y\\\\\\bou B.a\\bre\\'hi\\'y\\bou C.re'hi'you D.abre'hi'y\\bou 标准答案:C

12. 执行以下一段代码后,变量a,b,c的值分别是( ) int x=10,y=9; int a,b,c;

a=(--x==y++)?--x:++y; b=x++;

c=y; (2分)

A.a=9,b=9,c=9 B.a=8,b=8,c=10 C.a=9,b=10,c=9 D.a=1,b=11,c=10 标准答案:B

13. 以下for循环语句( )。 for(;;)

printf(\(2分)

A.判断循环结束的条件不合法 B.是无限循环 C.循环一次也不执行 D.循环只执行一次 标准答案:B

14. 以下叙述中错误的是() (2分) A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意” C.用户所定义的标识符必须以字母或下划线开头

D.用户定义的标识符中,大小写字母代表不同的标识 标准答案:A

15. 以下程序运行后的输出结果是() main() { int a;

char c=10; float f=100.0; double x;

a=f/=c*=(x=6.5);

printf(\

} (2分) A.1 65 1 6.5 B.1 65 1.5 6.5 C.1 65 1.0 6.5 D.2 65 1.5 6.5 标准答案:B

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

17. 在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII吗() (2分) A.大32 B.大26 C.小32 D.小26 标准答案:A

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

scanf(\(2分)

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

19. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值“假”,则以下不能满足要求的表达式是()。 (2分)

A.A%2==1 B.!(a%2==0) C.!(A%2) D.A%2 标准答案:C

20. 下述描述中不正确的是( )。 (2分) A.字符型数组中可以存放字符串

B.可以对字符型数组进行整体输入、输出 C.可以对整型数组进行整体进行输入、输出

D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 标准答案:C

21. 算法具有5个特性,以下选项中不属于算法特性的是() (2分) A.有穷性 B.简洁性 C.可行性 D.确定性 标准答案:B

22. 以下叙述中正确的是() (2分) A.掌握了C语言就能够编程

B.学习C语言程序设计必须学习算法 C.算法是一种抽象的东西,无法进行描述

D.学习程序设计的主要方法是“背”,应当背语法、背程序 标准答案:B

23. C语言中,整数-8在内存中的存储形式是( )。 (2分) A.1111,1111,1111,1000 B.1000,0000,0000,1000 C.0000,0000,0000,1000 D.1111,1111,1111,0111 标准答案:A

24. int i=65536; printf(\

上面程序语句在VC6.0下编译后运行结果为() (2分) A.65535 B.0 C.65536 D.1 标准答案:C

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

A.C语言可以用来编写系统软件,也可以用来编写应用软件 B.函数体只由定义部分和初始化部分组成 C.C程序的每一行只能写一条语句

D.对一个C程序进行编译的过程可以发现注释中的拼写错误 标准答案:A

26. 以下程序的输出结果是() #include

main() {

printf(\ } (2分)

A.不确定 B.0 C.–1 D.1 标准答案:B

27. 有以下程序: main() {

int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3)) printf(\}

程序运行后的输出结果是() (2分) A.1 2 3 B.2 3 4 C.2 2 3 D.2 3 3 标准答案:D

28. 以下程序段的输出是() 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

29. 表达式10!=8的值为()。 (2分)

A.ture B.非零值 C.0 D.1 标准答案:D

30. 以下能正确定义且赋初值的语句是() (2分) A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5; 标准答案:B

二、填空题 (共10题,共20分)

1. 写出下列程序的运行结果____________________________________________________________。 #include void main() {

int i,j,k;

for( i=0;i<5;i++) {

for(j=0;j

(2分)

标准答案:1. ***** ***** ***** ***** *****;

2. 设有字符型变量x的值是'1'(对应二进制数是00110001),要通过“x^y”运算,使得x的高3位不变,低5位取反,y的值用二进制数来表示应为________________________________. (2分) 标准答案:1. 00011111;

3. 在循环中,continue语句与break语句的区别是

________________________________________________________________________________________________________________________________________________________________________________________________________________________ (2分)

标准答案:1. 结束本次循环,后进行循环的条件判定,即不终止整个循环的执行过程;终止整个循

环的执行,不再进行条件判定;

4. 设有变量说明语句 int x=1,y=2;

则执行下述printf语句的输出结果是________________________________。 printf(\(2分) 标准答案:1. 1.000000;

5. 循环的嵌套是指________________________________________________________________________ (2分) 标准答案:1. 一个循环体内包括另一个完整的循环结构;

6. 阅读下述程序 #include #define N 10 main() {

int i,j,k,u; int a[N];

for (i=0;i u=a[i];

for (k=i-1;k>=j;k--) a[k+1]=a[k]; a[j]=u; }

for (i=0;i

printf(\ if ((i+1)%5==0) printf(\ } }

在执行该程序时,设输入 2 74 30 17 101 81 96 35 28 19 请写出输出结果

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________。 (2分) 标准答案:1. 101 96 81 74 35 30 28 19 17 2;

7. 设有定义\,b=10;\,则执行语句\<<2+1;\后a的值________。 (2分) 标准答案:1. 80;

8. 设有定义:int n,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。 scanf(\(2分) 标准答案:1. k;

9. 以下程序运行后的输出结果是________。 main()

{ int i=10, j=0; do

{ j=j+i; i-; while(i>2);

printf(\

} (2分)

标准答案:1. 52;

10. 已知字符A的ACSII码值为65,以下语句的输出结果是________________ char ch='B';

printf(\(2分) 标准答案:1. B,66;

三、程序设计题 (共2题,共20分)

1. 编程序从键盘上输入一个字符串(长度小于或等于80),分别统计其中的字母、数字和其他字符的数目。本题要求用指向数组首地址的指针变量来处理字符串中的字符。 (10分) 标准答案:参考答案内容: main()

{ char s[81],*p=s; int c1,c2,c3; c1=c2=c3=0; scanf(\,s); while(*p!='\0')

{ if((*p>='a')&&(*p c1++; else if((*p>='A')&&(*p<='Z')) c1++;

else if((*p>+'0')&&(*p c2++; else

c3++; p++; }

printf(\\n\, c1,c2,c3); }

2. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (10分) 标准答案:main() {

long f1,f2; int i; f1=f2=1;

for(i=1;i{ printf(\

if(i%2==0) printf(\控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ } }


C语言模拟试卷(12).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:无追索权应收帐款债权转让业务暂行办法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: