2020智慧树知到《C语言程序设计》章节测试【完整答案】_第1页
2020智慧树知到《C语言程序设计》章节测试【完整答案】_第2页
2020智慧树知到《C语言程序设计》章节测试【完整答案】_第3页
2020智慧树知到《C语言程序设计》章节测试【完整答案】_第4页
2020智慧树知到《C语言程序设计》章节测试【完整答案】_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最新资料欢迎阅读 2020智慧树知到C语言程序设计章节测试【完整答案】 智慧树知到C语言程序设计章节测试答案 第一章 1、构成c程序的基本单位是函数,有且只有一个主函数 A:对 B:错 答案: 对 2、c语言一行可以写多条语句 A:对 B:错 答案: 对 3、不正确的叙述是( )。 A:注释说明只能位于一条语句的后面。 B:C源程序的基本组成单元是函数。 C:C源程序可由一个或多个函数组成。 D:每条语句最后必须有一个分号。 答案: 注释说明只能位于一条语句的后面。 4、C源程序的调试是指对源程序进行( )。 A:录入与编辑。 B:编译、连接与运行。 C:查错与排错。 D:连接与运行。 答案:

2、 编译、连接与运行。 5、以下叙述中正确的是( )。 A:C程序的执行总是从main函数开始的。 B:一对花括号""只能作为函数体的定界符。 C:C源程序编译时注释部分的错误将被发现。 D:构成C源程序的基本单位是函数,所有函数名都可以由用户命名。 答案: C程序的执行总是从main函数开始的。 第二章 1、以下选项中可用作C程序合法实数的是 A:0.1e0 B:3.0e0.2 C:E9 D:9.12E 答案: 0.1e0 2、以下程序的输出结果是 #include main() int x=10,y=10; printf("%d %dn",x&ndas

3、h;,–y); A:10 10 B:9 9 C:9 10 D:10 9 答案: 10 9 3、若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是 A:a=(b=4)=3; B:a=b=c+1; C:a=(b=4)+c; D:a=1+(b=c=4); 答案: a=(b=4)=3; 4、写出下面程序的运行结果: #include void main( ) int x,y,z; x=y=1; z=x+,y+,+y; printf("%d,%d,%d ",x,y,z); A:2,3,1 B:2,2,1 C:1,1,1 D:2,2,3 答案: 2

4、,3,1 5、写出下面程序的运行结果: #include void main( ) int a=1,b=0; printf("%d,",b=a+b); printf("%d",a=2*b); A:3,2 B:2,2 C:1,2 D:1,1 答案: 1,2 6、写出下面程序的运行结果: main() int a,b,c=9; a=3,b=4; c%= a+b; printf(“%d”,c) A:3 B:2 C:1 D:4 答案: 2 7、写出下面程序的运行结果: #include main() int a=4,b,c; c=a+(b=2); a+=a-=a

5、*a; printf("%d,%d,%d ",a,b,c); A:4,2,6 B:-8,2,6 C:-12,2,6 D:-24,2,6 答案: -24,2,6 8、对于int n=3;执行n+=n-=n*n;后n的值是9。 A:对 B:错 答案: 错 9、在C语言中8.9e1.2是不正确的实型常量。 A:对 B:错 答案: 对 10、对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。 A:对 B:错 答案: 对 11、若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。 A:对 B:错 答

6、案: 错 12、“!”的优先级可以比“/”高。 A:对 B:错 答案: 对 13、两个char 型数据相加,其结果为char型。 A:对 B:错 答案: 错 14、若有 int i=10,j=2;则执行完i*=j+8;后的值为28。 A:对 B:错 答案: 错 15、在C程序中,%是只能用于整数运算的运算符。 A:对 B:错 答案: 对 16、以下各数均不是合法的八进制数:256、03A2、-0127。 A:对 B:错 答案: 错 17、C语言程序中,任何英语单词均可以作标识符。 A:对 B:错 答案: 错 18、若有宏定义:#define M(x,y,z) xy+z,则宏引用M(2+3,4+

7、5,6+7)通过宏展开后的表达式应为(2+3)(4+5)+6+7。 A:对 B:错 答案: 错 19、C语言中不区分大小写英文字母。 A:对 B:错 答案: 错 20、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改。 A:对 B:错 答案: 错 21、0x173是正确的十六进制常数。 A:对 B:错 答案: 对 22、逻辑表达式-5&&!8的值为1。 A:对 B:错 答案: 错 23、下面程序的输出是_ #include int main() int k=11; printf("k=%d,k=%o,k=%xn",k,k,k); return 1;

