2016年江西理工大学理学院凝聚态物理(加试)之C程序设计复试笔试最后押题五套卷
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.6 B.1 C.0 D.3 答:D
【解析】按位与运算符。a=3=118,b=3=118,按位与结果为11B=3,D 项正确。
2. 以下选项中,合法的是( )。
A. B. C. D. 答:A
【解析】A 中是在赋初值时直接赋字符串常量。B 项错误,str4是字符变量不能赋值为字符串常量;CD 两项错误,字符串常量给出的是地址值,而数组名name 是一个地址常量,不能被重新赋值。
3. 以下叙述中正确的是( )。
A. 在算法设计时,可以把复杂任务分解成一些简单的子任务 B. 在C 语言程序设计中,所有函数必须保存在一个源文件中 C. 只要包含了三种基本结构的算法就是结构化程序 D. 结构化程序必须包含所有的三种基本结构,缺一不可 答:A
【解析】A 项正确,模块化的程序设计方法;B 项错误,C 语言中,函数可以放在不同的源文件中;CD 两项错误,由三种基本结构所构成的程序称为结构化程序,三种基本结构可以任意组合。
第 2 页,共 33 页
4. 有以下程序:
程序运行后的输出结果是( )。 A.2, 4, 8, B.3, 6, 9, C.3, 5, 7, D.1, 3, 5, 答:B
【解析】函数实现的功能是将数组a 中每一行的最大值放于数组b 中
,
第一行最大值为3,第二行最大值为6,第二行最大值为9。
5. 阅读以下程序:
该程序在编译时产生错误,其出错原因是( )。 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出case 的值 答:A
【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符, 故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。
第 3 页,共 33 页
6. 以下叙述中正确的是( )。
A. 简单递归不需要明确的结束递归的条件 B. 任何情况下都不能用函数名作为实参
C. 函数的递归调用不需要额外开销,所以效率很高 D. 函数既可以直接调用自己,也可以间接调用自己 答:D
【解析】D 项正确,C 语言中的函数可以递归调用,S 卩:可以直接或间接地自己调用自己。前者称简单递归, 后者称间接递归。A 项错误,递归必定要有一个明确的结束递归的条件;B 项错误,递归就是把函数名作为实参 的一种特殊情况;C 项错误,函数的递归调用过程中,系统要为每一层调用中的变量开辟存储单元,要记住每一层调用后的返回点,要增加许多额外的开销,通常会降低程序的运行效率。
7. 有以下程序
程序运行后的输出结果是( )。 A.-12 B.9 C.0 D.3 答:A
【解析】C 语言中,表达式从右向左计算。
可以写成
而
等价于
等价于a=a+a=(-6)+(-6)=-12。
8. 设a ,b ,C 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是( )。
答:D
【解析】D 项,再给b 赋
值为1,再计算赋值运算符左边必须是一个变量,但数值2是常量,语法错误。
9. 以下叙述中正确的是( )。
A. 只要是用户定义的标识符,都有一个有效的作用域
B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域
第 4 页,共 33 页
具有最高优先级,b 先赋值9, 再根据赋值运算符号自右向左进行赋值,