第一章 单元测试
1、 问题:
能将高级语言编写的源程序转换为目标程序的是()。
选项:
A:链接程序
B:解释程序
C:编译程序
D:编辑程序
答案: 【
编译程序
】
2、 问题:
C语言的注释定界符是()。
选项:
A:{ }
B:[ ]
C:
( )
D:/ /
答案: 【
/ /
】
3、 问题:
以下标识符中,不能作为合法的C用户定义标识符的是()。
选项:
A:a3_b3
B:void
C:_123
D:IF
答案: 【
void
】
4、 问题:
C语言源程序的基本单位是()。
选项:
A:过程
B、函数
C、子程序
D、标识符
B:函数
C:子程序
D:标识符
答案: 【
函数
】
5、 问题:
计算机能直接执行的程序是用( )程序设计语言编写的。
选项:
A:C语言
B:机器语言
C:汇编语言
D:C++
答案: 【
机器语言
】
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:
12345
B:
68
C:
0xabc
D:
147
答案: 【
0xabc
】
3、 问题:
以下浮点数的表示不正确的是( )。
选项:
A:
e23
B:
7.19E21
C:
22.3
D:
12.E2
答案: 【
e23
】
4、 问题:
C程序中变量可以不定义而直接使用。
选项:
A:对
B:错
答案: 【
错
】
5、 问题:
不能将字符串赋给字符变量。
选项:
A:对
B:错
答案: 【
对
】
6、 问题:
以下不合法的实型常量是( )。
选项:
A:
0.5
B:
.5
C:
5.0
D:
5
答案: 【
5
】
7、 问题:
以下哪个是字符数据类型关键字( )。
选项:
A:
string
B:
c
C:
char
D:
CHAR
答案: 【
char
】
8、 问题:
在程序运行期间,变量可以多次被赋值。
选项:
A:对
B:错
答案: 【
对
】
9、 问题:
以下关于符号常量的说法正确的是( )。
选项:
A:
符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变
B:
可以将圆周率这个常量值定义为符号常量,定义方法为:#define PI=3.1415926
C:
使用符号常量不仅便于程序的调试和维护,还能大大提高程序的运行速度
D:
符号常量名可以不遵循C语言的标识符和命名规则
答案: 【
符号常量是以标识符形式出现的常量,一经定义,它所代表的常量值在其作用域内不能改变
】
10、 问题:
以下定义变量的语句错误的是( )。
选项:
A:
int x1;
B:
float y1;
C:
Double a1;
D:
double z1;
答案: 【
Double a1;
】
11、 问题:
以下能正确定义变量并给变量赋值的是( )。
选项:
A:
int a,b; a=b=6;
B:
int a=5,b=5;
C:
int a=5,b; b=5;
D:
int a=b=5;
答案: 【
int a,b; a=b=6;
int a=5,b=5;
int a=5,b; b=5;
】
12、 问题:
以下是合法C语言常量的是( )。
选项:
A:
012
B:
“a”
C:
e-2
D:
‘a’
答案: 【
012
“a”
‘a’
】
13、 问题:
以下合法的C语言整型常量是( )。
选项:
A:
160
B:
-0xffff
C:
011
D:
01a
答案: 【
160
-0xffff
011
】
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=b
C:
a=11, a=13, a=c
D:
a=11, a=12, a=13
答案: 【
a=11, a=13, a=b
】
15、 问题:
函数putchar(65) 的功能是向终端输出( )。
选项:
A:
6
B:
65
C:
有编译错误
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、单选题:
以下关于编译预处理的叙述中错误的是(&nb
如无法购买,请复制网址,换浏览器打开
做题有答案,效率提高!使用过程中有疑问联系QQ55089918
还木有评论哦,快来抢沙发吧~