网课铺 2019-11-14 12:36
第一章 单元测试
1、 问题:C语言是一种( )
选项:
A:汇编语言
B:机器语言
C:高级语言
D:低级语言
答案: 高级语言
2、 问题:下列各项中,不是C语言的特点是()。
选项:
A:能实现汇编语言的大部分功能
B:语言简洁、紧凑,使用方便
C:有较强的网络操作功能
D:数据类型丰富,可移植性好
答案: 有较强的网络操作功能
3、 问题:下列叙述错误的是( )。
选项:
A:C程序中的每条命令都用一个分号作为结束符
B:C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
C:C程序中的变量必须先定义,后使用
D:C程序中的每条语句都用一个分号作为结束符
答案: C程序中的每条命令都用一个分号作为结束符
4、 问题:一个C程序的执行是从( )。
选项:
A:本程序的main函数开始,到main函数结束
B:本程序的main函数开始,到本程序文件的最后一个函数结束
C:本程序文件的第一个函数开始,到本程序main函数结束
D:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
答案: 本程序的main函数开始,到main函数结束
5、 问题:以下叙述不正确的是( )。
选项:
A:一个C源程序可由一个或多个函数组成
B:C程序的基本组成单位是函数
C:在C程序中,注释说明只能位于一条语句的后面
D:一个C源程序必须包含一个main函数
答案: 在C程序中,注释说明只能位于一条语句的后面
第二章 单元测试
1、 问题:已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a=16+(b++) - (++c)以后,a值为( )
选项:
A:29
B:28
C:31
D:30
答案: 28
2、 问题:在C语言中,要求参加运算的数必须是整数的运算符是( )。
选项:
A:++
B:!
C:
D:%
答案: %
3、 问题:合法的c标识符是( )。
选项:
A:h1
B:$s
C:a>b
D:5dm
答案: h1
4、 问题:执行下列程序后,显示的结果是( )
main ( )
{ int a;
printf (“%d
”,(a=35,a4, a+5));}
选项:
A:15
B:10
C:20
D:65
答案: 20
5、 问题:执行下列程序中的输出语句后,x的值是( )。
main()
{int x ;
printf(“%d
”,(x=45,x2,x+20));}
选项:
A:80
B:60
C:40
D:20
答案: 20
6、 问题:表达式1/4+2.75的值是3。
选项:
A:对
B:错
答案: 错
7、 问题:下列转义字符不正确的是( )。
选项:
A:’-’
B:’’
C:’+’
D:'/'
答案: ’’
8、 问题:对于intn=3;执行n+=n-=nn;后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>
intmain()
{ int k=11;
printf("k=%d,k=%o,k=%x",k,k,k);
return 1;
}
选项:
A:
k=11,k=013,k=0xb
B:
k=11,k=12,k=11
C:
k=11,k=13,k=13
D:
k=11,k=13,k=b
答案:
k=11,k=13,k=b
24、 问题:在下列选项中,不正确的赋值语句是.
选项:
A:
k=i=j;
B:
a=a+b=1;
C:
++t;
D:
n1=(n2=(n3=0));
答案:
a=a+b=1;
25、 问题:下面程序的输出的是.
#include<stdio.h>
void main()
{int x=10,y=3;
printf("%d",y=x/y);
}
选项:
A:
0
B:
不确定的值
C:
3
D:
1
答案:
3
26、 问题:已知字母A的ASCII码为十进制的65,下面程序的输出是_.
#include<stdio.h>
void main()
{char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c",ch1,ch2);
}
选项:
A:
不确定的值
B:
67,D
C:
B,C
D:
C,D
答案:
67,D
27、 问题:为表示关系x≥y≥z,应使用C语言表达式__.
选项:
A:
(x>=y)AND(y>=z)
B:
(x>=y) & (y>=z)
C:
(x>=y>=z)
D:
(x>=y)&&(y>=z)
答案:
(x>=y)&&(y>=z)
28、 问题:下面程序的输出结果是.
#include<stdio.h>
void main()
{
int a=-1, b=4, k;
k=(++a<=0)&&(b--<=0);
printf("%d,%d,%d",k,a,b);
}
选项:
A:
0,1,2
B:
1,0,3
C:
0,0,3
D:
1,1,2
答案:
0,0,3
29、 问题:若有以下定义和语句:
int a=010, b=0x10, c=10;
printf("%d,%d,%d",a,b,c);
则输出结果是_.
选项:
A:
8,8,10
B:
8,10,10
C:
8,16,10
D:
10,10,10
答案:
8,16,10
30、 问题:已知有double型变量x=2.5,y=4.7,整型变量a=7,
则表达式x+a%3(int)(x+y)%2/4 的值是.
选项:
A:
2.5
B:
2.4
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:
2
B:
4
C:
1
D:
3
答案:
1
32、 问题:有以下程序,其中k的初值为八进制数
#include <stdio.h>
main()
{int k=011;
printf("%d",k++);
}
程序运行后的输出结果是
选项:
A:
12
B:
9
C:
10
D:
11
答案:
9
33、 问题:有以下程序
#include
#define SUB(a) (a)-(a)
main()
{ int a=2,b=3,c=5,d;
d=SUB(a+b)c;
printf("%d",d);
}
程序运行后的输出结果是
选项:
A:
-20
B:
-12
C:
0
D:
10
答案:
-20
34、 问题:有以下定义语句,编译时会出现编译错误的是
选项:
A:
char a=’aa’;
B:
char a=’a’;
C:
char a=’-’
D:
char a=’’;
答案:
char a=’aa’;
35、 问题:以下选项中,不正确的 C 语言浮点型常量是
选项:
A:
0.0
B:
2e4.2
C:
0.12
D:
160
答案:
2e4.2
36、 问题:以下选项中,是不正确的 C 语言字符型常量。
选项:
A:
'A'
B:
"a"
C:
"A"
D:
'a'
答案:
"a"
37、 问题:以下合法的标识符是_。
选项:
A:
int
B:
_a12
C:
3ce
D:
stu#
答案:
a12
38、 问题:已知int x=023,表达式++x的值是。
选项:
A:
18
B:
17
C:
19
D:
20
答案:
20
39、 问题:已知int x=10,表达式x+=x-=x-x的值是。
选项:
A:
20
B:
30
C:
10
D:
40
答案:
20
40、 问题:在 C 语言中,字符型数据在计算机内存中,以字符的形式存储。
选项:
A:
原码
B:
反码
C:
BCD码
D:
ASCII 码
答案:
ASCII 码
41、 问题:若变量x、i、j和k都是int型变量,则计算下面表达式后,x的值是。
x=(i=4,j=16,k=32)
选项:
A:32
B:16
C:
52
D:
4
答案: 32
42、 问题:下列不正确的转义字符是。
选项:
A:
''
B:
''''
C:'074'
D:'' '
答案: '074'
43、 问题:
选项:
A:3ae/bc
B:a/b/ce3
C:3ae/b/c
D:ae/c/b3
答案: 3ae/bc
44、 问题:
要为字符型变量 a赋初值,下列语句中哪一个是正确的_。
选项:
A:
char a="3";
B:
char a=;
C:
char a=%;
D:
char a=‘3’;
答案:
char a=‘3’;
45、 问题:字符串"ABC"在内存占用的字节数是。
选项:
A:
3
B:
6
C:
8
D:
4
答案:
4
46、 问题:
若有说明语句:char c=':';则变量c在内存占用的字节数是。
选项:
A:4
B:
3
C:
2
D:
1
答案:
1
47、 问题:C语言中,要求运算对象只能为整数的运算符是。
选项:
A:
%
B:
>
C:
*
D:
/
答案:
%
48、 问题:
若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是。
选项:
A:
2
B:
2.0
C:
2.5
D:
1
答案:
2.0
49、 问题:sizeof (double)的结果值是。
选项:
A:
4
B:
8
C:
出错
D:
2
答案:
8
50、 问题:
以下用户标识符中,合法的是。
选项:
A:
a+b
B:
nit
C:
int
D:
123
答案:
nit
51、 问题:表达式18/4sqrt(4.0)/8值的数据类型是_。
选项:
A:int
B:
不确定
C:double
D:float
答案: double
52、 问题:
已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a=16+(b++) - (++c)以后,a值为( )。
选项:
A:31
B:28
C:30
D:29
答案: 28
53、 问题:在C语言中,要求参加运算的数必须是整数的运算符是( )。
选项:
A:!!
B:++
C:!
D:%
答案: %
54、 问题:合法的c标识符是( )。
选项:
A:h1
B:5dm
C:a>b
D:$s
答案: h1
55、 问题:执行下列程序后,显示的结果是( )
main ( )
{ int a;
printf (“%d \n”,(a=35,a4, a+5));}
选项:
A:20
B:65
C:10
D:15
答案: 20
56、 问题:表达式1/4+2.75的值是3。( )
选项:
A:对
B:错
答案: 错
57、 问题:下列转义字符不正确的是( )。
选项:
A:’\053’
B:’\’
C:’\0’
D:’\’
答案: ’\’
第三章 单元测试
1、 问题:以下选项中不是C语句的是( )
选项:
A:k=i=j;
B:{a/=b=1;b=a%2;}
C:;
D:++t
答案: ++t
2、 问题:以下语句的输出结果是 ( ) printf("%d
",strlen(" "65xff
"));
选项:
A:8
B:14
C:5
D:输出项不合法,无法正常输出
答案: 5
3、 问题:若变量已正确说明为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<回车>
答案: 10.0,22.0,33.0<回车>
4、 问题:调用getchar和putchar函数时,必须包含的头文件是( )。
选项:
A:以上都不对
B:stdlib.h
C:define
D:stdio.h
答案: stdio.h
5、 问题:使用scanf("a=%d,b=%d",&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )
选项:
A:50,50
B:a=50 b=50
C:a=50,b=50
D:50 50
答案: a=50,b=50
6、 问题:“putchar(70); ” 这一C语句输出的结果为( )
选项:
A:C
B:提示语法错误
C:F
D:70
答案: F
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程序实现的算法可以没有输出但必须要有输入
答案: 用C程序实现的算法可以没有输入但必须要有输出
15、 问题:在C语言中,执行下面两个语句后,输出的结果为( )。
char c1=97, c2=98;printf("%d %c",c1,c2);
选项:
A:
97 98
B:
a b
C:
97 b
D:
a 98
答案:
97 b
16、 问题:下列语句中符合C语言语法的赋值语句是
选项:
A:
a=7+b+c=a+7;
B:
a=7+b,c=a+7;
C:
a=7+b++=a+7;
D:
a=7+b,b++,a+7
答案:
a=7+b,c=a+7;
17、 问题:在C语言语言中,退格符是 ( )
选项:
A:
\f
B:
\b
C:
\n
D:
\t
答案:
\b
18、 问题:putchar()函数可以向终端输出一个
选项:
A:
实型变量值
B:
字符或字符型变量值
C:
字符串
D:
整型变量表达式值
答案:
字符或字符型变量值
19、 问题:以下选项中不是C语句的是( )。
选项:
A:
{a/=b=1;b=a%2;}
B:
;
C:
++t
D:
k=i=j;
答案:
++t
20、 问题:有定义语句:inta=5,b,不能给b赋2的赋值语句是( )。
选项:
A:
b=b+2;
B:
b=2%a;
C:
b=a/2;
D:
b=5;b=2;
答案:
b=b+2;
21、 问题:已有定义int a=-2;和输出语句printf("%8lx",a);以下正确的叙述是( )。
选项:
A:
%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
B:
%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
C:
%x是格式符的一种,它可以适用于任何一种类型的数据
D:
整型变量的输出形式只有%d一种
答案:
%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
22、 问题:以下语句的输出结果是 ( )。
printf("%d",strlen(" "5ÿ"));
选项:
A:
输出项不合法,无法正常输出
B:
14
C:
5
D:
8
答案:
5
23、 问题:若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是( )。
选项:
A:
10.0,22.0,33.0<回车>
B:
10.0<回车>22.0 33.0<回车>
C:
10 22<回车>33<回车>
D:
10<回车>22<回车>33<回车>
答案:
10.0,22.0,33.0<回车>
24、 问题:使用scanf("a=%d,b=%d",&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )。
选项:
A:
a=50 b=50
B:
a=50,b=50
C:
50,50
D:
50 50
答案:
a=50,b=50
25、 问题:调用getchar和putchar函数时,必须包含的头文件是( )。
选项:
A:
stdio.h
B:
stdlib.h
C:
其余选项都不对
D:
define
答案:
stdio.h
26、 问题:以下叙述中不正确的是( )。
选项:
A:
在C语言中,整数可以以十进制、八进制或十六进制的形式输出
B:
使用putchar函数可以不要输出项
C:
使用putchar函数时,必须在之前包含头文件stdio.h
D:
调用printf函数时,必须要有输出项
答案:
调用printf函数时,必须要有输出项
27、 问题:putchar()函数可以向终端输出一个( )。
选项:
A:
整型变量表达式值
B:
字符或字符型变量
C:
实型变量值
D:
字符串
答案:
字符或字符型变量
28、 问题:用getchar()函数可以从键盘读入一个( )。
选项:
A:
字符或字符型变量
B:
字符串
C:
实型变量值
D:
整型变量表达式值
答案:
字符或字符型变量
第四章 单元测试
1、 问题:若要求在if后的圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是( )。
选项:
A:a
B:a=0
C:!a
D:a<>0
答案: !a
2、 问题:以下程序段,运行后的输出结果是( )
char m='b';
if(m++>'b') printf("%c
",m);
else printf("%c
",m--);
选项:
A:c
B:d
C:b
D:a
答案: c
3、 问题:设a=1,b=2,c=3,d=4,则表达式a<b?b:c<d?a:b的结果为( )。
选项:
A:2
B:1
C:3
D:4
答案: 2
4、 问题:下列叙述中正确的是( )。
选项:
A:break语句必须与switch语句中的case配对使用
B:在switch语句中必须使用default
C:在switch语句中,不一定使用break语句
D:break语句只能用于switch语句
答案: 在switch语句中,不一定使用break语句
5、 问题:以下程序段的输出结果是( )。
int a=13,b=21,m=0;
switch(a%3)
{
case 0:m++;break;
case 1:m++;
switch(b%2)
{
default:m++;
case 0:m++;break;
}
}
printf("%d",m);
选项:
A:1
B:2
C:3
D:4
答案: 3
6、 问题:逻辑表达式的值只能为1或0。
选项:
A:对
B:错
答案: 对
7、 问题:在switch语句中,每一个的case常量表达式的值可以相同。
选项:
A:对
B:错
答案: 错
8、 问题:在switch语句中,多个case可以共用一组执行语句。
选项:
A:错
B:对
答案: 对
9、 问题:下列关于运算符优先顺序的描述中正确的是( )。
选项:
A:
逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
B:
赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
C:
算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
D:
关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
答案:
赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
10、 问题:能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( )。
选项:
A:
(x>=1)||(x<=10)&&(x>=200)||(x<=210)
B:
(x>=1)||(x<=10)||(x>=200)||(x<=210)
C:
(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D:
(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
答案:
(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
11、 问题:在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )。
选项:
A:
0
B:
1
C:
2
D:
3
答案:
2
12、 问题:设有如下定义:inta=2,b;则执行b=a&&1;语句后,b的结果是( )。
选项:
A:
0
B:
1
C:
2
D:
3
答案:
1
13、 问题:设a=3,b=4,c=5,则表达式 !(a>b)&&!c||1的结果是( )。
选项:
A:
1
B:
4
C:
2
D:
0
答案:
1
14、 问题:能正确表示a 和 b同时为正或同时为负的逻辑表达式是( )。
选项:
A:
(a>=0||b>=0)&&(a<0||b<0)
B:
(a+b>0)&&(a+b<=0)
C:
ab>0
D:
(a>=0&&b>=0)&&(a<0&&b<0)
答案:
ab>0
15、 问题:以下程序段的输出结果是( )。
int a=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d",a,b,c);
选项:
A:
a=50 b=30 c=50
B:
a=10 b=30 c=10
C:
a=10 b=50 c=10
D:
a=50 b=30 c=10
答案:
a=10 b=30 c=10
16、 问题:有如下程序
int main( )
{ float x=2.0,y;
if(x<0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf(“%f”,y);
return 0;
}
该程序的输出结果是( )。
选项:
A:
0.500000
B:
0.250000
C:
0.000000
D:
1.000000
答案:
0.500000
17、 问题:若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。
选项:
A:
a
B:
!a
C:
a<>0
D:
a=0
答案:
a
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;
case 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=2
C:
x=7 y=7
D:
x=2 y=1
答案:
x=6 y=6
19、 问题:
以下程序的输出结果是( )
int main()
{ int a=1,b=3,c=5,d=4,x;
if(a<b)
if(c<d) x=1;
else
if(a<c)
if(b<d) x=2;
else x=3;
else x=6;
else x=7;
printf(“x=%d”,x);
return 0;
}
选项:
A:
1
B:
2
C:
3
D:
6
答案:
2