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

2018年广西师范大学计算机科学与信息工程院854数据结构及计算机组成原理之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 有以下程序:

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

A.0

B.3

C.7

D.8

【答案】B

【解析】C 语言中,字符串没有专门的类型表示,是通过字符数组表示,在字符串末尾用表识字符串结 束。字符串s 的前三个字符满足if 语句,所以所以最后输出n 值为3。

2. 有以下程序:

当遇到时,for 循环终止,

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

A.2,6

B.0,0

C.2,4

D.1,2

【答案】B

【解析】程序执行过程为:定义数组调用函数fun ,将数组地址传人函数,指针pi 指向a ,s 指向b ,定义指针t 并使其指向开辟的两个整型内存,为第一个内存赋值为数组a 第一个元素的2倍,即2,然后指针pi 指向a 数组第二个元素,为第二个内存赋值为数组a 第二个元素的2倍,即4,最后使指针s 指向动态开辟的两个内存的首地址。整个过程中数组b 没有发生变化,依次输出b 中元素为0,0,故B 项正确。

3. 设有如下程序段:

以下叙述正确的是( )。

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. C 语言程序中,若函数无返回值,则应该对函数说明的类型是( )。

A.int

B.double

C.char

D.void

【答案】D

【解析】A 项,int 表示返回值是整型;B 项,double 表示返回值是双精度型;C 项,char 表

示返回值是字符型;D 项,void 表示无返回值。

5. 有以下程序:

程序的运行结果是( )。

A.3

B.5

C.6

D. 结果不确定

【答案】A

【解析】( )的优先级大于*,故先将1.99强制转化为1,即浮点数1.99被强制转换成1,执行语句a=(int )1.99*3;计算得a=lX3=3。

6. 有以下程序:

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

A.1,2,1,2

B.1,2,2,1

C.2,1,2,1

D.2,1,1,2

【答案】B

【解析】本题首先让指针变量p 和q 分别指向m 和n 的地址空间,然后将p 赋值给r ,让r

指向m ,q 赋值给p ,让p 指向n ,再将r 赋值给q ,让q 指向m ,因此最后p 指向n ,q 指向m 。

7. 有如下程序段:

则for 循环体执行的次数是( )。

A.0次

B.1次