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

2016年广东海洋大学工程学院503C语言程序设计复试笔试仿真模拟题

  摘要

一、选择题

1. 以下选项中,不能对主函数中变量i 和j 的值进行交换的程序是( )。

}

}

}

答:A

【解析】选项A ,定义了一个临时指针,实现两个指针地址的交换,而传入了参数是二个指针的副本,即a 、b 地址的副本,故交换了副本地址,对a 、b 无影响,故选择A 选项。B 选项调用函数传人的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型变量,能实现i 与j 值交换。C 选项调用函数传入的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型指针,且已正确开辟内存,能实现i 与j 值交换。D 选项与B 选项相同,能实现i 与j 值交换。

2. 有以下程序:

程序运行后的输出结果是( )。 A.2, 3 B.2, 4 C.3, 4 D.4, 6 答:B

【解析】程序中定义了一个3含有三个结构体node 元素的数组,数组中的元素的next 指针分别指向后一个元素,最后一个元素的next 指针置为NULL 。p 指针最初指向x 数组中的第一行元素的第一个元素,即为2; 即第一次输出2,第二次输出的是x 数组中的第二行元素的第一个元素,为4。

3. 设有定义:

若变量均已正确赋初值,则以下语句中错误的是( )。

答:A

【解析】A 项错误,struct 中的mark 成员是数组,数组一旦定义,不能直接赋值。B 项正确,

numl 是int 变量,可以直接赋值。C 项正确,C 语言中struct 变量可以直接赋值,实际操作是内存拷贝;D 项正确,num2是int 变量,可以直接赋值;C 语言中,数组不能直接赋值,但是把数组包装在struct 中,就可以实现直接赋值。

4. 有如下程序:

程序运行后的输出结果是( )。 A.59 B.73 C.115 D.72 答:A

【解析】整型常量有3种,①十进制整常量,没有前缀,输出格式控制符为%d ; ②八进制整常量,以0作为前缀,输出格式控制符为%〇; ③十六进制整常量,以故A 项正确。

5. 若有定义:

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

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

6. 有以下程序:

作为前缀,输出

格式控制符为%x 。八进制数072表示成十进制数为58,即x=072=58,以十进制格式输出x+l=59,

则以下叙述正确的是( )。

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