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

2017年湖南师范大学数学与计算机科学学院967C语言程序设计和数据结构[专业硕士]之C程序设计考研题库

  摘要

一、选择题

1. 以下选项中,不能对主函数中变量i 和j 的值进行交换的程序是( )。

}

}

}

【答案】A

【解析】选项A ,定义了一个临时指针,实现两个指针地址的交换,而传入了参数是二个指针的副本,即a 、b 地址的副本,故交换了副本地址,对a 、b 无影响,故选择A 选项。B 选项调用函数传人的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型变量,能实现i 与j 值交换。C 选项调用函数传入的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型指针,且已正确开辟内存,能实现i 与j 值交换。D 选项与B 选项相同,能实现i 与j 值交换。

2. 有以下程序:

执行时如输入为:则输出结果是( )。 A.abcdefg B.

c. D.bcdefgh 【答案】D

【解析】题目中for 语句含义是,每次将函数getchar ( )的输入值赋给变量c ,如果不等于‘#’,则执行putcbar (++c), 即将当前变量c 值的ASCII 码+1后,再输出改变后的变量c 的值。当变量c 的值等于‘#’,则终止循环,所以输出应该是bcdefgh ,答案为D 选项。

3. 有以下程序

程序的运行情况是( )。 A. 形成无限循环 B. 输出6 C. 输出5 D. 输出4 【答案】A

【解析】本题执行过程为:i=l,k=0, i<6成立,执行for 循环:退出switch ,

成立,执行for 循环:

,匹配easel ,k=l, break

匹配case2,k=2,执行continue ,由于其只用于

循环结构,退出switch , 且不执行此次for 循环以后的语句,i=2不变,i<6成立,执行下一次for 循环,以后的循环情况完全一致,i=2不会改变,形成无限循环。故A 项正确。

4. 有以下程序:

程序运行后的输出结果是( )。 A.6 B.1 C.0 D.3

【答案】D

【解析】按位与运算符。a=3=118,b=3=118,按位与结果为11B=3,D 项正确。

5. 若有以下函数首部

则下面针对此函数的函数声明语句中正确的是( )。 A. B. C. D. 【答案】A

【解析】函数声明应该和函数调用的参数保持一致,声明时的参数(形参)名字可以省略,数组在参数传递过程中变成指针。 6 若有定义语句.

A. B. C. D. 【答案】C

则下面对m 数组元素的引用中错误的是( )。

【解析】数组的下标从零开始标记,数组m 中有5个元素,所以数组m 即

C 项,访问数组元素为

〜4, 可见会溢出,会引起错误。

7. 若有定义语句

。 A B. C.

,但是数组申请的空间是0

以下选项中能够输出“OK ”的语句是( )