8、 A:k=11,k=12,k=11 B:k=11,k=13,k=13 C:k=11,k=013,k=0xb D:k=11,k=13,k=b 答案: k=11,k=13,k=b 24、在下列选项中,不正确的赋值语句是_. A:+t; B:n1=(n2=(n3=0); C:k=i=j; D:a=b+c=1; 答案: a=b+c=1; 25、下面程序的输出的是_. #include void main() int x=10,y=3; printf("%dn",y=x/y); A:0 B:1 C:3 D:不确定的值 答案: 3 26、已知字母A的ASCII码为十进制的65,下面程序

9、的输出是_. #include void main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf("%d,%cn",ch1,ch2); A:67,D B:B,C C:C,D D:不确定的值 答案: 67,D 27、为表示关系x≥y≥z,应使用C语言表达式_. A:(x>=y)&&(y>=z) B:(x>=y)AND(y>=z) C:(x>=y>=z) D:(x>=y) & (y>=z) 答案: (x>=y)&&(y>=z

10、) 28、下面程序的输出结果是_. #include void main() int a=-1, b=4, k; k=(+a<=0)&&(b–<=0); printf("%d,%d,%dn",k,a,b); A:1,1,2 B:1,0,3 C:0,1,2 D:0,0,3 答案: 0,0,3 29、若有以下定义和语句: int a=010, b=0x10, c=10; printf("%d,%d,%dn",a,b,c); 则输出结果是_. A:10,10,10 B:8,16,10 C:8,10,10 D:8,8,10

