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

2017年东北理工大学高级语言程序设计(上机考试)复试仿真模拟三套题

  摘要

一、选择题

1. 假定已建立以下数据链表结构,且指针p 和q 已指向如下图所示的结点:

则以下选项中可将q 所指结点从链表中删除并释放该结点的语句是( )。

【答案】D

【解析】。要删除结点q ,首先要将q 的上一个结点P 的指针域指向q 的指针域所指向的结点,防止删除q 结点后丢失q 结点后的链表

2. 有以下程序:

程序的运行结果是( )。 A.-1,0 B.0,0 C.-1,-1 D.1,1

【答案】A

【解析】本题执行过程为:先取a 值为1,执行循环,a=0,执行b--,b=0,再取a 值为0,判断条件不成立,退出循环,再执行a--得到a=-1,最后输出a=-l,b=0。故A 项正确。

3. 若有定义:则以下叙述正确的是( )。

A.ps[0]是字符串”aa” B. C. D.

是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa”

然后释放结点q ,即

【答案】C

ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,即字符串“aa” 的首地址,C 项正确。

4. 要求通过while 循环不断读入字符,当读入字母N 时结束循环。若变量已正确定义,以下正确的程序段是( )。

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

【解析】D 项正确,ch 与

表达式从右向左计算,会把_它等价

5. 有以下程序

. 赋值给

表示先把

函数的返回值赋值给ch ,然后判断

函数的返回值是右值,

A 项逻辑错误,B 项错误,是否相等。它表示读入字母’N ’时执行循环;

函数的返回值,而_

(等于)的优先级高于=(赋值),

不可改变,出现编译错误;C 项逻辑错误,

此时ch 的取值是0或1。

程序的运行情况是( )。 A. 形成无限循环 B. 输出6 C. 输出5 D. 输出4 【答案】A

【解析】本题执行过程为:i=l,k=0, i<6成立,执行for 循环:退出switch ,

成立,执行for 循环:

,匹配easel ,k=l, break

匹配case2,k=2,执行continue ,由于其只用于

循环结构,退出switch , 且不执行此次for 循环以后的语句,i=2不变,i<6成立,执行下一次for 循环,以后的循环情况完全一致,i=2不会改变,形成无限循环。故A 项正确。

6. 有以下程序(其中的函数头部格式为:确定p2字符串是否在pi 中出现,并返回p2第一次出现的字符串首地址):

程序的运行结果是( )。 A.to Bering! B.you to Bering!

C.Welcome you to Bering! D.Bering! 【答案】A

【解析】调用strstr 函数,可知a 指向的字符串在b 指向的字符串中第一次出现的位置,并将此地址赋给指 针p 。strlen ( )函数是求字符串的实际长度(不包含结束标志),并且作为函数值返回。strstr 函数返回的地址 下标值为9, 加上a 长度3, 再加1,此时P 指向的地址下标值为13, 输出“toBeijing! ”,故A 选项正确。

7. 有以下程序

程序的运行结果是( )。 A.11 7 B.12 12 C.11 11 D.12 7 【答案】A

【解析】f (2)展开后为,2*5+1,值为11,f (1+1)展开后为,1+1*5+1值为7。

8. 以下选项中有语法错误的是 。

A.

B. C. D. 【答案】D

【解析】考查指针数组的概念,选项D 中str 为二维字符数组,不能直接把一个字符串赋值到二维数组的某一行中。

二、设计题