一、选择题
1. 有以下程序:
程序运行的结果是( )。
【答案】A
【解析】在C 语言中,函数参数传递的作用是“传值”,形参和实参是两个没有关系的变量。函数fun 交换了参数值,但只是交换了形参的值,结果并不会传递给实参。所以数组c 没有发生变化,原样输出。
2. 下列定义变量的语句中错误的是( )。
【答案】B 【解析】符号,不能出现在标识符中。
3. 有以下程序:
程序运行时从第一列开始输入:则输出结果是( )。 A.Peachflowefispink. B.Peachflowefis pink. C.Peachflower is pink. D.Peach flower is pink. 【答案】A
for 循环语句中,while 的判断条件输入的字符不为空格和回车,【解析】通过执行while 语句,把输入的字 符串以„‟为分隔符,分别保存在二维数组b 的4行中,再通过%格式控制符,将二维数组b 的四行字符串无 空格连接输出。
4. 以下选项中,合法的一组C 语言数值常量是( )。
【答案】A
【解析】A 项,C 语言中小数必须要有小数点,但是小数部分可以省略,12. 是合法的常量;C 语言中十六进制数以
或
开头,
表示
是指十六进制数
在C 语言中,
或
后跟一
个整数来表示以10为底的幂数,面的数字只能在0~7之间。C 项,
B 项,028表示的是八进制,以0开头,0后
e 后面只能跟整数,Oabc 表示八进制,0后面的数字只能
在0~7之间;D 项,10, 000中不能有逗号。
5. 有如下嵌套的if 语句:
以下选项中与上述if 语句等价的语句是。 A. B. C. D. 【答案】C
【解析】三目运算符
的条件表达式为:表达式1? 表达式2:表达式3。当表达式1的值
为真时,取表达式2的值作为整个条件表达式的值;否则,取表达式3的值作为整个条件表达式的值。条件表达式的结合顺序为从右到左。
6. C 语言程序中,若函数无返回值,则应该对函数说明的类型是( )。
A.int B.double C.char D.void 【答案】D
【解析】A 项,int 表示返回值是整型;B 项,double 表示返回值是双精度型;C 项,char 表示返回值是字符型;D 项,void 表示无返回值。
7. 有以下程序:
程序运行后的输出结果是( )。 A.02 B.13 C.57 D.12
【答案】D 【解析】
具有短路效应,当
前面的表达式结果为逻辑假时后面的表达式不在进行
的计算,k 的值为1, 所以结果为1和2。
计算。k++首先去k 的值,为0, 为逻辑假不在进行
8. 有以下程序:
则以下叙述正确的是( )。 A. 在main 函数中声明了 findmax 函数 B. 在main 函数中定义了 findmax 函数 C. 在main 函数中两次调用了 findmax 函数 D. 在main 函数内、外重复定义了 findmax 函数 【答案】A
【解析】程序编译是从上到下进行的,所以如果函数定义放在主函数之后,那么在函数调用时必须提前声明函数,可以在主函数之前声明函数,也可以在主函数中函数调用之前声明函数。