绪论 单元测试

1、单选题:
C语言属于一门_____的语言( )。
选项:
A:机器语言;
B:面向过程;
C:汇编语言;
D:面向对象;
答案: 【面向过程;

第一章 单元测试

1、单选题:
C语言程序从( )开始执行。
选项:
A:程序中第一条可执行语句
B:程序中的main函数
C:包含文件中的第一个函数
D:程序中第一个函数
答案: 【程序中的main函数

2、单选题:
以下不正确的C语言标识符是( )。
选项:
A:ABC
B:a_bc
C:ab.c
D:abc
答案: 【ab.c

3、多选题:
下列关于C语言的说法正确的是( )。
选项:
A:C程序的三种基本结构是顺序、选择、循环
B:C程序的工作过程是编辑、编译、连接、运行
C:C语言不区分大小写
D:C程序从main函数开始执行
答案: 【C程序的三种基本结构是顺序、选择、循环;
C程序的工作过程是编辑、编译、连接、运行;
C程序从main函数开始执行

4、单选题:
( )是构成C语言程序的基本单位。
选项:
A:过程
B:子例
C:函数
D:子程序
答案: 【函数

5、单选题:
在C语言程序中,表达式5%2的结果是( )。
选项:
A:2.5
B:2
C:1
D:3
答案: 【1

6、单选题:
下列数据中属于“字符串常量”的是( )。
选项:
A:“a”
B:‘a’
C:‘abc’
D:{ABC}
答案: 【“a”

7、单选题:
下列for循环的次数为( )。for(i=0,x=0;!x &&i<=5;i++)
选项:
A:5
B:6
C:1
D:无限
答案: 【6

8、单选题:
C 语言程序的模块化是通过以下哪个选项实现的( )。
选项:
A:函数
B:变量
C:语句
D:程序行
答案: 【函数

9、多选题:
以下选项中叙述错误的是( )。
选项:
A:C 语言的标识符可分为运算符、用户标识符和关键字三类
B:C 语言的标识符可分为函数名、变量和预定义标识符三类
C:C 语言的标识符可分为语句、变量和关键字三类
D:C 语言的标识符可分为关键字、预定义标识符和用户标识符三类
答案: 【C 语言的标识符可分为运算符、用户标识符和关键字三类;
C 语言的标识符可分为函数名、变量和预定义标识符三类;
C 语言的标识符可分为语句、变量和关键字三类

10、单选题:
以下选项中叙述正确的是( )。
选项:
A:C 程序中的注释必须在一行完成
B:C 程序中的注释可以嵌套
C:函数体必须由 { 开始
D:C 程序必须由 main 语句开始
答案: 【函数体必须由 { 开始

11、多选题:
以下选项中叙述错误的是( )。
选项:
A:C 语言源程序不编译也能直接运行
B:使用 N-S 流程图不能描述复杂算法
C:结构化程序的三种基本结构是循环结构、选择结构、顺序结构
D:计算机能够直接运行 C 语言源程序,不必进行任何转换
答案: 【C 语言源程序不编译也能直接运行;
使用 N-S 流程图不能描述复杂算法;
计算机能够直接运行 C 语言源程序,不必进行任何转换

12、单选题:
以下选项中叙述正确的是( )。
选项:
A:只要程序包含了三种基本结构中的任意一种,就是结构化程序
B:可运行 C 语言程序不需要包含 main()函数
C:使用三种基本结构就可以实现任何复杂算法
D:程序语法错误要在运行时才能发现
答案: 【使用三种基本结构就可以实现任何复杂算法

13、单选题:
以下选项中叙述正确的是( )。
选项:
A:简单算法的操作步骤不能超过 20 步
B:有些算法不能用三种基本结构来表达
C:算法需要包含所有三种基本结构
D:C 程序中的语句要经过编译才能转换成二进制机器指令
答案: 【C 程序中的语句要经过编译才能转换成二进制机器指令

14、多选题:
以下选项中叙述错误的是( )。
选项:
A:复杂任务可以分解成简单子任务
B:全部三种基本结构都包含的才是结构化程序
C:C 语言程序可以定义多个不同内容的 main 函数
D:C 语言程序中的所有函数必须保存在同一个源文件中
答案: 【全部三种基本结构都包含的才是结构化程序;
C 语言程序可以定义多个不同内容的 main 函数;
C 语言程序中的所有函数必须保存在同一个源文件中

15、单选题:
以下叙述中错误的是( )。
选项:
A:书写风格良好的程序执行效率高
B:书写风格良好的程序易读性好
C:C 程序可以在一行上写多条语句
D:C 程序允许将一条语句分写在多行上
答案: 【书写风格良好的程序执行效率高

第二章 单元测试

1、单选题:
下列四组选项中,正确的C语言标识符是( )。
选项:
A:a123
B:%x
C:123
D:a+b
答案: 【a123

2、单选题:
C语言中的简单数据类型包括( )。
选项:
A:整型、实型、逻辑型
B:整型、字符型、逻辑型
C:整型、实型、逻辑型、字符型
D:整型、实型、字符型
答案: 【整型、实型、字符型

3、单选题:
下面( )表达式的值为4。
选项:
A:11/3
B:11.0/3
C:(int)(11.0/3+0.5)
D:(float)11/3
答案: 【(int)(11.0/3+0.5)

4、单选题:
在C语言中,函数的数据类型是指( )。
选项:
A:调用该函数时的实参的数据类型
B:函数返回值的数据类型
C:任意指定的数据类型
D:函数形参的数据类型
答案: 【函数返回值的数据类型

5、单选题:
设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f值的数据类型为( )。
选项:
A:float
B:不确定
C:double
D:int
答案: 【double

6、单选题:
在C语言中,char型数据在内存中的存储形式是( )。
选项:
A:补码
B:源码
C:反码
D:ASCII码
答案: 【ASCII码

7、单选题:
以下程序的执行结果是( )。#include<stdio.h>{int i=10,j=10;printf("%d,%dn",++i,j--);}
选项:
A:10,9
B:11,10
C:9,10
D:11,9
答案: 【11,10

8、单选题:
在以下一组运算符中,优先级最高的运算符是:( )。
选项:
A:%
B:<=
C:=
D:&&
答案: 【%

9、单选题:
若k是int型变量,且有下面的程序片段:( )。k = -3;if(k<=0)printf("####")elseprintf("&&&&");上面程序片段的输出结果是
选项:
A:有语法错误,无输出结果
B:####&&&&
C:&&&&
D:####
答案: 【有语法错误,无输出结果

10、单选题:
为表示关系x≥y≥z,应使用C语言表达式( )。
选项:
A:(x>=y)&(y>=z)
B:(x>=y)AND(y>=z)
C:(x>=y>=z)
D:(x>=y)&&(y>=z)
答案: 【(x>=y)&&(y>=z)

11、单选题:
以下叙述正确的是:( )。
选项:
A:可以把include定义为用户标识符,但不能把if定义为用户标识符
B:include和if都不能定义为用户标识符
C:可以把include和if定义为用户标识符
D:可以把if定义为用户标识符,但不能把include定义为用户标识符
答案: 【include和if都不能定义为用户标识符

12、单选题:
请选出合法的C语言赋值语句( )。
选项:
A:k=int(a+b);
B:a=b=58
C:a=58,b=58
D:i++;
答案: 【i++;

13、单选题:
如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( )。
选项:
A:0
B:3
C:4
D:1
答案: 【3