第一章 单元测试

1、单选题:

下列对C语言特点的描述中,错误的是(    )。

A:C语言编程简洁明了
B:C语言移植性好
C:C语言不是结构化程序设计语言
D:C语言功能较强
正确答案:【C语言不是结构化程序设计语言】

2、单选题:下列关于C语言程序在结构上特点的描述中,错误的是(    )。

A:C语言程序是一个函数串
B:C语言程序的诸多函数中,只能有一个主函数
C:C语言程序可以由一个或多个文件组成
D:C语言程序被执行时,通常是从第1个函数开始
正确答案:【C语言程序被执行时,通常是从第1个函数开始】

3、单选题:

在scanf()函数的格式说明符中,长整型数的输入格式说明符是(   )。
A:%d
B:%x
C:%lf
D:%ld
正确答案:【%ld】

4、单选题:在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是(   )。
A:%s
B:%c
C:%lf
D:%ld
正确答案:【%lf】

5、单选题:下列不是C语言特点的是?
A:只有64个保留字(reserved keywords),使变量、函数命名有更多弹性。
B:C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C:不同的变量类型可以用结构体(struct)组合在一起。
D:语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
正确答案:【只有64个保留字(reserved keywords),使变量、函数命名有更多弹性。】

6、判断题:

几乎没有不能用C语言实现的软件?
A:对
B:错
正确答案:【错】

7、判断题:

C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等?
A:对
B:错
正确答案:【对】

8、判断题:

Dev C++是一个开源的编程软件吗?
A:对
B:错
正确答案:【对】

9、判断题:

编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?
A:对
B:错
正确答案:【对】

10、判断题:

任何程序都有主函数吗?
A:错
B:对
正确答案:【对】

第二章 单元测试

1、单选题:

若i=3,j=i++;执行运算后i和j的值为?
A:i=4,j=4
B:i=3,j=3
C:i=3,j=4
D:i=4,j=3
正确答案:【i=4,j=3】

2、单选题:

下列函数在屏幕上输出的结果是?

# include <stdio.h>

int main(void )

{

printf(“学号 姓名 班级n”);

return 0;

}

A:学号班级姓名
B:学号 姓名 班级
C:”学号 姓名 班级n”
D:”学号 姓名 班级”
正确答案:【学号 姓名 班级】

3、单选题:

下列函数在屏幕上输出的结果是?

# include <stdio.h>

int main(void )

{

printf(“****n***n**n*n”);

return 0;

}

A:****

***

**

*

B:****n***n**n*n
C:”****n***n**n*n”
D:**** *** ** *
正确答案:【****

***

**

*

4、单选题:

关于关系运算,下列说法正确的是?
A:关系运算符的优先级低于赋值运算符
B:关系表达式“a>b”的值为“真”,表达式的值为0。
C:关系表达式的值是一个逻辑值,即“真”或“假”。
D:>=和==的优先级相同。
正确答案:【关系表达式的值是一个逻辑值,即“真”或“假”。】

5、单选题:

下列运算符,优先级最高的是?
A:>
B:||
C:

&&

D: !
正确答案:【

&&

6、单选题:

关于if-else 语句,下列说法错误的是?
A:在if语句中可嵌套一个或多个if语句。
B:if语句后面只能加逻辑表达式。
C:当if和else数目不同时,可以加花括号来确定配对关系。
D:else总是与它上面的,最近的,同一复合语句中的,未配

对的if语句配对。

正确答案:【if语句后面只能加逻辑表达式。】

7、单选题:

关于scanf()函数,说法正确的是?
A:A. scanf()函数中的“格式控制”后面应当是变量名。
B:scanf()函数中“d”是用来输入无符号的十进制整数的格式字符。
C:scanf()函数中“u”是用来输入有符号的十进制整数的格式字符。
D:scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。
正确答案:【scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。】

8、单选题:

语句for(i=1;i<=100;i++) sum=sum+i; 的功能是?
A:1~100最大的数的值。
B:1~100以内所有奇数的和
C:1~100以内所有整数的和
D:1~100以内所有偶数的和
正确答案:【1~100以内所有整数的和】

9、单选题:

关于函数,下列说法正确的是?
A:main函数和其他函数一样,可以互相调用。
B:函数可以嵌套定义
C:同一个函数可以被一个或多个函数调用任意多次。
D:一个C程序只能由一个函数构成。
正确答案:【同一个函数可以被一个或多个函数调用任意多次。】

10、单选题:

关于函数的类型,下列说法正确的是?
A:在调用无参函数时,主调函数向被调用函数传递数据。
B:标准函数,即库函数。这是由用户自己定义的。
C:用户可以自己定义函数。
D:在调用被调用函数时,主调函数不向被调用函数传递数据。
正确答案:【用户可以自己定义函数。】

第三章 单元测试

1、判断题:

标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
A:错
B:对
正确答案:【对】

2、单选题:

