智慧树知到《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)
c语言六种基本语句
B:(x>=y)AND(y>=z)
C:(x>=y>=z)
D:(x>=y)  & (y>=z)
答案:  (x>=y)&&(y>=z)
28、下面程序的输出结果是___.