第一章 单元测试

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反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

没找到的科目也可以提醒我们更新

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注