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 函数中。
相关内容
相关标签