一、选择题
1. 若有定义inta=l,b=2,c=3;,则执行表达式II (a=b+c)(++b)后a 、b 、c 的值依次为( )。
A.1、2、3
B.5、3、2
C.5、2、3
D.5、3、3
答:C
【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。
2. 下列定义变量的语句中错误的是( )。
A.doubleint_;
C.charFor ;
D.int_int;
答:B 【解析】符号,不能出现在标识符中。
3. 有如下程序:
程序运行后的输出结果是( )。
答:C
【解析】题目中判断if 条件是否成立,
后a 自增
第 2 页,共 31 页 先取值为0, 则为0, 且不计算,而
得if 条件不成立执行else 函数体,输出F 。最后执行语句按照格式输出故C 选项正确。
4. 下面的函数调用语句中func 函数的实参个数是( )。
A.3
B.4
C.5
D.8
答:A
【解析】函数调用中,实参有多个时,它们之间应该用逗号分隔。本题中的实参有3个,
为其中是函数做参数,是
逗号表达式做参数,是逗号与函数相结合做参数。
5. 表达式:(int )((double )9/2-(9)%2)的值是( )。
A.0
B.3
C.4
D.5
答:B
,【解析】运算符“/”“%”的优先级高于“-”故先进行除法和求余运算,再进行减法运算。
强制类型转换表达式的形式为:(类型名)(表达式)。“9/2”转换成double 类型,再转换成int 类型,结果为4, 减号后面的结果为1,故结果为3。
6. 有以下程序:
程序运行后的输出结果是( )。
A.TrueB •TrueFalse
C.False
D.TrueFalseTrue
答:B 【解析】此处是赋值语句“=”,注意赋值操作符与相等操作符“==”的区别,因此答案为B 选项。
7. 以下叙述中错误的是( )
A.C 语言的可执行程序是由一系列机器指令构成的
第 3 页,共 31 页
B. 用C 语言编写的源程序不能直接在计算机上运行
C. 通过编译得到的二进制目标程序需要连接才可以运行
D. 在没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的exe 文件
答:D
【解析】A 项正确,C 语言的可执行程序是由一系列机器指令组成的;BC 项正确,用C 语言编写的源程序 必须经过编译,生成二进制目标代码,再经过连接才能运行;D 项错误,C 语言经过编译链接后的二进制目标代码可以脱离C 语言集成开发环境独立运行。
8. 关于C 语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D. 只有八进制表示的数才不会有误差
答:A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。
9. 以下叙述中正确的是( )。
A. 在算法设计时,可以把复杂任务分解成一些简单的子任务
B. 在C 语言程序设计中,所有函数必须保存在一个源文件中
C. 只要包含了三种基本结构的算法就是结构化程序
D. 结构化程序必须包含所有的三种基本结构,缺一不可
答:A
【解析】A 项正确,模块化的程序设计方法;B 项错误,C 语言中,函数可以放在不同的源文件中;CD 两项错误,由三种基本结构所构成的程序称为结构化程序,三种基本结构可以任意组合。
10.有以下程序:
程序的运行结果是( )。
A.3
B.5
第 4 页,共 31 页