2017年南京邮电大学高级语言程序设计(同等学力加试)考研复试核心题库
● 摘要
一、选择题
1. 有以下程序
程序运行后的输出结果是( )。
A.5
B.50
C.6
D.60
【答案】A
【解析】最后一句应该是
指针p 指向c ,指针s 指向c[5],s-p 就是c 的地址与c[5]的地址之差(以int 的存储空间为单,s 和p 都是int 型变量s=p+5,所以s-p=5。 位)
2. 若变量已正确定义,有以下程序段:
其输出结果是。
A. 程序段有语法
B.3, 5,3
C.3, 5, 5
D.3, 5, 7
【答案】B
【解析】当a>b时,令a=b, a=3,b=5,因此a>b条件不成立,所以不执行a=b。然后c=a=3。此时“c!=a”条件不成立,不执行“c=b; ”语句。结果为a=3, b=5, C=3。
3. 设有以下语句:
若要为变量chi 和ch2分别输入字符A 和B ,正确的输入形式应该是( )。
A.A 和B 之间用逗号间隔
B.A 和B 之间不能有任何间隔符
C.A 和B 之间可以用回车间隔
D.A 和B 之间用空格间隔
【答案】B
【解析】在输入整数或实数这类数值型数据时,输入的数据之间必须用空格、回车符、制表符(Tab 键)等间隔符隔开,间隔符个数不限。但在输入字符型时,要求输入数据时按照一一对应的位置原样输入这些字符,即不能加逗号、回车和空格,因为这些也算是字符。
4. 有以下程序:
程序的运行结果是( )。
A.nice
B.verynice
C.nicegood
D.verygood
【答案】D
【解析】通过赋值运算使一个字符指针指向一个字符串常量:这种形式只是将字符串“nice”首地址赋给指针,而不是将指针原本指向的单元元素改变成“nice”。程序执行过程为:定义字符数 组并且初始化为“verygood”常量,定义指针ps 使其指向数组,使ps 指向数组第5个元素,使指针指向字符串 “nice”,这并不影响s 数组任何元素值,故输出字符串8为“verygood”。
5. 有以下程序:
程序运行后的输出结果是( )。
A.10 12
B.8 10
C.10 28
D.10 16
【答案】C
【解析】因为b 是全局变量,所以它的值在整个程序结束才会消失。for 循环中,
第一次循环
所以
环
,然后
fun
6. 以下关于typedef 的叙述错误的是( )。
A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性
B.typedef 只是将已存在的类型用一个新的名字来代表
C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D. 用typedef 可以增加新类型
【答案】D
【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。
7 设有如下定义
.则以下错误引用结构体成员n 的是( )。
【答案】A
【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。
8. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。
A. 函数的形参和实参分别占用不同的存储单元
B. 形参只是形式上的存在,不占用具体存储单元
C. 同名的实参和形参占同一存储单元
D. 函数的实参和其对应的形参共占同一存储单元
【答案】A
【解析】函数体中,变量(包括形参)只在函数被调用时才临时开辟存储单元,当退出函数时,这些临时开辟的存储单元全被释放掉。C 语言中函数调用可以分成传值和传引用,传值调用,形参是实参的数据拷贝;传引用调用,形参是实参的指针拷贝;所以,形参和实参占用不同的存储单元。
这时的b 为5, 所以代
入这
时再看第二次循所
以
二、设计题