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次