一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.2,3,1
B.2, 3, 2
C.2, 3, 3
D.2, 2, 1
答:A
【解析】对于表达式
改成计算第三个表达式
2. 有以下程序
程序运行后的输出结果是( )。
A.-12
B.9
C.0
D.3
答:A
【解析】C 语言中,表达式从右向左计算。
等价于
3. 以下关于typedef 的叙述错误的是( )。
A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性
第 2 页,共 32 页 ,赋值运算符的优先级高于逗号运算符的优先级,可
然后从左向右先计算表达式因为先使用后自增,所以的值为2。最后此时y 的值为1, z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y 的值为3。
可以写成而
等价于
B.typedef 只是将已存在的类型用一个新的名字来代表
C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D. 用typedef 可以增加新类型
答:D
【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。
4. 有以下程序
程序运行后的输出结果是( )。
答:A
【解析】注释之间计算机不参与编译,所以a 、b 值仍为0。
5. 下列关于C 语言文件的叙述中正确的是( )。
A. 文件由一系列数据依次排列组成,只能构成二进制文件
B. 文件由结构序列组成,可以构成二进制文件或文本文件
C. 文件由数据序列组成,可以构成二进制文件或文本文件
D. 文件由字符序列组成,其类型只能是文本文件
答:C
【解析】C 语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。根据数据的组成形式,可将文件分为两种:①ASCII 文件,又称文本
存储形式原样输出到磁盘上存放。所以C 文 件就是一个字节流或一个二进制流。
6. 以下选项中叙述正确的是( )。
A. 使用三种基本结构就可以实现任何复杂算法
B. 只要程序包含了三种基本结构中的任意一种,就是结构化程序
C. 程序语法错误要在运行时才能发现
D.C 语言程序不需要包含main ( )函数
答:A
第 3 页,共 32 页 文件,它的每一个字节可放一个ASCII 码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的
【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可 以解决任何复杂的问题,A 项正确。结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个 相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B 项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C 项错误。C 程序总是从 main 函数开始执行,其他函数由main 函数直接或间接调用执行,所以C 语言程序必须包含main 函数,D 项错误。
7. 有以下程序段:
程序的输出结果是( )。
答:A
【解析】因为所以if 语句判断条件不成立,于是执行得到a 和b 的值不变。
8. 以下选项中叙述正确的是( )。
A. 复杂任务可以分解成简单子任务
B.C 语言程序中的所有函数必须保存在同一个源文件中
C. 全部三种基本结构都包含的才是结构化程序
D.C 语言程序可以定义多个不同内容的main 函数
答:A
【解析】结构化程序设计把一个复杂的问题的求解过程分成阶段进行,即复杂任务可以分解成简单的任务,A 项正确。C 语言程序中的函数不一定要保存在同一个源文件中,外部函数可以
B 项错误。被同程序中其他源文件中调用,结构化程序主要由3种基本控制结构组成,循环结构、
选择结构、顺序结构,它们组成的算法结构可 以解决任何复杂的问题。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,C 项错误。C 程序由 一个或若干个函数构成,程序中有且只能有一个主函数,即main 函数,D 项错误。
9. 有以下程序:
第 4 页,共 32 页