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

2017年北京市培养单位材料科学与光电技术学院864程序设计考研导师圈点必考题汇编

  摘要

一、选择题

1. 有以下程序:

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

【答案】D

,在【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( )f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。

2. 有以下程序:

程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10

【答案】C

【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。

3. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。

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

【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:

并且初始化为一个字符串的首地址:变量,所以不能给一个数组名赋值,

A 选项正确。另一种是定义一个字符指针变量,

字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指针变

现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一个量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符 串

.

合法,故D 选项错误。

4. 有以下程序:

不合法,只有在数组初始化时可以直接赋值,

合法,并且定义数组时必须指定数组长度,

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

【答案】C

【解析】f 函数的功能:用形参结构体指针b 指向的结构体对形参a 赋值,此时形参结构体a 的值为指针b 指向的值,输出a 即输出指针b 指向的结构体,返回到main 函数后,在输出实参a 的值。

5. 有以下程序

执行后的输出结果是( )。 A.2 B.3 C.7 D.0

【答案】A

【解析】函数的递归调用,调用过程如下表所示。

6. 有以下函数: