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

2017年沈阳航空航天大学计算机学院817程序设计[专业硕士]考研仿真模拟题

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

A.3,3

B.5,5

C.3,5

D.5,3

【答案】A

【解析】程序执行过程为:p 指针指向变量m ,调用函数,将m 地址传给指针s ,然后再让8指向变量k ,而P 指针所指并没有改变,输出为3,3。

2. 若有说明则以下叙述中正确的是( )。

A. 编译后系统为W 分配5个字节

B. 编译后系统为W 分配6个字节

C. 编译后系统为W 分配58个字节

D. 编译后系统不为W 分配存储空间

【答案】D

【解析】结构体类型的说明只是列出了该结构的组成情况,标志着这种类型的结构“模式”已存在,编译程序并没有因此而分配任何存储空间。真正占有存储空间的仍应是具有相应结构体类型的变量、数组以及动态开辟的存储单元。

3. 有以下程序:

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

A.3,5

B.7,7

C.5,7

D.3,7

【答案】D

【解析】函数f ( )的功能是定义一个整型的指针变量s ,指向全局变量k ,然后修改S 指向地址中的值为7,因此f ( )函数只是修改全局变量k 的值为7,与main ( )函数中临时变量m 无关,因此最后输出为3,7。

4. 在一个C 源程序文件中所定义的全局变量,其作用域为( )。

A. 所在文件的全部范围

B. 所在程序的全部范围

C. 所在函数的全部范围

D. 由具体定义位置和extern 说明来决定范围

【答案】D

【解析】全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。

5. 有以下程序

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

A.6

B.9

C.11

D.7

【答案】A

【解析】首先定义了 3个字符数组p 、q 、r ,并分别被初始化。数组p 指定的大小为20, 初始化列表为

中的内容

为 即只指定了前4个元素的内容,根据C 语言的规定,初始化列表不足时,其余函数,将字符串r 连接到字符串p 之后,即执行后p 表示求字符串q 的长度,得到3, 所以语句

元素均自动初始化为0。然后通过

的作用就是:将字符串q 复制到数组p 的第4个元素位置处,数组p 变成

6. 有以下程序

若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,代表回车)( )。

A. B. C. D.

【答案】A

【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。

7. 有以下结构体说明、变量定义和赋值语句

则以下scanf 函数调用语句有错误的是( )。

A. B. C. D.

【答案】D 【解析】

8. 有以下程序

所以字符串p 的长度是6。 不是地址,不能用于scanf 函数中。