2018年北京市培养单位材料科学与光电技术院864程序设计之C程序设计考研仿真模拟五套题
● 摘要
一、选择题
1. 以下关于宏的叙述错误的是( )。
A. 宏替换不具有计算功能
B. 宏是一种预处理指令
C. 宏名必须用大写字母构成
D. 宏替换不占用运行时间
【答案】C
【解析】宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为C 选项。
2. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL
B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
【答案】D
【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
3. 若有以下程序
则程序的输出结果是( )。
A.13
B.10
C.11
D.15
【答案】C
【解析】default 也是关键字,起标号的作用,代表所有case 标号之外的那些标号。default 标号可以出现在语句体中任何标号位置上。在switch 语句体中也可以没有default 标号。
先判定case 语句,如果没有与判定值相等的标号,并且存在default 标号,则从default 标号后的语句开始执行。如果default 语句没有break ,则其下面的case 语句不加判定的继续执行(default 位置在case 前面时),直到遇到break 或switch 结尾。
①n=0,执行default ,s=4,没有遇到break ,不与case 标号比较,直接执行case 后的语句,s=5,遇到break ,跳出循环;
②n=l,s+=l,s=6;
③n=2»s+=2, s=8;
④n=Ls+=3,s=11。
4. 有以下程序:
程序运行后从第一列开始输入以下数据:
2473<回车>
程序的输出结果是( )。
A.668977
B.4444
C.6677877
D.68766
【答案】A
【解析】本题执行过程为:输入
句,跳出分支结构;输入
入首先匹配caseO , 依次输出6, 6, 后执行break 语匹配case2,输出8,执行break 语句,跳出分支结构;输
匹配default , 输出9,执行break 语句,跳出分支结构;输入匹配easel ,依次输出7,7,执行break 语句,跳出分支结构。输入回车,结束循环。
5. 以下叙述正确的是( )。
A.EOF 只能作为文本文件的结束标志,其值为-1
B.EOF 可以作为所有文件的结束标志
C.EOF 只能作为二进制文件的结束标志
D. 任何文件都不能用EOF 作为文件的结束标志
【答案】A
【解析】文件结束或者错误,则返回符EOF 是在头文件中定义的宏,一般值为在while 循环中以EOF 作为文件结束标志,这种以EOF 作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII 代码值的形式存放,由于不可能出现-1,因此可以用EOF 作为文件结束标志。
6. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。
【答案】A
【解析】abc 均大于1,所以表达式
B 项错误。C 项表示表达 式小于1,需要用浮点类型表示。若要计算表达式值,结果需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,错误。D 项,算数运算法结合性自左向右,先计算
为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。
7. 下面关于位运算符的叙述,正确的是( )。
A.&表示“按位与”的运算
B.#表示“按位异或”的运算 C. 表示“按位或”的运算
D. 〜表示“按位异或”的运算
【答案】A
【解析】C 语言提供的六种位运算符,如下表所示,