网课铺 2023-10-13 18:46
第一章测试
1、C语言是一种( )
A、机器语言
B、汇编语言
C、高级语言
D、低级语言
参考答案:C
2、下列各项中,不是C语言的特点是()。
A、语言简洁、紧凑,使用方便
B、数据类型丰富,可移植性好
C、能实现汇编语言的大部分功能
D、有较强的网络操作功能
参考答案:D
3、下列叙述错误的是( )。
A、C程序中的每条语句都用一个分号作为结束符
B、C程序中的每条命令都用一个分号作为结束符
C、C程序中的变量必须先定义,后使用
D、C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
参考答案:B
4、一个C程序的执行是从( )。
A、本程序的main函数开始,到main函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序main函数结束
D、本程序的main函数开始,到本程序文件的最后一个函数结束
参考答案:A
5、以下叙述不正确的是( )。
A、一个C源程序必须包含一个main函数
B、一个C源程序可由一个或多个函数组成
C、C程序的基本组成单位是函数
D、在C程序中,注释说明只能位于一条语句的后面
参考答案:D
第二章测试
1、已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a*=16+(b++) - (++c)以后,a值为( )
A、31
B、30
C、29
D、28参考答案:D
2、在C语言中,要求参加运算的数必须是整数的运算符是( )。
A、++
B、
C、!
D、%
参考答案:D
3、合法的c标识符是( )。
A、5dm
B、a>b
C、h1
D、$s
参考答案:C
4、执行下列程序后,显示的结果是( ) main ( ) { int a; printf (“%d ”,(a=3*5,a*4, a+5));}
A、65
B、20
C、15
D、10参考答案:B
5、执行下列程序中的输出语句后,x的值是( )。 main() {int x ; printf(“%d ”,(x=4*5,x*2,x+20));}
A、20
B、40
C、60
D、80参考答案:A
6、判断:表达式1/4+2.75的值是3。
参考答案:X
7、下列转义字符不正确的是( )。
A、'/'
B、’’
C、’+’
D、’-’
参考答案:B
8、对于int n=3;执行n+=n-=n*n;后n的值是9。
参考答案:X
9、在C语言中8.9e1.2是不正确的实型常量。
参考答案:√
10、对任一变量一旦被指定为某一确定类型后,该变量在程序运行时所占存储空间的多少和所能参加的运算类型便已确定了。
参考答案:√
11、若x为整型变量、j为实型变量,当执行语句:x=(int)j;后,j也变为整型变量。
参考答案:X
12、“!”的优先级可以比“/”高。
参考答案:√
13、两个char 型数据相加,其结果为char型。
参考答案:X
14、若有 int i=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
参考答案:X
15、在C程序中,%是只能用于整数运算的运算符。
参考答案:√
16、以下各数均不是合法的八进制数:256、03A2、-0127。
参考答案:X
17、C语言程序中,任何英语单词均可以作标识符。
参考答案:X
18、若有宏定义:#define M(x,y,z) x*y+z,则宏引用M(2+3,4+5,6+7)通过宏展开后的表达式应为(2+3)*(4+5)+6+7。
参考答案:X
19、C语言中不区分大小写英文字母。
参考答案:X
20、程序中的变量代表内存中的一个存储单元,它的值不可以随时修改。
参考答案:X
21、0x173是正确的十六进制常数。
参考答案:√
22、逻辑表达式-5&&!8的值为1。
参考答案:X
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
参考答案:D
24、在下列选项中,不正确的赋值语句是_______.
A、++t;
B、n1=(n2=(n3=0));
C、k=i=j;
D、a=b+c=1;
参考答案:D
25、下面程序的输出的是_________. #include<stdio.h> void main() {int x=10,y=3; printf("%d\n",y=x/y); }
A、0
B、1
C、3
D、不确定的值
参考答案:C
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、不确定的值
参考答案:A
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)
参考答案:A
28、下面程序的输出结果是_______. #include<stdio.h> void main() { 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参考答案:D
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参考答案:B
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参考答案:B
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参考答案:D
32、有以下程序,其中k的初值为八进制数 #include <stdio.h> main() {int k=011; printf("%d\n",k++); } 程序运行后的输出结果是________
A、12
B、11
C、10
D、9参考答案:D
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参考答案:C
34、有以下定义语句,编译时会出现编译错误的是_______
A、char a=’a’;
B、char a=’\n’;
C、char a=’aa’;
D、char a=’\x2d’
参考答案:C
35、以下选项中,不正确的 C 语言浮点型常量是_______
A、160.
B、0.12
C、2e4.2
D、0.0参考答案:C
36、以下选项中,_______是不正确的 C 语言字符型常量。
A、'a'
B、'\x41'
C、'\101'
D、"a"
参考答案:D
37、以下合法的标识符是_______。
A、int
B、_a12
C、3ce
D、stu#
参考答案:B
38、已知int x=023,表达式++x的值是_______。
A、17
B、18
C、19
D、20参考答案:D
39、已知int x=10,表达式x+=x-=x-x的值是_______。
A、10
B、40
C、30
D、20参考答案:D
40、在 C 语言中,字符型数据在计算机内存中,以字符的_______形式存储。
A、原码
B、反码
C、ASCII 码
D、BCD码
参考答案:C
41、若变量x、i、j和k都是int型变量,则计算下面表达式后,x的值是_______。 x=(i=4,j=16,k=32)
A、4
B、16
C、32
D、52参考答案:C
42、下列不正确的转义字符是_______。
A、'\\'
B、'\' '
C、'074'
D、'\0'
参考答案:C
43、
A、a/b/c*e*3
B、3*a*e/b/c
C、3*a*e/b*c
D、a*e/c/b*3参考答案:C
44、要为字符型变量 a赋初值,下列语句中哪一个是正确的_______。
A、char a="3";
B、char a=‘3’;
C、char a=%;
D、char a=*;
参考答案:B
45、字符串"ABC"在内存占用的字节数是_______。
A、3
B、4
C、6
D、8参考答案:B
46、若有说明语句:char c='\72';则变量c在内存占用的字节数是_______。
A、1
B、2
C、3
D、4参考答案:A
47、C语言中,要求运算对象只能为整数的运算符是_______。
A、%
B、/
C、>
D、*
参考答案:A
48、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是_______。
A、1
B、2
C、2.0
D、2.5参考答案:C
49、sizeof (double)的结果值是_______。
A、8
B、4
C、2
D、出错
参考答案:A
50、以下用户标识符中,合法的是_______。
A、int
B、nit
C、123
D、a+b
参考答案:B
51、表达式18/4*sqrt(4.0)/8值的数据类型是_______。
A、int
B、float
C、double
D、不确定
参考答案:C
第三章测试
1、以下选项中不是C语句的是( )
A、++t
B、;
C、k=i=j;
D、{a/=b=1;b=a%2;}
参考答案:A
2、以下语句的输出结果是 ( ) printf("%d ",strlen(" "65xff "));
A、5
B、14
C、8
D、输出项不合法,无法正常输出
参考答案:A
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<回车>
参考答案:B
4、调用getchar和putchar函数时,必须包含的头文件是( )。
A、stdio.h
B、stdlib.h
C、define
D、以上都不对
参考答案:A
5、使用scanf("a=%d,b=%d",&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )
A、a=50 b=50
B、50 50
C、a=50,b=50
D、50,50参考答案:C
6、“putchar(70); ” 这一C语句输出的结果为( )
A、70
B、F
C、提示语法错误
D、C
参考答案:B
7、C 语言标准格式输入函数 scanf() 的参数表中要使用变量的地址值。
参考答案:√
8、表达式语句和表达式没有什么区别。
参考答案:X
9、C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。
参考答案:X
10、C 语言程序中可以有多个函数 , 但只能有一个主函数。
参考答案:√
11、C 语言标准输出操作中 ,putchar() 函数可以输出显示一个字符串。
参考答案:X
12、C 语言标准格式输出函数 printf() 的参数表是由若干个表达式组成。
参考答案:√
13、C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。
参考答案:X
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、97 b
C、a 98
D、a b
参考答案:B
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;
参考答案:D
17、在C语言语言中,退格符是 ( )
A、\n
B、\t
C、\f
D、\b
参考答案:D
18、putchar()函数可以向终端输出一个
A、整型变量表达式值
B、实型变量值
C、字符串
D、字符或字符型变量值
参考答案:D
19、以下选项中不是C语句的是( )。
A、++t
B、;
C、k=i=j;
D、{a/=b=1;b=a%2;}
参考答案:A
20、有定义语句:int a=5,b,不能给b赋2的赋值语句是( )。
A、b=a/2;
B、b=b+2;
C、b=2%a;
D、b=5;b=2;
参考答案:B
21、已有定义int a=-2;和输出语句printf("%8lx",a);以下正确的叙述是( )。
A、整型变量的输出形式只有%d一种
B、%x是格式符的一种,它可以适用于任何一种类型的数据
C、%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D、%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
参考答案:C
22、以下语句的输出结果是 ( )。 printf("%d\n",strlen("\t\"\065\xff\n"));
A、5
B、14
C、8
D、输出项不合法,无法正常输出
参考答案:A
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.0 33.0<回车>
D、10 22<回车>33<回车>
参考答案:B
24、使用scanf("a=%d,b=%d",&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )。
A、a=50 b=50
B、50 50
C、a=50,b=50
D、50,50参考答案:C
25、调用getchar和putchar函数时,必须包含的头文件是( )。
A、stdio.h
B、stdlib.h
C、define
D、以上都不对
参考答案:A
26、以下叙述中不正确的是( )。
A、调用printf函数时,必须要有输出项
B、使用putchar函数时,必须在之前包含头文件stdio.h
C、在C语言中,整数可以以十进制、八进制或十六进制的形式输出
D、使用putchar函数可以不要输出项
参考答案:A
27、putchar()函数可以向终端输出一个( )。
A、整型变量表达式值
B、实型变量值
C、字符串
D、字符或字符型变量
参考答案:D
28、用getchar()函数可以从键盘读入一个( )。
A、整型变量表达式值
B、实型变量值
C、字符串
D、字符或字符型变量
参考答案:D
第四章测试
1、若要求在if后的圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是( )。
A、a<>0
B、!a
C、a=0
D、a
参考答案:B
2、以下程序段,运行后的输出结果是( ) char m='b'; if(m++>'b') printf("%c ",m); else printf("%c ",m--);
A、a
B、b
C、c
D、d
参考答案:C
3、设a=1,b=2,c=3,d=4,则表达式a<b?b:c<d?a:b的结果为( )。
A、4
B、3
C、2
D、1参考答案:C
4、下列叙述中正确的是( )。
A、在switch语句中,不一定使用break语句
B、在switch语句中必须使用default
C、break语句必须与switch语句中的case配对使用
D、break语句只能用于switch语句
参考答案:A
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参考答案:C
6、逻辑表达式的值只能为1或0。
参考答案:√
7、在switch语句中,每一个的case常量表达式的值可以相同。
参考答案:X
8、在switch语句中,多个case可以共用一组执行语句。
参考答案:√
9、下列关于运算符优先顺序的描述中正确的是( )。
A、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符
C、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
参考答案:C
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)
参考答案:C
11、在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为( )。
A、1
B、2
C、3
D、0参考答案:B
12、设有如下定义: int a=2,b; 则执行b=a&&1;语句后,b的结果是( )。
A、0
B、1
C、2
D、3参考答案:B
13、设a=3,b=4,c=5,则表达式 !(a>b)&&!c||1的结果是( )。
A、1
B、0
C、2
D、4参考答案:A
14、能正确表示a 和 b同时为正或同时为负的逻辑表达式是( )。
A、(a>=0||b>=0)&&(a<0||b<0)
B、(a>=0&&b>=0)&&(a<0&&b<0)
C、(a+b>0)&&(a+b<=0)
D、a*b>0参考答案:D
15、以下程序段的输出结果是( )。 int a=10,b=50,c=30; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);
A、a=10 b=50 c=10
B、a=10 b=30 c=10
C、a=50 b=