11、 答案: 8,16,10 30、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式 x+a%3*(int)(x+y)%2/4的值是_. A:2.4 B:2.5 C:2.75 D:0 答案: 2.5 31、假定w、x、y、z、m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(w 则该程序段执行后,m的值是_.假定w、x、y、z、m均为int型变量,有如下程序段: w=1;x=2;y=3;z=4; m=(w 则该程序段执行后,m的值是_. A:4 B:3 C:2 D:1 答案: 1 32、有以下程序,其中k的初值为八进制数 #include mai

12、n() int k=011; printf("%dn",k+); 程序运行后的输出结果是_ A:12 B:11 C:10 D:9 答案: 9 33、有以下程序 #include #define SUB(a) (a)-(a) main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf("%dn",d); 程序运行后的输出结果是_ A:0 B:-12 C:-20 D:10 答案: -20 34、有以下定义语句,编译时会出现编译错误的是_ A:char a=”a”; B:char a=”n”; C:char a=”aa”; D

13、:char a=”x2d” 答案: char a=”aa”; 35、以下选项中,不正确的 C 语言浮点型常量是_ A:160. B:0.12 C:2e4.2 D:0.0 答案: 2e4.2 36、以下选项中,_是不正确的 C 语言字符型常量。 A:a B:x41 C:101 D:"a" 答案: "a" 37、以下合法的标识符是_。 A:int B:_a12 C:3ce D:stu# 答案: _a12 38、已知int x=023,表达式+x的值是_。 A:17 B:18 C:19 D:20 答案: 20 39、已知int x=10,表达式x+=x-=x-

14、x的值是_。 A:10 B:40 C:30 D:20 答案: 20 40、在 C 语言中,字符型数据在计算机内存中,以字符的_形式存储。 A:原码 B:反码 C:ASCII 码 D:BCD码 答案: ASCII 码 41、若变量x、i、j和k都是int型变量,则计算下面表达式后,x的值是_。 x=(i=4,j=16,k=32) A:4 B:16 C:32 D:52 答案: 32 42、下列不正确的转义字符是_。 A: B: C:074 D:0 答案: 074 43、image.png A:a/b/ce3 B:3ae/b/c C:3ae/bc D:ae/c/b3 答案: 3ae/bc 44、要为

15、字符型变量 a赋初值,下列语句中哪一个是正确的_。 A:char a="3" B:char a=“3”; C:char a=%; D:char a=*; 答案: char a=“3”; 45、字符串"ABC"在内存占用的字节数是_。 A:3 B:4 C:6 D:8 答案: 4 46、若有说明语句:char c=72;则变量c在内存占用的字节数是_。 A:1 B:2 C:3 D:4 答案: 1 47、C语言中,要求运算对象只能为整数的运算符是_。 A:% B:/ C:> D:* 答案: % 48、若已定义 x 和 y为double 类型,则表达式 x

16、=1,y=x+3/2 的值是_。 A:1 B:2 C:2.0 D:2.5 答案: 2.0 49、sizeof (double)的结果值是_。 A:8 B:4 C:2 D:出错 答案: 8 50、以下用户标识符中,合法的是_。 A:int B:nit C:123 D:a+b 答案: nit 51、表达式18/4*sqrt(4.0)/8值的数据类型是_。 A:int B:float C:double D:不确定 答案: double 第三章 1、有以下程序 #include void main() char a,b,c,d; scanf(“%c%c“,&a,&b); c=getch

17、ar( ); d=getchar( ); printf(“%c%c%c%cn”,a,b,c,d); 当执行程序时,按下列方式输入数据 12 34 则输出结果是 A:1234 B:12 C:12 回车 3 D:12 回车34 答案:c 2、若有定义:int a,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是 A:3 空格5 B:3,5 C:3分号5 D:35 答案:c 3、以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97) A:printf("%cn&

18、quot;,a-32); B:printf("%dn",A); C:printf("%cn",65); D:printf("%cn",B-1); 答案:b 4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下不能将变量c中的大写字母转换为小写字母的语句是 A:c=(c-“A”)%26+”a”; B:c=c+32; C:c=c-“A”+”a”; D:c=(“A”+c)%26-“a”; 答案:D 5、在C语言中,每个语句和数据定义是用_ 结束 A:句号 B:逗号 C:分号 D:括号 答案:C 6、“putchar(

19、70); ” 这一C语句输出的结果为( ) A:70 B:F C:提示语法错误 D:C 答案:B 7、C 语言标准格式输入函数scanf()的参数表中要使用变量的地址值。 A:对 B:错 答案:A 8、表达式语句和表达式没有什么区别。 A:对 B:错 答案:B 9、C 语言标准输入操作中,gets()函数一次只可读取一个字符。 A:对 B:错 答案:B 10、C 语言程序中可以有多个函数,但只能有一个主函数。 A:对 B:错 答案:A 11、C 语言标准输出操作中,putchar()函数可以输出显示一个字符串。 A:对 B:错 答案:B 12、C 语言标准格式输出函数printf()的参数表是

20、由若干个表达式组成。 A:对 B:错 答案:A 13、C 语言标准输入操作中,gets()函数一次只可读取一个字符。 A:对 B:错 答案:B 14、以下叙述中正确的是 A:用C程序实现的算法必须要有输入和输出操作 B:用C程序实现的算法可以没有输出但必须要有输入 C:用C程序实现的算法可以没有输入但必须要有输出 D:用C程序实现的算法可以既没有输入也没有输出 答案: 15、在C语言中,执行下面两个语句后,输出的结果为( )。 char c1=97, c2=98;printf("%d %c",c1,c2); A:97 98 B:97 b C:a 98 D:a b 答案:B

21、16、下列语句中符合C语言语法的赋值语句是 A:a=7+b+c=a+7; B:a=7+b+=a+7; C:a=7+b,b+,a+7 D:a=7+b,c=a+7; 答案:D 17、在C语言语言中,退格符是( ) A:n B:t C:f D:b 答案:D 18、putchar()函数可以向终端输出一个 A:整型变量表达式值 B:实型变量值 C:字符串 D:字符或字符型变量值 答案:D 19、以下选项中不是C语句的是( )。 A:+t B:; C:k=i=j; D:a/=b=1;b=a%2; 答案:A 20、有定义语句:int a=5,b,不能给b赋2的赋值语句是( )。 A:b=a/2; B:b=

22、b+2; C:b=2%a; D:b=5;b=2; 答案:B 21、已有定义int a=-2;和输出语句printf("%8lx",a);以下正确的叙述是( )。 A:整型变量的输出形式只有%d一种 B:%x是格式符的一种,它可以适用于任何一种类型的数据 C:%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的 D:%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 答案:C 22、以下语句的输出结果是 ( )。 printf("%dn",strlen("t"065xffn"); A:5 B:14 C:8 D

23、:输出项不合法,无法正常输出 答案:A 23、若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是( )。 A:10<回车>22<回车>33<回车> B:10.0,22.0,33.0<回车> C:10.0<回车>22.0 33.0<回车> D:10 22<回车>33<回车> 答案:C 24、使用scanf("a=%d,b=%d"

24、;,&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )。 A:a=50 b=50 B:50 50 C:a=50,b=50 D:50,50 答案:C 25、调用getchar和putchar函数时,必须包含的头文件是( )。 A:stdio.h B:stdlib.h C:define D:以上都不对 答案:A 26、以下叙述中不正确的是( )。 A:调用printf函数时,必须要有输出项 B:使用putchar函数时,必须在之前包含头文件stdio.h C:在C语言中,整数可以以十进制、八进制或十六进制的形式输出 D:使用putchar函数可以不要输出项 答案:

25、 27、putchar()函数可以向终端输出一个( )。 A:整型变量表达式值 B:实型变量值 C:字符串 D:字符或字符型变量 答案:D 28、用getchar()函数可以从键盘读入一个( )。 A:整型变量表达式值 B:实型变量值 C:字符串 D:字符或字符型变量 答案:D 第四章 1、以下程序段的输出结果是 main() int i=1,j=1,k=2; if(j+|k+)&&i+) printf("%d,%d,%dn",i,j,k); A:1,1,2 B: 2,2,1 C:2,2,2 D:2,2,3 答案: 2、当c的值不为0时,能正确将c的值赋给变

26、量a,b的是 A:c=b=a B:(a=c)&&(b=c) C:(a=c)|(b=c) D:a=c=b 答案:B 3、以下程序的运行结果是 main() int a=010, b=10; printf("%d,%dn" , +a, b-); A:11, 10 B:9, 10 C: 011, 10 D: 011, 9 答案: 4、已知int n,i=1,j=2;执行语句n=i A:1,2 B:1,3 C:2,3 D:2,2 答案:D 5、#include void main() int x=1,y=0; if(!x) y+; else if(x=0) if (

27、x) y+=2; else y+=3; printf("%dn",y); 程序运行后的输出结果是 A:3 B:2 C:1 D:0 答案: 6、#include main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case1:b+;break; case 2:a+;b+;break; case 3:a+;b+;break; default:a+;b+; printf(“na=%d,b=%d”,a,b); A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2

28、以上程序的输出是 A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案: 7、下面程序的输出结果是: #include void main() int a=2, b=-1, c=2; if(a if(b<0) c=0; else c+=1; printf("%d", c); A:2 B:1 C:3 D:4 答案:A 8、下程序功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出,请填空。 #include void main() int x=256; printf(“%d-%d-%d”,_,x/10%10,x/1

29、00); A:x/10 B:x%10 C:x/10%10 D:x/100%10 答案:B 9、有以下程序 #include void main() int x; scanf("%d",&x); if(x>15) printf("%d",x-5); if(x>10) printf("%d",x); if(x>5) printf("%d ",x+5); 若程序运行时从键盘输入12<回车>,则输出结果为_ A:12 B:17 C:12 17 D:7 答案:C 10、有以下程序(说明:

30、字符0的ASCII码值为48) #include main() char c1,c2; scanf("%d",&c1); c2=c1+9; printf("%c%c ",c1,c2); 若程序运行时从键盘输入48<回车>,则输出结果为_ A:09 B:0 C:9 D:0 9 答案:A 11、在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )。 A:1 B:2 C:3 D:0 答案:B 12、设有如下定义: i

31、nt a=2,b; 则执行b=a&&1;语句后,b的结果是( )。 A:0 B:1 C:2 D:3 答案:B 13、设a=3,b=4,c=5,则表达式!(a>b)&&!c|1的结果是( )。 A:1 B:0 C:2 D:4 答案:A 14、能正确表示a 和 b同时为正或同时为负的逻辑表达式是( )。 A:(a>=0|b>=0)&&(a<0|b<0) B:(a>=0&&b>=0)&&(a<0&&b<0) C:(a+b>0)&&

32、(a+b<=0) D:a*b>0 答案:D 15、以下程序段的输出结果是( )。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%dn",a,b,c); A:a=10 b=50 c=10 B:a=10 b=30 c=10 C:a=50 b=30 c=10 D:a=50 b=30 c=50 答案:B 16、有如下程序 intmain( ) float x=2.0,y; if(x<0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0

33、; printf(“%fn”,y); return 0; 该程序的输出结果是( )。 A:0.000000 B:0.250000 C:0.500000 D:1.000000 答案: 17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。 A:a<>0 B:!a C:a=0 D:a 答案:D 18、有如下程序段: int x =1, y=1 ; int m , n; m=n=1; switch (m) case 0 : x=x2; case 1: switch (n) case 1 : x=x2; case 2 : y=y2;break; cas

