智慧树知到《C语言程序设计(山东联盟-山东英才学院)》章节测试答案
第一章单元测试
1、C语言程序扩展名为 .exe,它属于()
A.可执行文件
B.目标文件
C.源程序文件
D.库文件
正确答案:可执行文件
2、在绘制程序流程图时,表示“输入输出框”的符号是()
A.

B.

C.

D.

正确答案:

3、在绘制程序流程图时,下面哪个表示“选择结构”()
A.

B.

C.

D.

正确答案:

4、在绘制程序N-S图时,下面哪个表示“直到型循环结构”()
A.

B.

C.

D.

正确答案:

5、下列关于C语言特点的描述,不正确的是()
A.C语言兼有高级语言和低级语言的双重特点,执行效率高
B.C语言既可用来编写应用软件,又可用来编写系统软件
C.C语言的可移植性差
D.C语言是一种结构化程序设计语言
正确答案:C语言的可移植性差
第二章单元测试
1、十六进制数0X11对应的十进制数是()
A.2
B.11
C.17
D.其它答案都不正确
正确答案:17
2、下列C语言书写形式中属于合法的十进制整型常量的是 ()
A.82u
B.045L
C.0X7F4
D.0x81p
正确答案:82u
3、字符';3';的ASCII码值是()
A.3
B.48
C.51
D.其它答案都不正确
正确答案:51
4、下列合法的C语言标识符是()
A.float
B.()xyz
C.2x
D.a&b
正确答案:()xyz
5、下面哪个是合法的C语言字符型变量定义()
A.Char a
B.float a1,a2
C.char()a1,()a2
D.CHAR a1,a2,a3
正确答案:char()a1,()a2
第三章单元测试
1、若有定义float a;,执行表达式a=1/2后,a的值是()
A.0
B.1
C.0.5
D.其它答案都不正确
正确答案:0
2、已知 int n=3,k=1;,执行语句n*=k+1后,n的值是()
A.3
B.4
C.6
D.其它答案均不正确
正确答案:6
3、 C语言中,s=--i; 等价于()
A.s=i; i=i-1
B.i=i-1; s=i
C.s=i; s=s-1
D.s=i; s=i-1
正确答案:i=i-1; s=i
4、已知unsigned char a=0x53,b=0x31;,表达式a&;b的值是()
A.0x11
B.0x73
C.0x62
D.其它答案都不正确
正确答案:0x11
5、已知int a=18;,表达式a>>2的值是()
A.72
B.5
C.4.5
D.4
正确答案:4
第四章单元测试
1、以下语句的输出结果是()
int x=29;printf(';%d,%o,%x';,x,x,x)。
A.29,35,1d
B.29,1d,35
C.35,29,1d
D.其它答案都不正确
正确答案:29,35,1d
2、设x、y均为整型变量,且x=6,y=8,则以下语句的输出结果是()
printf(';%d,%d';,x--,--y)。
A.6,8
B.6,7
C.5,7
D.其它答案均不正确
正确答案:6,7
3、putchar函数可以向终端输出一个()
A.整型变量表达式
B.整型变量值
C.字符串
D.字符
正确答案:字符
4、已知i , j , k为int 型变量,若从键盘输入:1 , 2 , 3↙(↙表示回车),
使i的值为1,j的值为2,k的值为3,则函数形式为()
A.scanf (“ %2d %2d %2d ”, &i , &j , &k )
B.scanf (“ %d %d %d ”, &i , &j , &k )
C.scanf (“ %d , %d , %d ”, &i , &j , &k )
D.scanf (“ i = %d , j = %d , k = %d ” , &i , &j , &k )
正确答案:scanf (“ %d , %d , %d ”, &i , &j , &k )
5、如果x为float类型变量,则以下语句的输出结果为()
x=123.456;printf (“%4.2f\n”,x)。
A.宽度不够,不能输出
B.123.45
C.123.456
D.123.46
正确答案:123.46
第五章单元测试
1、已知定义语句:int x=3, y=0, z=0; 则值为0的表达式是()
A.x&&y
B.x||z
C.x||z+2&&y-z
D.!((x正确答案:x&&y
2、 if语句的格式如下:if(表达式)语句;其中的“表达式”()
A.必须是逻辑表达式
B.必须是关系表达式
C.可以是逻辑表达式或关系表达式
D.可以是任意合法的表达式
正确答案:可以是任意合法的表达式
3、执行下列程序段,若从键盘输入-10,则结果是()
main()
{ ;int x,y; scanf(';%d';,&;x); if(x>;0) ; y=1;
; else if(x==0) ; y=0; else ; y=-1; printf(';%d';,y);}
A.1
B.0
C.-1
D.其它答案都不正确
正确答案:-1
4、下列程序段执行后,y的值是()
int x=80,y;y=x>50?60:70。
A.50
B.60
C.70
D.80
正确答案:60
5、执行下列程序段,若从键盘输入字符y,则结果是()
int x=10, y=20, z;char ch;scanf("%c", &ch);switch(ch)
{ case 'x':z=x+y;break; case 'y':z=x-y; default:z=0;}
printf("%d",z)。
A.0
B.-10
C.30
D.以上答案都不对
正确答案:0
第六章单元测试
1、下列各C语言程序段中不会构成死循环的程序段是()
A.int x=5;while(x);--x
B.int x=5;while(x=2)
C.int x;for(x=5;x<10;x++)
x--
D.int x=5;do
{++x;}while(x>=100)
正确答案:int x=5;do
{++x;}while(x>=100)
2、下列程序段的for循环,其循环次数是()
main()
{int i,k; k=0; for (i=0;i<=9&&k!=10;i++)
{ scanf("%d",&k);printf("%d\n",k);}
return 0;}
A.0次
B.最多10次
C.最多11次
D.无穷次
正确答案:最多10次
3、下列程序的运行结果是()
#include
int main()
{ int x=3,y=6,z=0; while(x++!=(y=y-1))
;{z++; if(y<;x) break;}
;printf(';x=%d,y=%d,z=%d';,x,y,z); return 0;}
A.x=4,y=4,z=1
B.x=5,y=4,z=1
C.x=5,y=4,z=2
D.x=5,y=5,z=1
正确答案:x=5,y=4,z=1
4、以下程序的输出结果是()。
int main ()
{ int i ,j ,s=0 ; for (i=1 ; i<=15 ; i+=4 )
for (j=3; j<=19 ; j+=4 )
s++ ; printf ("%d\n" , s ) ;
return 0;
}
A.15
B.16
C.20
D.24
正确答案:20
5、以下程序的输出结果是()。
int main()
{int i=0,s=0; while(++i)
{ if(i==10) break; if(i%3!=1) continue; s=s+i;
}
printf("s=%d\n",s); return 0;
}
A.s=12
B.s=11
C.s=10
D.s=9
正确答案:s=12
第七章单元测试
1、有如下定义int a[6],b[3][4];则对数组元素引用正确的是()
A.a[2-1]
B.a(5)
C.b[0][4]
D.b[2,3]
正确答案:a[2-1]
2、下列数组的定义和初始化中,错误的是()
A.int ;a [ 5 ] = { 1, 2 , 3 , 4, 5 }
B.int ;a [ 5 ] = { 1, 2 , 3 }
C.int ;a [ ][2] = {{1, 2}, {3 , 4}}
D.int ;a [2 ][ ] = {{1, 2}, {3 , 4}}
正确答案:int ;a [2 ][ ] = {{1, 2}, {3 , 4}}
3、已知int型变量占4个字节的存储单元,则int a[5]={10,15,20};定义的数组a在内存中所占字节数为()
A.12
B.20
C.40
D.3
正确答案:20
4、下列对C语言字符数组的描述中错误的是()
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以用strcpy函数对字符数组中的字符串进行复制
D.可以用关系运算符对字符数组中的字符串进行比较
正确答案:可以用关系运算符对字符数组中的字符串进行比较
5、给出如下定义:
char x [ ] = { “ abcdefg ” };char y [ ] = { ‘a’, ‘b’, ‘c’, ‘d ’, ‘e’, ‘f ’, ‘g’ , ‘\0’};则数组x与数组y等价
A.正确
B.错误
正确答案:正确
第八章单元测试
1、以下函数值的类型是()
fun (float x)
{ float y ; y = x * 3 + 5; return (y ) ; }
A.int
B.void
C.float
D.不确定
正确答案:int
2、在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是()
A.地址传递
B.单向值传递
C.由实参传形参,再由形参传实参
D.传递方式由用户指定
正确答案:单向值传递
3、以下叙述中不正确的是()
A.形参是局部变量
B.不同函数中可以定义相同名字的变量
C.在函数体的复合语句中定义的变量,其作用域仅限于该复合语句
D.全局变量不可以与局部变量重名
正确答案:全局变量不可以与局部变量重名
4、函数的返回值通过return语句实现
A.正确
B.错误
正确答案:正确
5、调用函数时,函数名后面的参数是函数的形参
A.正确
B.错误
正确答案:错误
第九章单元测试
1、如果一个变量专门用来存放其他变量的地址,则称它为指针变量
A.正确
B.错误
正确答案:正确
2、已有变量定义float x;若要定义一个可以指针变量p并使其指向变量x,应使用的语句是float *p=&x。
A.正确
B.错误
正确答案:正确
3、若已有定义语句 int *p,x=100; 另有语句x=x*5; 这两个语句中的*意义是相同的。
A.正确
B.错误
正确答案:错误
4、char *s1=';AbDeG';char *s2=';aBDeG';s1+=2;s2+=2;printf(';%d';,strcmp(s1,s2);)
以下程序段的输出结果是 0
A.正确
B.错误
正确答案:正确
5、在任何情况下指针变量都可以进行加减乘除运算,且是有意义的。
A.正确
B.错误
正确答案:错误
第十章单元测试
1、C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为字符串。
A.正确
B.错误
正确答案:错误
2、结构体类型的名字是由一个关键字struct和结构体名组合而成的。
A.正确
B.错误
正确答案:正确
3、每一个枚举元素都代表一个整数,C语言编译按照定义时的顺序默认它们的从0开始。
A.正确
B.错误
正确答案:正确
4、共用体变量中每个成员占独立的内存空间
A.正确
B.错误
正确答案:错误
5、一个结构体变量所占内存是所有成员所占内存之和。
A.正确
B.错误
正确答案:正确