下列是输出显示字符’a’的八进制ASCII码的语句,正确的是(   )。

A:printf(“%cn”, ‘a’);
B:printf(“%sn”, ‘a’);
C:printf(“%on”, ‘a’);
D:printf(“%dn”, ‘a’);
正确答案:【printf(“%on”, ‘a’);】

3、单选题:

C语言中合法的字符常量是    。

A:110
B:”n”
C:’n’
D: n
正确答案:【’n’】

4、单选题:

表达式1/5+3%4+4.5/5的值是    。
A:3.900000
B:1.85
C:

1.100000

D:3.9
正确答案:【3.900000】

5、单选题:

有以下程序:

 

main( )

{int  m;

m=10;

printf(“%dn”,(–m*3/5));

}

 

程序运行后的输出结果是    。

A:4
B:5
C:6
D:7
正确答案:【5】

6、单选题:

表达式(int)(1/3+.5*3+5%3) 的计算结果为    。

A:2
B:1
C:3
D:7
正确答案:【3】

7、单选题:

下列不正确的转义字符是       。

A:
B:’
C: 
D:074
正确答案:【074】

8、单选题:

无符号基本整型的数据类型符为              ,双精度实型数据类型符为        ,字符型数据类型符为         。

A:double      char    unsigned int

B: char    unsigned int    double
C:unsigned int     double      char
D: chara    unsignedint    double
正确答案:【unsigned int     double      char】

9、单选题:

printf(“%c,%d”,’a’, ‘a’);的输出结果是        。
A:97  a
B: a  97
C:97,a
D:a,97
正确答案:【a,97】

10、单选题:

下列格式符中,哪一个可以用于以八进制形式输出整数       。
A:%8d
B:%o
C:%ld
D:%d
正确答案:【%o】

第四章 单元测试

1、单选题:

以下运算符中,优先级最高的运算符是(        ).

A:(类型)
B:+
C:*=
D:>=
正确答案:【(类型)】

2、单选题:

执行下列程序段后,m的值是(        ).

int w=2,x=3,y=4,z=5,m;

m=(w<x)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:z;

A:2
B:3
C:5
D:4
正确答案:【2】

3、单选题:

对下述程序,(        )是正确的判断.

#include<stdio.h>

void main()

{int  x,y;

scanf(“%d,%d”,&x,&y);

if(x>y)

x=y;y=x;

else

x++;y++;

printf(“%d,%d”,x,y);}

A:输入数据4和3,则输出4和4
B:语法错误,不能通过编译
C:输入数据3和4,则输入4和5
D:输入数据4和3,则输入3和4
正确答案:【语法错误,不能通过编译】

4、单选题:

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(        ).

#include <stdio.h>

void main( )

{  int x;

scanf(” %d “, &x);

if(x++>5) printf(” %d”,x);

else         printf(” %dn”, x–);  }

A:6和4
B:7和5
C:6和3
D:7和4
正确答案:【7和5】

5、单选题:

执行下列语句后的输出为(        ).

int j=-1;

if(j<=1)

printf(“****n”);

else

printf(“%%%%n”);

A:%%%%
B:****
C:有错,执行不正确
D:%%%%c
正确答案:【****】

6、单选题:

为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与(        )配对.

A:同一行上的if
B:其之后最近的if
C:其之前最近的if
D:缩排位置相同的if
正确答案:【其之前最近的if】

7、单选题:

C语言的switch语句中case后(        ).

A:可为常量或表达式或有确定值的变量及表达式
B:只能为常量或常量表达式
C:可为任何量或表达式
D:只能为常量
正确答案:【只能为常量或常量表达式】

8、单选题:

void main()

{

int x=1,a=0,b=0;

switch (x)

{

case  0: b++;

case  1: a++;

case  2: a++;b++;

}    printf(“a=%d,b=%d”,a,b);

}

该程序的输出结果是(        ).

A:1,1
B:2,1
C:2,2
D:1,0
正确答案:【2,1】

9、单选题:

有以下程序

main()

{  int a =5,b =4,c= 3,d= 2;

if (a> b> c)

printf(” %dn”,d);

else if ((c-1> = d) = = 1)

printf(” %dn”,d+ 1);

else

printf(” %dn”,d + 2);}

执行后输出结果是(        ).

A:4
B:3
C:2
D:编译时有错,无结果
正确答案:【3】

10、单选题:

当a=1、b=2、c=5、d=5时,执行下面的程序后,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;

A:3
B:6
C:2
D:1
正确答案:【2】

第五章 单元测试

1、单选题:

对于while(!E) s;,若要执行循环体语句s,则E的数值应为 。

A:E不等于0
B:E不等于1
C:E等于1
D:E等于0
正确答案:【E等于0】

2、单选题:

下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。

#include <stdio.h>

main()

{

int n,sum=0;

n=2345;

do{

sum=sum+ ;

n=n/10;

}while(n);

printf(“sum=%d”,sum);

}
A:(n/10)*(n/10)

