当前位置:问答库>考研试题

2018年北京市培养单位空间应用工程与技术中心864程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 以下定义语句中正确的是( )。

【答案】C

【解析】C 项正确,int 转换成char 类型时,按照ASCII 码表进行转换,65表示’A ’,66表示‘B ’,等价于A=‘B ’。A 项错误,b ,c 都是float*类型

的结束,应改成逗号。

2. 有以下程序:

程序运行后的输出结果是( )。

A.6

B.7

C.11

D.12

【答案】A

【解析

】是字符数组,初始化时未赋初始值的自动赋

函数求字符串长度,统计长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。

3. 设有如下程序段:

无法把float**转换成float*。B 项错误,b 未定义,可改成inta ,b ; a=b=0; D 项错误,分号表示语句

以下叙述正确的是( )。

A. 只有a ,b ,c 的定义是合法的

B.a , b ,c ,d 的定义都是合法的

C. 只有a , b 的定义是合法的

D. 只有c 的定义是合法的

【答案】C

【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,c 定义不合法。定义字符d ,赋初值字符串“AB ”,这是不合法的定义,若要定义数组,必须要

有下标运算符。可知,ab 定义合法,cd 定义不合法,C 项正确。

4. 有以下程序:

程序运行后的输出结果是( )。

A.6

B.21

C.123456

D.654321

【答案】A

【解析】本题首先定义文件指针变量fp 和数组入数据再打开文件随后先给文件写rewind 函数将文件指针从当前位置重新指向文件开始位置,所以for 循环依次将数组a 中的数据写入文件开始位置,退出循环后,文件中的数据顺序为:654321,重新使指针指向文件开始位置,将此时fp 指向的数据(即文件中第一个数据6)写入变量k 中,关闭文件,输出k 值,

A 项正确。

5. 有以下程序:

程序运行后的输出结果是( )。

A.-1

B.0

C.1

D.7

【答案】A 【解析】和运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当

直到while 判断为0

后输出,最终输出的结果为-1。

的值是( )。 以后缀形式出现时,贝U 先取值,再进行加一或减一操作。程序中执行时才跳出循环,执行下条语句,即a 为0时再执行 6. 若有定义语句intb=2;, 则表达式

A.4

B.8

C.0

D.2

【答案】B

【解析】b=2, 转为二进制即为0010,首先将b 左移两位,变成1000,即十进制的8, 3llb 的值为真即为1, 最后计算8/1的值,为8。

7. 若有定义语句inta=10;doubleb=3.14;, 则表达式'A'+a+b值的类型是( )。

A.char

B.int

C.double

D.float

【答案】C

【解析】在多目运算符相关联的运算数中,如果类型不一致,系统将自动进行类型转换,使

a 是整型,b 是double 两边的类型达到一直后,再进行运算,转换的规则是由“低到高V A' 是字符型,

型。字符型数据占1个字节,整型占2个字节,double 型占8个字节,故三者相加后为double 型,即选择答案C 。

8. 以下叙述中错误的是( )。

A. 书写风格良好的程序执行效率尚