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

2018年北京航空航天大学交通科学与工程院991数据结构与C语言程序设计之C程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。 A.0 B.9 C.6 D.8

【答案】C

【解析】函数f 是递归函数,递归的终止条件是X 为1或2。返回值为3,即

2. 若有以下定义和语句:

所以

则值为6的表达式是(提示:

【答案】D

的优先级高于

( )。

【解析】定义指向结构体变量的指针P ,并将结构体数组首地址赋给加一指向数组第二个元素,其成员ri=6, D 项正确员

指向结构体数组第一个元素,其成员n=5,由于

第 2 页,共 62 页

指针自

指向结构体数组第一个元素,其成

是后缀,先取值,所以表达

式为5, 之后再自加一5。

为结构体数组第一个元素,其成员n=5, 先取值,表达式为

3. 若函数中有定义语句intk ;,则( )。

A. 系统将自动给k 赋初值0 B. 这时k 中的值无定义 C. 系统将自动给k 赋初值-1 D. 这时k 中无任何值 【答案】B

【解析】intk ;这条语句是定义一个整型变量k ,这是动态定义,编译程序仅为k 开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值时无意义的。若是静态定义,则会自动初始化,其默认值为0。

4. 有以下程序:

程序的运行结果是( )。 A.5 B.2 C.6 D.3

【答案】A

【解析】malloc (size )函数的返回值是新分配的存储区的首地址,将该地址赋值给p 指针,然后取p 指针 的地址,调用fun 函数。fun 函数中对指向指针的指针s 指向的内存单元赋值,其中

表示二维数组x 的第二行的行地址,与

等价,A 项正确。

表示二维数组X 的第二行第二列的地址,所以

赋值给

为p ,所以

代表

fun 函数的功能是将二维数组X 的第二行第二列的值,即

5. 有以下程序:

第 3 页,共 62 页

程序运行后的输出结果是( )。 A.10,9 B.11,10 C.010,9 D.9,10 【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。

6. 有以下程序:

程序运行的结果是( )。 A.4 B.34 C.31 D.32

【答案】C

【解析】函数fun 的形参有三个,第一个是指针,它指向长度为4的int 数组;后两项都是int 型变量;返回值为int 类型。fun 函数调用发生在a 的第i 行,

s 中,第k 列、第

7. 有以下程序段:

指针s 初始时指向a 的第一行,

指向

作用相同,都表示a 中第i 行第k 列元素。函数fun 的作用是找出数组疔中的最大值; 即找出二维数组a 的第0列中最大值,返回31。

若要给

分别输

入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。

A. 字母A 、B 、C 之问可以用空格分隔 B. 字母A 、B 、C 之间不能有分隔符

第 4 页,共 62 页