智慧树知到《C语言程序设计》章节测试答案
第一章
1、构成c程序的基本单位是函数,有且只有一个主函数
A:对
B:错
答案: 对
2、c语言一行可以写多条语句
A:对
B:错
答案: 对
3、不正确的叙述是()。
A:注释说明只能位于一条语句的后面。
B:C源程序的基本组成单元是函数。
C:C源程序可由一个或多个函数组成。
D:每条语句最后必须有一个分号。
答案: 注释说明只能位于一条语句的后面。
4、C源程序的调试是指对源程序进行()。
A:录入与编辑。
B:编译、连接与运行。
C:查错与排错。
D:连接与运行。
答案: 编译、连接与运行。
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 <stdio.h>
main()
{ int x=10,y=10;
printf(%d %d\n,x–,–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 <stdio.h>
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,3,1
5、写出下面程序的运行结果:
#include <stdio.h>
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 <stdio.h>
main()
{ int a=4,b,c;
c=a+(b=2);
a+=a-=a*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:错
答案: 错
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、若有宏定义:#defineM(x,y,z)xy+z,则宏引用M(2+3,4+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<stdio.h>
int main()
{ int k=11;
printf(k=%d,k=%o,k=%x\n,k,k,k);
return 1;
}
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<stdio.h>
void main()
{int x=10,y=3;
printf(%d\n,y=x/y);
}
A:0
B:1
C:3
D:不确定的值
答案: 3
26、已知字母A的ASCII码为十进制的65,下面程序的输出是_.
#include<stdio.h>
void main()
{char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf(%d,%c\n,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)
28、下面程序的输出结果是___.
#include<stdio.h>
voidmain()
{
int a=-1, b=4, k;
k=(++a<=0)&&(b–<=0);
printf(%d,%d,%d\n,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,%d\n,a,b,c);
则输出结果是____.
A:10,10,10
B:8,16,10
C:8,10,10
D:8,8,10
答案: 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<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;
则该程序段执行后,m的值是___.假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;
则该程序段执行后,m的值是___.
A:4
B:3
C:2
D:1
答案: 1
32、有以下程序,其中k的初值为八进制数
#include <stdio.h>
main()
{int k=011;
printf(%d\n,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(%d\n,d);
}
程序运行后的输出结果是___
A:0
B:-12
C:-20
D:10
答案: -20
34、有以下定义语句,编译时会出现编译错误的是___
A:char a=’a’;
B:char a=’\n’;
C:char a=’aa’;
D: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、已知intx=023,表达式++x的值是___。
A:17
B:18
C:19
D:20
答案: 20
39、已知intx=10,表达式x+=x-=x-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、要为字符型变量 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=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 <stdio.h>
void main()
{
char a,b,c,d;
scanf(%c%c,&a,&b);
c=getchar( );
d=getchar( );
printf(%c%c%c%c\n,a,b,c,d);
}
当执行程序时,按下列方式输入数据
12↙
34↙
则输出结果是
A:1234
B:12
C:12 回车 3
D:12 回车34
答案:
2、若有定义:int a,b;,通过语句scanf(%d;%d,&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是
A:3 空格5
B:3,5
C:3分号5
D:35
答案:
3、以下不能输出字符A的语句是(注:字符A的ASCIl码值为65,字符a的ASCIl码值为97)
A:printf(%c\n,'a'-32);
B:printf(%d\n,'A');
C:printf(%c\n,65);
D:printf(%c\n,'B'-1);
答案:
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’;
答案:
5、在C语言中,每个语句和数据定义是用__ 结束
A:句号
B:逗号
C:分号
D:括号
答案:
6、putchar(70); 这一C语句输出的结果为( )
A:70
B:F
C:提示语法错误
D:C
答案:
7、C 语言标准格式输入函数scanf()的参数表中要使用变量的地址值。
A:对
B:错
答案:
8、表达式语句和表达式没有什么区别。
A:对
B:错
答案:
9、C 语言标准输入操作中,gets()函数一次只可读取一个字符。
A:对
B:错
答案:
10、C 语言程序中可以有多个函数,但只能有一个主函数。
A:对
B:错
答案:
11、C 语言标准输出操作中,putchar()函数可以输出显示一个字符串。
A:对
B:错
答案:
12、C 语言标准格式输出函数printf()的参数表是由若干个表达式组成。
A:对
B:错
答案:
13、C 语言标准输入操作中,gets()函数一次只可读取一个字符。
A:对
B:错
答案:
14、以下叙述中正确的是
A:用C程序实现的算法必须要有输入和输出操作
B:用C程序实现的算法可以没有输出但必须要有输入
C:用C程序实现的算法可以没有输入但必须要有输出
D:用C程序实现的算法可以既没有输入也没有输出
答案:
15、在C语言中,执行下面两个语句后,输出的结果为( )。
char c1=97, c2=98;printf(%d %c,c1,c2);
A:9798
B:97b
C:a98
D:ab
答案:
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;
答案:
17、在C语言语言中,退格符是( )
A:\n
B:\t
C:\f
D:\b
答案:
18、putchar()函数可以向终端输出一个
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量值
答案:
19、以下选项中不是C语句的是()。
A:++t
B:;
C:k=i=j;
D:{a/=b=1;b=a%2;}
答案:
20、有定义语句:int a=5,b,不能给b赋2的赋值语句是( )。
A:b=a/2;
B:b=b+2;
C:b=2%a;
D:b=5;b=2;
答案:
21、已有定义int a=-2;和输出语句printf(%8lx,a);以下正确的叙述是( )。
A:整型变量的输出形式只有%d一种
B:%x是格式符的一种,它可以适用于任何一种类型的数据
C:%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D:%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
答案:
22、以下语句的输出结果是 ( )。
printf(%d\n,strlen(\t\\065\xff\n));
A:5
B:14
C:8
D:输出项不合法,无法正常输出
答案:
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.033.0<回车>
D:10 22<回车>33<回车>
答案:
24、使用scanf(a=%d,b=%d,&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )。
返回栏目