B:(n%10)*(n%10)
C:n/10
D:n%10
正确答案:【(n%10)*(n%10)】

3、单选题:

对以下程序段,循环体执行的次数是 。

int k=0;

while(k=1)  k++;

A:一次也不执行

B:执行一次
C:无数次
D:有语法错误,不能执行
正确答案:【无数次】

4、单选题:

下面程序段的执行结果是(    )。

a=1;b=2;c=2;

while(a<b<c ) {t=a;a=b;b=t;c–-;}

printf(“%d,%d,%d”,a,b,c);
A:2,1,1
B:1,2,1
C:1,2,0
D:2,1,0
正确答案:【1,2,0】

5、单选题:

下列叙述中正确的是(      )。

A:do-while语句构成的循环不能用其他语句构成的循环来代替
B:用do-while语句构成的循环,在while后的表达式为非零时结束循环
C:用do-while语句构成的循环,在while后的表达式为零时结束循环
D:do-while语句构成的循环只能用break语句退出
正确答案:【用do-while语句构成的循环,在while后的表达式为零时结束循环】

6、单选题:

执行int x=-1;do {x=x*x;} while(x==0);循环时,下列说法正确的是(      )。

A:循环体将执行一次
B:系统将提示有语法错误
C:循环体将执行无限次
D:循环体将执行两次
正确答案:【循环体将执行一次】

7、单选题:

以下程序段的输出结果是(    )。

int main()

{int num=0,s=0;

while(num<=2)

{ num++;

s+=num;

}

printf(“%dn”,s);

}

A)10    B)6                C)3     D)1

A:10
B:1
C:6
D:3
正确答案:【6  】

8、单选题:

若S=0,执行循环语句“for(i=1;i<=10;i=i+3) s=s+i;”后,i的值为(    )。
A:10
B:12
C:11
D:13
正确答案:【13】

9、单选题:

与下面程序段等价的是。

for(n=100;n<=200;n++)

{

if(n%3==0) continue;

printf(“%4d”,n);

}
A:for(n=100;n<=200;n++)

{

if(n%3) printf(“%4d”,n);

else continue;

break;

}

B:for(n=100;(n%3)&&n<=200;n++) printf(“%4d”,n);
C:for(n=100;(n%3)||n<=200;n++) printf(“%4d”,n);
D: for(n=100;n<=200;n++) if(n%3!=0) printf(“%4d”,n);
正确答案:【 for(n=100;n<=200;n++) if(n%3!=0) printf(“%4d”,n);】

10、单选题:

下面程序段    。

for(t=1;t<=100;t++)

{

scanf(“%d”,&x);

if(x<0) break;

printf(“%3d”,t);

}

A:printf函数永远也不执行
B:x>=0时什么也不输出
C:当x<0时整个循环结束
D:循环一次也不会被执行
正确答案:【当x<0时整个循环结束】

第六章 单元测试

1、单选题:

以下正确的函数形式是 。

 

A: double fun(int x,int y)

{ z=x+y; return z; }

B:double fun(int x,int y)

{ double z; z=x+y; return z; }

C:double fun(int x,y)

{ int z; return z; }

D:double fun(x,y)

{ int x,y; double z; z=x+y; return z; }

正确答案:【double fun(int x,int y)

{ double z; z=x+y; return z; }

2、单选题:

若调用一个函数,且此函数中没有return语句,则正确的说法是。
A:

该函数返回一个不确定的值

B:该函数没有返回值
C:该函数返回若干个系统默认值
D:该函数能返回一个用户所希望的函数值
正确答案:【

该函数返回一个不确定的值

3、单选题:

以下正确的说法是。
A:实参和与其对应的形参各占用独立的存储单元
B:实参和与其对应的形参共占用一个存储单元
C:只有当实参和与其对应的形参同名时才共占用存储单元
D:形参是虚拟的,不占用存储单元
正确答案:【实参和与其对应的形参各占用独立的存储单元】

4、单选题:

下面函数调用语句含有实参的个数为。

func((exp1,exp2),(exp3,exp4,exp5));

A:5
B:2
C:1
D:4
正确答案:【2】

5、单选题:

若使用一维数组名作函数实参,则以下正确的说法是。
A:实参数组类型与形参数组类型可以不匹配
B:在被调函数中,不需要考虑形参数组的大小
C:实参数组名与形参数组名必须一致
D:必须在主调函数中说明此数组的大小
正确答案:【在被调函数中,不需要考虑形参数组的大小】

6、单选题:

凡是函数中未指定存储类型的局部变量,其隐含的存储类别为。
A:寄存器(register)
B:外部(extern)
C:静态(static)
D:自动(auto)
正确答案:【自动(auto)】

7、单选题:

执行下列程序:

#define M(x,y)  (x*y)

i=3;

i=M(i,i+1)-8;

变量i的值应为。

A:3
B:5
C:4
D:2
正确答案:【2】

8、单选题:

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

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

发表回复

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