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

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

  摘要

一、选择题

1. 有以下程序:

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

A.12

B.11

C.10

D.9

【答案】C 【解析】

2. 有以下程序

表示按照八进制赋值,则十进制数为9, 所以输出++x的结果为10。

程序的运行结果是( )。

【答案】B

【解析】struct 变量作为形参和返回值时,传递的是结构体类型的值。f 函数中,把b 变量赋值给a ,然后将a 返回并赋值给d ,所以,d 中的数据与b 的数据相同。

3. 若有函数声明

:以下叙述正确的是( )。

A. 函数参数array ,ptr 都是指针变量

B. 函数参数array 不是指针变量,ptr 是指针变量

C. 调用函数时,实参数组的值将一一复制给array 数组

D. 调用函数时,array 是按值传送,ptr 是按地址传送

【答案】A

【解析】数组名为数组的首地址,也是指向数组的指针,所以array 和ptr 都是指针,A 项正确,B 项错误。调用函数时,将实参数组首地址赋给指针array , 而不是传递整个数组元素,C 项错误。调用函数时,ar-ray 与ptr 都是按地址传送的,D 项错误。

4. 若有定义语句intx=12,y=8,z ;,

其后执行语句则z 的值为。

A.1.9

B.1

C.2

D.2.4

【答案】B

【解析】根据优先级先计算x/y, 即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,由于z 定义为整型,故最终结果为1。

5. 设变量已正确定义并赋值,以下正确的表达式是( )。

【答案】C

【解析】赋值运算左边必须是单一变量名。A 项错误,

错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。

6. 设有以下函数:

【答案】A

【解析】函数指针的一般定义形式为数据类型(*指针变量名)( )。D 项中,

部分是非法赋值。BD 两项

带有两个数据类型,不符合函数指针定义。

7. 下列叙述中正确的是( )。

A. 每个C 程序文件中都必须要有一个main 函数

B. 在C 程序中main 函数的位置是固定的

C.C 程序中所有函数之间都可以相互调用

D. 在C 程序的函数中不能定义另一个函数

【答案】D

【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。

8. 设变量均已正确定义,若要通过

语句为变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是(注:口代表空格字符)( )。

A.

B. C.

D.

【答案】A

【解析】因为空格和回车也是字符变量,所以在输入X 和Y 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非X 和Y ; int 类型不会取到空格和回车,所以10和20前面可以有空格和回车。

9. 设有一个的矩阵已经存放在一个M 行N 列的数组x 中,且有以下程序段:sum=0;

以上程序段计算的是( )。

A. 矩阵两条对角线元素之和

B. 矩阵所有不靠边元素之和

C. 矩阵所有元素之和

D. 矩阵所有靠边元素之和

【答案】D

【解析】程序执行过程为:第一个for 循环实现对第一列和第N 列求和。第二个for 循环在上一个for 循环结果上实现对第一行和第M 行从第二个元素到第N-1个元素的求和,总体来说,就