34、e 3 : x+; case 2 : x+;y+; case 3 : x=2;y*=2;break; default:x+;y+; 执行完成后,x和y 的值分别为( )。 A:x=6 y=6 B:x=2 y=1 C:x=2 y=2 D:x=7 y=7 答案:A 19、以下程序的输出结果是( ) intmain() int a=1,b=3,c=5,d=4,x; if(a if(c else if(a if(b else x=3; else x=6; else x=7; printf(“x=%d”,x); return 0; A:1 B:2 C:3 D:6 答案:B 20、在C语言中,设x=1,

35、y=2, 执行表达式 (x>y)?x+:+y以后x和y的值分别为( )。 A:1和2 B:1和3 C:2和2 D:2和3 答案:B 21、以下程序段,运行后的输出结果是( )。 char m=b; if(m+>b) printf("%cn",m); else printf("%cn",m–); A:a B:b C:c D:d 答案:C 22、以下程序段的输出结果是( )。 int a=13,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default:m

36、+; case 0:m+;break; printf("%d",m); A:1 B:2 C:3 D:4 答案:C 第五章 1、下述for循环语句_ int i,k; for (i=0,k=-1;k=1;i+,k+) printf(“*”); A:判断循环语句结束的条件非法 B:是无限循环 C:只循环一次 D:一次也不循环 答案:B 2、#include main( ) int x=0,y=5,z=3; while(z–>0&&+x<5) y=y-1; printf(“%d,%d,%dn”,x,y,z); 程序执行后的输出结果是 A:3

37、,2,0 B:3,2,-1 C:4,3,-1 D:5,-2,-5 答案:B 3、有以下程序 main( ) int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%dn”,s); 程序执行后的输出结果是 A:自然数19的累加和 B:自然数110的累加和 C:自然数19中的奇数之和 D:自然数110中的偶数之和 答案:A 4、以下程序执行后的输出结果是() main( ) int i,n=0; for(i=2;i<5;i+) do if(i%3) continue; n+; while(!i); n+; printf(“n=%dn”,n); A:

38、n=5 B:n=2 C:n=3 D:n=4 答案:D 5、程序运行后的输出结果是 #include main() int i,j,m=2; for(i=1;i<3;i+) for(j=3;j>0;j–) if(i+j>3) break; m=ij; printf(“m=%dn”,m); A:m=6 B:m=2 C:m=4 D:m=5 答案:B 6、以下程序运行后的输出结果是 #include main() int a=1,b=2; for(;a<8;a+) b+=a;a+=2; printf(“%d,%dn”,a,b); A:9,18 B:8,11 C:7,

39、11 D:10,14 答案:D 7、以下程序运行后的输出结果是 main() int c=0,k; for(k=1;k<3;k+) switch(k) default:c+=k; case 2:c+;break; case 4:c+=2;break; printf("%dn",c); A:3 B:5 C:7 D:9 答案:A 8、以下程序的运行结果是 #include main() int x=8; for( ; x>0; x–) if(x%3) printf(“%d,”,x–); continue; printf(“%d,”,&ndas

40、h;x); A:7,4,2 B:8,7,5,2 C:9,7,6,4 D:8,5,4,2 答案:D 9、下述程序的输出结果 #include main() int y=10; while(y–); printf(“y=%d”,y); A:y=0 B:y=1 C:y=随机值 D:y=-1 答案:D 10、下面的程序 的结果是: main() int x=3; do printf("%dn",x-=2); while(!(–x); A:输出的是1 B:输出的是1和-2 C:输出的是3和0 D:是死循环 答案: 11、下述for语句 int i,x; for

41、 (i=0,x=1;i<=9&&x!=876;i+) scanf(%d”,&x); A:最多循环10次 B:最多循环9次 C:无限循环 D:一次也不循环 答案:A 12、有以下程序 #include main() int s; scanf("%d",&s); while(s>0) switch(s) case 1:printf("%d",s+5); case 2:printf("%d",s+4); break; case 3:printf("%d",s+3); default:printf("%d",s+1);break; scanf("%d",&s); 运行时,若输入1 2 3 4 5 0<回车>,则输出结果是 A:6566456 B:66656 C:66666 D:666656 答案:A 13、下面程序段的输出结果是_.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论