第一章 单元测试
1、单选题:能将高级语言编写的源程序转换为目标程序的是()。
A:解释程序
B:链接程序
C:编译程序
D:编辑程序
正确答案:【编译程序】
2、单选题:C语言的注释定界符是()。
A:{ }
B:
( )
C:/* */
D:[ ]
正确答案:【/* */】
3、单选题:以下标识符中,不能作为合法的C用户定义标识符的是()。
A:void
B:_123
C:IF
D:a3_b3
正确答案:【void】
4、单选题:C语言源程序的基本单位是()。
A:子程序
B:标识符
C:过程
B、函数
C、子程序
D、标识符
D:函数
正确答案:【函数】
5、单选题:计算机能直接执行的程序是用( )程序设计语言编写的。
A:C++
B:C语言
C:汇编语言
D:机器语言
正确答案:【机器语言 】
6、单选题:C程序中main函数的位置是( )。
A:可以任意位置
B:必须在程序的中间位置
C:必须在程序的最后
D:必须在程序的开始
正确答案:【可以任意位置】
7、单选题:C语言程序上机调试步骤是( )。
A:编写源程序、编译、组建、执行
B:编写源程序、组建、执行
C:编写源程序、执行
D:编写源程序、编译、执行
正确答案:【编写源程序、编译、组建、执行】
8、判断题:语句的结束标志是冒号“:”。
A:对
B:错
正确答案:【错】
9、判断题:C程序中1条语句必须写在1行。
A:错
B:对
正确答案:【错】
10、多选题:属于低级语言的是()。
A:汇编语言
B:机器语言
C:C语言
D:JAVA语言
正确答案:【汇编语言;机器语言】
第二章 单元测试
1、单选题:C语言中,最基本的数据类型是()
A:整型,字符型,逻辑型
B:整型,实型,字符型,逻辑型
C:整型,实型,逻辑型
D:整型,实型,字符型
正确答案:【整型,实型,字符型】
2、单选题:以下不合法的整型常量是( )。
A:
68
B:
12345
C:
147
D:
0xabc
正确答案:【
0xabc
】
3、单选题:以下浮点数的表示不正确的是( )。
A:
12.E2
B:
22.3
C:
e23
D:
7.19E21
正确答案:【
e23
】
4、判断题:C程序中变量可以不定义而直接使用。
A:错
B:对
正确答案:【错】
5、判断题:不能将字符串赋给字符变量。
A:对
B:错
正确答案:【对】
6、单选题:以下不合法的实型常量是( )。
A:
.5
B:
5
C:
5.0
D:
0.5
正确答案:【
5
】
7、单选题:以下哪个是字符数据类型关键字( )。
A:
c
B:
char
C:
string
D:
CHAR
正确答案:【
char
】
8、判断题:在程序运行期间,变量可以多次被赋值。
A:错
B:对
正确答案:【对】
9、单选题:以下关于符号常量的说法正确的是( )。
A:
可以将圆周率这个常量值定义为符号常量,定义方法为:#define PI=3.1415926
B:
符号常量名可以不遵循C语言的标识符和命名规则
C:
符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变
D:
使用符号常量不仅便于程序的调试和维护,还能大大提高程序的运行速度
正确答案:【
符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变
】
10、单选题:以下定义变量的语句错误的是( )。
A:
double z1;
B:
Double a1;
C:
int x1;
D:
float y1;
正确答案:【
Double a1;
】
11、多选题:以下能正确定义变量并给变量赋值的是( )。
A:
int a=5,b=5;
B:
int a,b; a=b=6;
C:
int a=5,b; b=5;
D:
int a=b=5;
正确答案:【
int a=5,b=5;
;
int a,b; a=b=6;
;
int a=5,b; b=5;
】
12、多选题:以下是合法C语言常量的是( )。
A:
e-2
B:
012
C:
“a”
D:
‘a’
正确答案:【
012
;
“a”
;
‘a’
】
13、多选题:以下合法的C语言整型常量是( )。
A:
160
B:
011
C:
01a
D:
-0xffff
正确答案:【
160
;
011
;
-0xffff
】
14、单选题:若已定义 int a=11; 执行printf(“a=%d,a=%o,a=%x”,a,a,a) ;语句后的输出结果是( )。
A:
a=11, a=11, a=b
B:
a=11, a=13, a=c
C:
a=11, a=13, a=b
D:
a=11, a=12, a=13
正确答案:【
a=11, a=13, a=b
】
15、单选题:函数putchar(65) 的功能是向终端输出( )。
A:
6
B:
有编译错误
C:
65
D:
A
正确答案:【
A
】
16、判断题:使用scanf()函数,在输入数据时,若遇非法输入则认为该数据输入结束。
A:对
B:错
正确答案:【对】
17、判断题:getchar( )和scanf()均为输入函数,它们之间可通用,没有任何区别。
A:对
B:错
正确答案:【错】
第三章 单元测试
1、单选题:若变量已正确定义,表达式 (j=3, j++) 的值是____。
A:3
B:4
C:5
D:6
正确答案:【3】
2、单选题:若” int n; float f=13.8; “,则执行”n=(int)f%3″后,n的值是()。
A:4.33333
B:4.6
C:1
D:4
正确答案:【1】
3、单选题:若有定义“char a; int b; float c; double d;”,则表达式“a*b+d-c”值的类型为____。
A:int
B:float
C:char
D:double
正确答案:【double】
4、单选题:若x为浮点型,则表达式x=10/4为()。
A:2.5
B:3
C:2.0
D:2
正确答案:【2.0】
5、单选题:假设字符变量ch中存放有小写英文字母,将其转换为相应的大写英文字母的表达式是 ( ) 。
A:ch = ch+32
B:tolower(ch)
C:ch = ch-‘a’+’A’
D:ch -= ‘a’+’A’
正确答案:【ch = ch-‘a’+’A’】
6、单选题:C 语言中,要求运算对象只能为整数的运算符是( )。
A:
*
B:
%
C:
/
D:
>
正确答案:【
%
】
7、判断题:为了确保表达式n/2的值为float型,可写成float(n/2)。
A:错
B:对
正确答案:【错】
8、单选题:若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是( )。
A:
2.0
B:
1.4
C:
1
D:
2
正确答案:【
1
】
9、单选题:设有i=10,在表达式j=i–,则j的值是( )。
A:
9
B:
11
C:
8
D:
10
正确答案:【
10
】
10、单选题:在C语言程序中,表达式5%2的结果是( )。
A:
1
B:
2.5
C:
2
D:
3
正确答案:【
1
】
11、单选题:若x、i、j和k都是int型变量,则计算x=(i=4,j=16,k=32)表达式后,x的值是()。
A:
52
B:
16
C:
4
D:
32
正确答案:【
32
】
12、判断题:设x和y都是int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是交换x和y的值。
A:对
B:错
正确答案:【对】
13、单选题:若变量已正确定义,以下合法的赋值表达式是()。
A:
a=a/(b=5)
B:
a=1/b=2
C:
++(a+b)
D:
y=int(a)
正确答案:【
a=a/(b=5)
】
14、单选题:逻辑运算符两侧运算对象的数据类型()。
A:
只能是0 或非0 正数
B:
只能是0 或1
C:
可以是任何类型的数据
D:
只能是整型或字符型数据
正确答案:【
可以是任何类型的数据
】
15、判断题:在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。
A:错
B:对
正确答案:【错】
16、单选题:若a为int型,且其值为3,则执行完表达式: a+=6后,a的值是()。
A:
9
B:
3
C:
6
D:
12
正确答案:【
9
】
17、判断题:单目运算符、赋值运算符和条件运算符均为右结合性。
A:对
B:错
正确答案:【对】
18、单选题:能表示x为偶数的表达式是().
A:
x%2!=0
B:
x%2
C:
x%2==0
D:
x%2==1
正确答案:【
x%2==0
】
19、单选题:已知int i=10;表达式’3<=i<=5’的值是()
A:
19
B:
20
C:
1
D:
0
正确答案:【
1
】
20、单选题:能正确表示“当x 的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( )
A:(x>=1)||(x<=10)||(x>=200)||(x<=210)
B:
能正确表示“当x 的取值在[1,10]和[200,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)
】
第四章 单元测试
1、单选题:
以下程序运行时,输入的x值在()范围时才会有输出结果。
A:不等于10的整数
B:小于3的整数
C:大于3且不等于10的整数
D:大于3且等于10的整数
正确答案:【大于3且不等于10的整数】
2、单选题:若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。
A:scanf(“%d%f”, a, c);
B:scanf(“%d%f”, &a, &c);
C:scanf(“d=%d, c=%f”, &a, &c);
D:scanf(“%d,%f”, &a, &c);
正确答案:【scanf(“%d%f”, a, c);】
3、单选题:main()
{ int a=2,b=-1,c=2;
if(a<b) c=0;
else c++;
printf(“%d”,c);
}
该程序的输出结果是()
A:
0
B:
1
C:
2
D:
3
正确答案:【
3
】
4、单选题:有以下程序
main()
{int x=1, y=2, z=3;
if(x>y)
if(y<z) printf(“%d”,++z);
else printf(“%d”,++y);
printf(“%d”,x++);
}
程序的运行结果是()
A:
31
B:
1
C:
3
D:
321
正确答案:【
1
】
5、单选题:若x=0,y=3,z=3,以下表达式值为0的是()。
A:
y=x||z/3
B:
x<y?1:0
C:
!x
D:
x%2&&y==z
正确答案:【
x%2&&y==z
】
6、判断题:在 C 程序中,运算符%仅能用于整型数的运算。
A:对
B:错
正确答案:【对】
7、单选题:有以下程序
void main()
{ int a;
scanf(“%d”,&a);
if(a<9) printf(“%d”,a);
else printf(“%d”,a–);
}程序运行时键盘输入9<回车>,则输出的结果是()
A:
8
B:
9
C:
10
D:
11
正确答案:【
9
】
8、单选题:为了避免嵌套的if—else 语句的二义性,C 语言规定else 总是与()组成配对关系。
A:
缩排位置相同的if
B:
在其之前未配对的最近的if
C:
同一行上的if
D:
在其之前未配对的if
正确答案:【
在其之前未配对的最近的if
】
9、判断题:赋值运算符的结合性为左结合。
A:错
B:对
正确答案:【错】
10、单选题:if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()
A:
必须是整数值
B:
必须是正数
C:
可以是任意合法的数值
D:
必须是逻辑值
正确答案:【
可以是任意合法的数值
】
第五章 单元测试
1、单选题:
设有程序段
int m=20;
while (m=0) m=m++;
以下说法正确的是()
A:while 循环执行 10 次
B:循环是无限循环
C:循环体语句一次也不执行
D:循环体语句执行一次
正确答案:【循环体语句一次也不执行】
2、单选题:以下叙述正确的是()。
A:
do-while语句构成的循环不能用其它语句构成的循环来代替.
B:
do-while语句构成的循环只能用break语句退出.
C:
用do-while语句构成的循环,在while后的表达式为非零时结束循环.
D:
用do-while语句构成的循环,在while后的表达式为零时结束循环
正确答案:【
用do-while语句构成的循环,在while后的表达式为零时结束循环
】
3、单选题:在以下给出的表达式中,与 do–while(E)语句中的(E)不等价的
表达式是()。
A:
(E!=0)
B:
(!E==0)
C:
(E==0)
D:
(E>0||E<0)
正确答案:【
(E==0)
】
4、单选题:对 for(表达式1; ;表达式3) 可理解为()。
A:
for(表达式1;0;表达式3)
B:
for(表达式1;1;表达式3)
C:
for(表达式1;表达式3;表达式3)
D:
for(表达式1;表达式1;表达式3)
正确答案:【
for(表达式1;1;表达式3)
】
5、单选题:从循环体内某一层跳出,继续执行循环外的语句是()。
A:
return语句
B:
break语句
C:
空语句
D:
continue语句
正确答案:【
break语句
】
6、单选题:下列程序的输出为()。
main()
{ int y=10;
while(y–);
printf(“y=%d ”,y);
}
A:
y=1
B:
y=-1
C:
while构成无限循环
D:
y=0
正确答案:【
y=-1
】
7、单选题:若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;) printf(“%d”,i–);
A:
无限次
B:
2次
C:
1次
D:
0次
正确答案:【
0次
】
8、单选题:C语言中 while 和 do-while 循环的主要区别是()。
A:
do-while 允许从外部转到循环体内
B:
do-while 的循环体至少无条件执行一次
C:
do-while 的循环体不能是复合语句
D:
while的循环控制条件比 do-while的循环控制条件更严格
正确答案:【
do-while 的循环体至少无条件执行一次
】
9、单选题:有以下程序
main()
{int a=1,b=2;
while(a<6) {b+=a;a+=2;}
printf(“%d,%d”,a,b);
}程序运行后的输出结果是( )
A:
6,1
B:
7,11
C:
7,1
D:
5,11
正确答案:【
7,11
】
10、单选题:有以下程序段
int n=0,p;
do
{
scanf(“%d”,&p);
n++;
}while(p!=12345&&n<3);
此处do-while循环的结束条件是______。
A:p的值等于12345或者n的值大于等于3
B:p的值等于12345并且n的值大于等于3
C:p的值不等于12345并且n的值小于3
D:p的值不等于12345或者n的值小于3
正确答案:【p的值等于12345或者n的值大于等于3】
11、单选题:以下程序段中的变量已正确定义
for(i=0;i<4;i=i+2)
for(k=1;k<3;k++) printf(‘*’);
程序段的输出结果是 ()
A:
*
B:
**
C:
********
D:
****
正确答案:【
****
】
12、单选题:以下程序的运行结果是()。
main()
{
int i,b,k=0;
for(i=1;i<=5;i++)
{b=i%2;
while(b>0) { b–;k++;}}
printf(“k=%d,b=%d”,k,b);}
A:k=8,b=-1
B:k=8,b=-2
C:k=3,b=0
D:k=3,b=-1
正确答案:【k=3,b=0】
13、判断题:循环结构中的continue语句是使整个循环终止执行
A:错
B:对
正确答案:【错】
14、判断题:while和do…while循环不论什么条件下它们的结果都是相同的.
A:错
B:对
正确答案:【错】
第六章 单元测试
1、单选题:在一个被调用函数中,关于 return 语句使用的描述,错误的是()
A:被调用函数中可以不用 return 语句
B:被调用函数中可以使用多个 return 语句
C:被调用函数中,一个 return 语句可以返回多个值给调用函数
D:被调用函数中,如果有返回值,就一定要有 return 语句
正确答案:【被调用函数中,一个 return 语句可以返回多个值给调用函数】
2、单选题:以下()函数的定义是错误的?
A:void f(int i) { }
B:void f( ) { }
C:int f( ) { return 0; }
D:void f(int i) { return i+1; }
正确答案:【void f(int i) { return i+1; }】
3、单选题:C语言中函数返回值的类型是由()决定的。
A:return语句中的表达式类型
B:调用该函数的主调函数的类型
C:定义函数时所指定的函数类型
D:调用函数时临时决定
正确答案:【定义函数时所指定的函数类型】
4、单选题:C语言规定,必须用( )作为主函数名。
A:
main
B:
stdio
C:
Function
D:
include
正确答案:【
main
】
5、单选题:下列说法正确的是( )。
A:
main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
B:
main函数必须放在C程序的开头
C:
main函数必须放在C程序的最后
D:
main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的
正确答案:【
main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的
】
6、单选题:以下程序的输出结果是()。
void fun(int x, int y, int z)
{ z=x*x+y*y; }
main( )
{ int a=31;
fun(5,2,a);
printf(“%d”,a);
}
A:
31
B:
无定值
C:
0
D:
29
正确答案:【
31
】
7、单选题:C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:( )。
A:
地址传递
B:
单向值传递
C:
双向值传递
D:
由用户指定传递方式
正确答案:【
单向值传递
】
8、单选题:以下函数头定义正确的是:( )。
A:
double fun(int x ,y)
B:
double fun(int x, int y) ;
C:
double fun(int x, int y)
D:
double fun(int x;int y)
正确答案:【
double fun(int x, int y)
】
9、单选题:现有如下程序
#include“stdio.h”
int fun(int x)
{ printf(“x=%d”,++x); }
int main( )
{ fun(12+5); return 0; }
则程序的输出结果是( )。
A:
x=12
B:
x=17
C:
x=18
D:
x=13
正确答案:【
x=18
】
10、单选题:有以下程序, 执行后输出的结果是( )。
void f(int x,int y)
{ int t;
if(x<y){ t=x; x=y; y=t; }
}
main( )
{ int a=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
printf(‘%d,%d,%d’,a,b,c);}
A:
4,3,5
B:
5,3,4
C:
3,4,5
D:
5,4,3
正确答案:【
4,3,5
】
11、单选题:以下关于C语言程序中函数的说法正确的是:( )。
A:
函数的定义可以嵌套,但函数的调用不可以嵌套
B:
函数的定义和调用均不可以嵌套
C:
函数的定义不可以嵌套,但函数的调用可以嵌套
D:
函数的定义和调用都可以嵌套
正确答案:【
函数的定义不可以嵌套,但函数的调用可以嵌套
】
12、判断题:return语句在一个函数体内只能有一个。
A:对
B:错
正确答案:【错】
13、判断题:在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
A:错
B:对
正确答案:【对】
第七章 单元测试
1、单选题:凡是函数中未指定存储类别的局部变量,其隐含的存储类别是____。
A:extern
B:register
C:static
D:auto
正确答案:【auto】
2、单选题:
下列程序的输出结果是( )。
# include <stdio.h>
int f(int n)
{ static int k, s;
n–;
for(k=n; k>0; k–)
s += k;
return s;
}
int main(void)
{ int k;
k=f(3);
printf(“(%d,%d)”, k, f(k));
return 0;
}
A:(3,6)
B:(3,3)
C:(6,12)
D:(6,6)
正确答案:【(3,6)】
3、单选题:在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。
A:
register
B:
extern
C:
auto
D:
static
正确答案:【
static
】
4、单选题:以下程序的输出结果是( )。
#define MAX(x,y) (x)>(y)?(x):(y)
main()
{
int a=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf(‘%d’,t);
}
A:
7
B:
6
C:
70
D:
60
正确答案:【
7
】
5、单选题:变量的有效范围与其定义的位置有关,( )的作用域在整个源程序文件中都有效。
A:
在第一个函数中定义的变量
B:
在函数中定义的静态变量
C:
在主函数中定义的变量
D:
在定义第一个函数之前所定义的变量
正确答案:【
在定义第一个函数之前所定义的变量
】
6、单选题:以下关于编译预处理的叙述中错误的是( )。
A:
预处理命令不是C语言本身的组成部分
B:
预处理命令行只能位于源程序中的所有语句之前
C:
一条有效的预处理命令必须单独占据一行
D:
预处理命令行必须以#开始
正确答案:【
预处理命令行只能位于源程序中的所有语句之前
】
7、单选题:如果在一个函数中的复合语句中定义了一个变量,则该变量( )。
A:
在本程序范围内有效
B:
为非法变量
C:
只在该复合语句中有效
D:
在该函数中有效
正确答案:【
只在该复合语句中有效
】
8、判断题:进行宏定义时,宏名必须使用大写字母表示。
A:错
B:对
正确答案:【错】
9、判断题:在C语言中,在register寄存器中存储变量比在内存中存储变量运算速度快。
A:对
B:错
正确答案:【对】
第八章 单元测试
1、单选题:
下面的程序段将输出 ▁▁▁▁▁ 。
double a[] = {1, 2, 3, 4, 5};
printf(“%d”, sizeof(a));
A:0
B:48
C:40
D:5
正确答案:【40】
2、单选题:
下面程序的运行结果是()
#include<stdio.h>
int main()
{
int a[]= {2,3,5,4},i;
for(i=0; i<4; i++)
switch(i%2)
{
case 0:
switch(a[i]%2)
{
case 0:
a[i]++;
break;
case 1:
a[i]–;
}
break;
}
for(i=0; i<4; i++)
printf(“%2d”,a[i]);
printf(“”);
return 0;
}
A:2 0 5 0
B:0 3 0 4
C:3 3 4 4
D:3 0 4 0
正确答案:【3 3 4 4】
3、单选题:以下正确地定义了一维整型数组a的语句组是()
A:int a(10) ;
B:int n; scanf(“%d”,&n); int a[n];
C:int a[SIZE];(在程序开始有#define SIZE 10)
D:int n=10,a[n];
正确答案:【int a[SIZE];(在程序开始有#define SIZE 10)】
4、单选题:假定int类型变量占用两个字节,其有定义:int x[10]={0, 2, 4}; 则数组x在内存中所占字节数是()。
A:6
B:10
C:3
D:20
正确答案:【20】
5、单选题:在C语言中,一维数组的定义方式为:类型说明符 数组名().
A:
[整型常量表达式]
B:
[整型表达式]
C:
[整型变量]
D:
[整型常量]或[整型表达式]
正确答案:【
[整型常量表达式]
】
6、单选题:若有说明:int a[10]; ,则对a数组元素的正确引用是( ).
A:
a[10]
B:
a[3.5]
C:
如有任何疑问请及时联系QQ 50895809反馈