智慧树知到《计算机程序设计(C语言)》章节测试答案
第一章
1、一个C程序可以有( )个主函数。
A:1
B:2
C:3
D:多个
答案: 1
2、C语言是函数式的语言。
A:对
B:错
答案: 对
3、C语言是高级语言。
A:对
B:错
答案: 对
4、Visual C++不支持C语言。
A:对
B:错
答案: 错
5、C语言是编译式的语言。
A:对
B:错
答案: 对
第二章
1、double x;scanf(“%lf”,&x);不可以赋值给x变量的常量是( ).
A:123
B:100000
C:A’
D:”abc”
答案: “abc”
2、下列程序段的输出结果为().float x=213.82631;
printf(“%3d”,(int)x);
A:213.82
B:213.83
C:213
D:3.8
答案: 213
3、下列程序的输出结果是().
main()
{char c1=97,c2=98;
printf(“%d %c”,c1,c2);
}
A:97 98
B:97 b
C:a 98
D:a b
答案: 97 b
4、以下标识符中,不能作为合法的C用户定义标识符的是( ).
A:a3_b3
B:void
C:_123
D:IF
答案: void
5、以下标识符中,不能作为合法的C用户定义标识符的是( ).
A:answer
B:to
C:signed
D:_if
答案: signed
第三章
1、逻辑运算低于关系运算.
A:对
B:错
答案:
2、x=y+8 等价于 x=x(y+8).
A:对
B:错
答案:
3、关系运算高于算术运算.
A:对
B:错
答案:
4、若 a=3,b=2,c=1 则关系表达式”(a>b)==c” 的值为”真”.
A:对
B:错
答案:
5、若给定条件表达式(M)?(a++):(a–),则其中表达式M( ).
A:和(M==0)等价
B:和(M==1)等价
C:和(M!=0)等价
D:和(M!=1)等价
答案:
第四章
1、结构化程序设计所规定的三种基本控制结构是( ).
A:输入、处理、输出
B:树形、网形、环形
C:顺序、选择、循环
D:主程序、子程序、函数
答案:
2、C语言中用于结构化程序设计的三种基本结构是( ).
A:顺序结构、选择结构、循环结构
B:if、switch、break
C:for、while、do-while
D:if、for、continue
答案:
3、int a=7,b=9,t;t=(a>b)?a:b;t的值为7.
A:对
B:错
答案:
4、赋值语句中的赋值运算符的左侧只能是唯一的变量。
A:对
B:错
答案:
5、int a=10;printf(“%d”,a++);输出11.
A:对
B:错
答案:
第五章
1、在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式( ).
A:只能用逻辑表达式
B:只能用关系表达式
C:只能用逻辑表达式或关系表达式
D:可用任意表达式
答案:
2、int a=3,b=2,c=1;
if(a>b>c)a=b;
else a=c;
则a的值为( ).
A:3
B:2
C:1
D:0
答案:
3、a=1;b=2;c=3;
if(a<c) b=a;a=c;c=b;则c的值为( )
A:1
B:2
C:3
D:0
答案:
4、以下不正确的if语句形式是( ).
A:if(x>y&&x!=y);
B:if(x==y) x+=y;
C:if(x!=y) scanf(“%d”,&x) else scanf(“%d”,&y);
D:if(x<y) {x++;y++;}
答案:
5、下面程序的输出结果是main()
{int x,y,z;
x=1;y=2;z=3
if(x>y)
if(x>z) printf(“%d”,x);
else printf(“%d,y);
printf(“%dn”,z);
}
A:3
B:13
C:23
D:无输出
答案:
第六章
1、选择结构中的条件与循环结构中循环成立的条件,
在写法上可以是任一表达式,但其值只能被判断为”真”或”假”.
哪个数作为逻辑”假”值( )
A:-1
B:1
C:非零的数
D:0
答案:
2、以下程序的运行结果是( ).
main()
{ int n;
for(n=1;n<=10;n++)
{
if(n%3==0) continue;
printf(“%d”,n);
}
}
A:12457810
B:369
C:12
D:1234567890
答案:
3、C语言中 while 和 do-while 循环的主要区别是( ).
A:do-while 的循环体至少无条件执行一次
B:while的循环控制条件比 do-while的循环控制条件更严格
C:do-while 允许从外部转到循环体内
D:do-while 的循环体不能是复合语句
答案:
4、以下叙述正确的是( ).
A:do-while语句构成的循环不能用其它语句构成的循环来代替.
B:do-while语句构成的循环只能用break语句退出.
C:用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D:用do-while语句构成的循环,在while后的表达式为零时结束循环
答案:
5、语句while(!E);中的表达式!E等价于( ).
A:E==0
B:E!=1
C:E!=0
D:E==1
答案:
第七章
1、static char str[10]=”China”;数组元素个数为( ).
A:5
B:6
C:9
D:10
答案:
2、在C语言中,一维数组的定义方式为:类型说明符数组名( ).
A:[常量表达式]
B:[整型表达式]
C:[整型常量]或[整型表达式]
D:[整型常量]
答案:
3、若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( ).
A:2
B:3
C:4
D:无确定值
答案:
4、如果有一个字符串,其中第十个字符为’n’,则此字符串的有效字符为9个.
A:对
B:错
答案:
5、若有
char s1[]=”abc”,s2[20],*t=s2;gets(t);
则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是( ).
A:if(strcmp(s1,s1)>0)puts(s2);
B:if(strcmp(s2,s1)>0)puts(s2);
C:if(strcmp(s2,t)>0)puts(s2);
D:if(strcmp(s1,t)>0)puts(s2);
答案:
第八章
1、下列定义不正确的是( ).
A:#define PI 3.141592
B:#define S345
C:int max(x,y); int x,y; { }
D:static char c;
答案:
2、以下程序的输出结果为( ).
main()
{int a=1,b=2,c=3,d=4,e=5;
printf(“%dn”,func((a+b,b+c,c+a),(d+e)));
}
int func(int x,int y)
{
return(x+y);
}
A:15
B:13
C:9
D:函数调用出错
答案:
3、下列程序运行结果为: ( )
#define P 3
#define S(a) Paa
main()
{int ar;
ar=S(3+5);
printf(“n%d”,ar);
}
A:192
B:29
C:27
D:25
答案:
4、以下函数调用语句中实参的个数是().
func((e1,e2),(e3,e4,e5));
A:2
B:3
C:5
D:语法错误
答案:
5、以下函数调用语句中实参的个数是().
exce((v1,v2),(v3,v4,v5),v6);
A:3
B:4
C:5
D:6
答案:
第九章
1、对结构体类型的变量的成员可以象普通变量一样参与各种运算.
A:对
B:错
答案:
2、static struct {int a1;float a2;char a3;}a[10]={1,3.5,’A’};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是( ).
A:a[1]
B:a[-1]
C:a[0]
D:a[10]
答案:
3、共用体类型变量不能被初始化.
A:对
B:错
答案:
4、union u
{
char ch;
int i;
float f;
};
定义了共用体变量.
A:对
B:错
答案:
5、对枚举类型名的定义enum a {sum=9,mon=-1,tue};是正确的.
A:对
B:错
答案:
第十章
1、若有int p,a; p=&a,下列说法不正确的是( ).
A:&p==&a
B:&a==a
C:(p)++==a++
D:*(p++)==a++
答案:
2、若有下列定义,则对a数组元素地址的正确引用是( ).
int a[5],*p=a;
A:&a[5]
B:p+2
C:a++
D:&a
答案:
3、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是( ).
A:&t[3][2]
B:t[3]
C:&t[1]
D:t[2]
答案:
4、若有下列定义,则对a数组元素地址的正确引用是( ).
int a[5],p=a;
A:(p+5)
B:p+2
C:(a+2)
D:*&a[5]
答案:
5、char h,s=&h;可将字符H通过指针存入变量h中的语句是( ).
A:s=H;
B:*s=’H’;
C:s=H;
D:s=’H’
答案:
老友网www.andlaou.com免费为你分享