项目一 单元测试
1、C语言是一种()
A:机器语言
B:汇编语言
C:高级语言
D:低级语言
正确答案:【高级语言】
2、下列各项中,不是C语言的特点是()。
A:语言简洁、紧凑,使用方便
B:数据类型丰富,可移植性好
C:能实现汇编语言的大部分功能
D:有较强的网络操作功能
正确答案:【有较强的网络操作功能】
3、下列叙述错误的是()。
A:C程序中的每条语句都用一个分号作为结束符
B:C程序中的每条命令都用一个分号作为结束符
C:C程序中的变量必须先定义,后使用
D:C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
正确答案:【C程序中的每条命令都用一个分号作为结束符】
4、一个C程序的执行是从()。
A:本程序的main函数开始,到main函数结束
B:本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C:本程序文件的第一个函数开始,到本程序main函数结束
D:本程序的main函数开始,到本程序文件的最后一个函数结束
正确答案:【本程序的main函数开始,到main函数结束】
5、以下叙述不正确的是()。
A:一个C源程序必须包含一个main函数
B:一个C源程序可由一个或多个函数组成
C:C程序的基本组成单位是函数
D:在C程序中,注释说明只能位于一条语句的后面
正确答案:【在C程序中,注释说明只能位于一条语句的后面】
项目二 单元测试
1、已知定义整形变量a,b,c的值分别是2、3、4,运算表达式a*=16+(b++) – (++c)以后,a值为()
A:31
B:30
C:29
D:28
正确答案:【28】
2、在C语言中,要求参加运算的数必须是整数的运算符是()。
A:++
B:&&
C:!
D:%
正确答案:【%】
3、合法的c标识符是()。
A:5dm
B:a>b
C:h1
D:$s
正确答案:【h1】
4、执行下列程序后,显示的结果是( )
main ( )
{ int a;
printf (“%d
”,(a=35,a4, a+5));}
A:65
B:20
C:15
D:10
正确答案:【20】
5、sizeof(float)的结果是()
A:8
B:4
C:2
D:1
正确答案:【4】
6、赋值运算符有右结合性,因此表达式x=y=z 等价于x=(y=z)()
A:对
B:错
正确答案:【对】
7、下列转义字符不正确的是()。
A:\”
B:\’’
C:+
D:\t
正确答案:【+】
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、执行float f=9.8;int I;i=(int)f;语句后,变量f被转换成整型变量。
A:对
B:错
正确答案:【错】
16、以下各数均不是合法的八进制数:256、03A2、-0127。
A:对
B:错
正确答案:【错】
17、C语言程序中,任何英语单词均可以作标识符。
A:对
B:错
正确答案:【错】
18、赋值运算符有右结合性,表达式x=y=z 等价于z=x=y()
A:对
B:错
正确答案:【错】
19、C语言中不区分大小写英文字母。
A:对
B:错
正确答案:【错】
20、当运算符两边数据类型不一致,运算会出现错误
A:对
B:错
正确答案:【对】
21、0x173是正确的十六进制常数。
A:对
B:错
正确答案:【对】
22、将一个整型数据赋值给一个字符型变量的时候,可能丢失数据()
A:对
B:错
正确答案:【对】
23、下面程序的输出是__
#include<stdio.h>
int main()
{ int k=11;
printf(“k=%d,k=%o,k=%x”,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=a+b=1;
正确答案:【a=a+b=1;】
25、下面程序的输出的是___.
#include<stdio.h>
void main()
{int x=10,y=3;
printf(“%d”,y=x/y);
}
A:0
B:1
C:不确定的值
D:3
正确答案:【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:67,D
B:B,C
C:C,D
D:不确定的值
正确答案:【67,D】
27、sizeof(char)的结果是()
A:8
B:4
C:2
D:1
正确答案:【1】
28、sizeof(int)的结果是
A:8
B:4
C:2
D:1
正确答案:【4】
29、若有以下定义和语句:int a=010, b=0x10, c=10;
printf(“%d,%d,%d”,a,b,c);
则输出结果是__.
A:10,10,10
B:8,16,10
C:8,10,10
D:8,8,10
正确答案:【8,16,10】
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
正确答案:【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的值是_.
A:4
B:3
C:2
D:1
正确答案:【1】
32、有以下程序,其中k的初值为八进制数
#include <stdio.h>
main()
{int k=011;
printf(“%d”,k++);
}
程序运行后的输出结果是__
A:12
B:11
C:10
D:9
正确答案:【9】
33、sizeof(‘a’)的值是()
A:8
B:4
C:2
D:1
正确答案:【1】
34、有以下定义语句,编译时会出现编译错误的是_
A:char a=’a’;
B:char a=’’;
C:char a=’aa’;
D:char a=’-’
正确答案:【char a=’aa’;】
35、以下选项中,不正确的 C 语言浮点型常量是_
A:160.
B:0.12
C:2e4.2
D:0.0
正确答案:【2e4.2】
36、
如果a是一个三位数,则以下可以求出其十位数的表达式是()
A:a%10
B:a/10
C:a/10%10
D:a%10/10
正确答案:【a/10%10 】
37、以下合法的标识符是_。
A:int
B:_a12
C:3ce
D:stu#
正确答案:【_a12】
38、
已知intx=023,表达式++x的值是_。
A:17
B:18
C:19
D:20
正确答案:【20】
39、已知intx=10,表达式x+=x-=x-x的值是_。
A:10
B:40
C:30
D:20
正确答案:【20】
40、
在 C 语言中,字符型数据在计算机内存中,以字符的_形式存储。
A:原码
B:反码
C:ASCII 码
D:BCD码
正确答案:【ASCII 码】
41、如果a是一个三位数,则以下可以求出其个位数的表达式是()
A:a%10
B:a/10
C:a/10%10
D:a%10/10
正确答案:【a%10】
42、如果a是一个三位数,则以下可以求出其百位数的表达式是()
A:a%100
B:a/100
C:a/10
D:a%10/10
正确答案:【a/100】
43、image.png
A:a/b/ce3
B:3ae/b/c
C:3ae/bc
D:ae/c/b3
正确答案:【3ae/bc】
44、要为字符型变量 a赋初值,下列语句中哪一个是正确的_。
A:char a=”3”;
B:char a=‘3’;
C:char a=%;
D:char a=*;
正确答案:【char a=‘3’;】
45、字符串”ABC”在内存占用的字节数是_。
A:3
B:4
C:6
D:8
正确答案:【4】
46、若有说明语句:char c=’:’;则变量c在内存占用的字节数是_。
A:1
B:2
C:3
D:4
正确答案:【1】
47、下列运算符优先级最高的是()
A:减-
B:加+
C:单目运算符-
D:乘*
正确答案:【单目运算符- 】
48、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是_。
A:1
B:2
C:2.0
D:2.5
正确答案:【2.0】
49、sizeof (double)的结果值是_。
A:8
B:4
C:2
D:出错
正确答案:【8】
50、以下用户标识符中,合法的是_。
A:int
B:nit
C:123
D:a+b
正确答案:【nit】
51、表达式18/4*sqrt(4.0)/8值的数据类型是_。
A:int
B:float
C:double
D:不确定
正确答案:【double】
52、一下运算符,运算优先级别最低的是()
A:算术运算符
B:逻辑运算符
C:关系运算符
D:逗号运算符
正确答案:【逗号运算符】
53、在C语言中,赋值运算的说法错误的是()
A:实型数据赋值给整型数据时,舍去小数部分
B:整型数据赋值给实型数据时,添加小数部分0
C:整型数据赋值给字符型数据时,只赋值低八位
D:数据类型不同无法进行赋值运算
正确答案:【数据类型不同无法进行赋值运算】
54、下列哪一项不属于字符型变量可以存放的数据()
A:‘a’
B:‘?’
C:65
D:12.5
正确答案:【12.5】
55、以下说法错误的是()。
A:C语言算数表达式中,不用方括号和花括号
B:C语言算术表达式和数学上的书写是一致的
C:圆括号可以嵌套使用
D:圆括号必须成对出现
正确答案:【C语言算术表达式和数学上的书写是一致的】
56、表达式1/4+2.75的值是3。()
A:对
B:错
正确答案:【错】
57、下列转义字符不正确的是()。
A:’\’
B:’\’
C:’\053’
D:’\0’
正确答案:【’\053’】
项目三 单元测试
1、以下选项中()是正确的复合语句。
A:[a=1,b=2;]
B:{a=1,b=2};
C:{a=1,b=2;}
D:{a=1,b=2}
正确答案:【{a=1,b=2;}】
2、以下语句的输出结果是( ) printf(“%2d”,25876);
A:25
B:258
C:2587
D:25876
正确答案:【25876】
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.033.0<回车>
D:10 22<回车>33<回车>
正确答案:【10.0,22.0,33.0<回车>】
4、调用getchar和putchar函数时,必须包含的头文件是( )。
A:stdio.h
B:stdlib.h
C:define
D:以上都不对
正确答案:【stdio.h 】
5、 printf()函数中常用的格式字符,不包括()
A:d
B:f
C:z
D:c
正确答案:【z】
6、“putchar(98); ” 这一C语句输出的结果为()
A:B
B:b
C:C
D:98
正确答案:【b】
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、putchar()函数用于向终端输出一个字符。
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:9798
B:97b
C:a98
D:ab
正确答案:【97b】
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;
正确答案:【a=7+b,c=a+7;】
17、在C语言语言中,退格符是 ( )
A:\n
B:\t
C:\f
D:\b
正确答案:【\b】
18、putchar()函数可以向终端输出一个
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量值
正确答案:【字符或字符型变量值】
19、以下选项中不是C语句的是()。
A:++t
B:;
C:k=i=j;
D:{a/=b=1;b=a%2;}
正确答案:【++t】
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=b+2;】
21、已有定义int a=-2;和输出语句printf(“%8lx”,a);以下正确的叙述是( )。
A:整型变量的输出形式只有%d一种
B:%x是格式符的一种,它可以适用于任何一种类型的数据
C:%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D:%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
正确答案:【%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的】
22、字符串”helloworld”的存储长度是()
A:10
B:11
C:12
D:13
正确答案:【11】
23、若变量已正确说明为char类型,scanf(“%c%c “,&a,&b); 若要使a=‘h’,b=’c’,则正确的输入是( )。
A:h,c
B:h c
C:h
c
D:hc
正确答案:【hc】
24、使用scanf(“a=%d,b=%d”,&a,&b)为变量a,b赋值。要使a,b均为50,正确的输入是( )。
A:a=50b=50
B:5050
C:a=50,b=50
D:50,50
正确答案:【a=50,b=50】
25、调用putchar()函数时,以下说法正确的是( )
A:putchar()函数能够输出字符串
B:putchar()函数可以接收用户输入
C:putchar()函数只能输出单个字符
D:使用putchar()函数时不需要包含”stdio.h”文件
正确答案:【putchar()函数只能输出单个字符】
26、以下叙述中不正确的是( )。
A:调用printf函数时,必须要有输出项
B:使用putchar函数时,必须在之前包含头文件stdio.h
C:在C语言中,整数可以以十进制、八进制或十六进制的形式输出
D:使用putchar函数可以不要输出项
正确答案:【调用printf函数时,必须要有输出项】
27、如果有scanf(“%d%d”,&a,&b),为a、b赋值错误的输入是()
A:2(空格)3
B:2(换行)
3
C:2 (tab键)3
D:2,3
正确答案:【2,3】
28、用getchar()函数可以从键盘读入一个( )。
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量
正确答案:【字符或字符型变量】
项目四 单元测试
1、若要求在if后的圆括号中表示a不等于0的关系,能正确表示这一关系的表达式是()。
A:a<>0
B:!a
C:a=0
D:a
正确答案:【!a】
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
正确答案:【2】
4、下列叙述中正确的是( )。
A:在switch语句中,不一定使用break语句
B:在switch语句中必须使用default
C:break语句必须与switch语句中的case配对使用
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语言中,设有如下定义: inta=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
正确答案:【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:0
C:2
D:4
正确答案:【1】
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:ab>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=10 b=50 c=10
B:a=10 b=30 c=10
C:a=50 b=30 c=10
D:a=50 b=30 c=50
正确答案:【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.000000
B:0.250000
C:0.500000
D:1.000000
正确答案:【0.500000】
17、以下不可以用在switch语句的括号中作为表达式的选项是()
A:字符常量
B:整型常量
C:整型表达式
D:实型常量
正确答案:【实型常量】
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=1
C:x=2 y=2
D:x=7 y=7
正确答案:【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】
20、在C语言中,设x=1, y=2, 执行表达式 (x>y)?x++:++y以后x和y的值分别为( )。
A:1和2
B:1和3
C:2和2
D:2和3
正确答案:【1和3】
21、以下不属于C语言逻辑运算符的是()。
A:&&
B:||
C:!
D:?
正确答案:【?】
项目五 单元测试
1、若i为整型变量,则以下循环执行的次数是()。(单选)
for(i=0;i<=5;i++)
printf(”%d”,i++);
A:5次
B:2次
C:3次
D:6次
如有任何疑问请及时联系QQ 50895809