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

2017年大连海洋大学908面向对象的程序设计(C++)(同等学力加试)复试仿真模拟三套题

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

A.5,5,5,5,5

B.3,5,5,5,5

C.5,3,3,3,5

D.3,5,3,5,5

【答案】A

【解析】程序执行过程为:p 指向i ,q 指向j ,调用函数f ,将i 与j 地址传递给s 与t ,判断i 是否小于j ,成立则将j=5赋值给i ,则i=5,返回指向i 的指针并赋给r ,则r 指向i ,最后输出5,5,5,5,5,故A 选项正确。

2. 设变量p 是指针变量,语句

A. B. C. D.

【答案】C 是给指针变量赋NULL 值,它等价于( )。 【解析】p=NULL,NULL 的代码值为0,等价于或p=0。

3. 设有函数定义:则以下对函数sub 的调用语句中,正确的是( )。 A.

B.

C.

D.

【答案】A

【解析】函数的参数有两个,第一个是整型,第二个是字符类型,在调用函数时,实参必须一个是整型,一个是字符型相容的类型(整型)。A 项中97为字符符传入函数,A 项正确。B 项

的码,可以作为字不是合法字符,字符单引号里面只能有一个字符,B 项错误。函数sub 返回类型为空,即不返回任何值,故C 项中将函数返回值赋给n 是不正确的调用方法,C 项错误。D 项为字符串,也不是合法的字符,D 项错误。

4. 有以下程序:

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

A.0

B.10

C.30

D.64

【答案】D

【解析】静态局部变量只在定义它的函数内有效,程序仅分配一次内存,函数返回后,该变量不会消失,下 一次依据上一次的结果值。此题中第一次循环时,调用fim 函数后x 的值为2, s的值为2; 第二次循环时,调用 fun 函数后x 的值为4,s 的值为8; 第三次循环时,调用fun 函数后x 的值为8,s 的值为64。

5. 若变量均己正确定义并赋值,以下合法的c 语言赋值语句是( )。

A.x=y==5;

B.x=n%2.5;

C.x+n=i;

D.x=5=4+l;

【答案】A

【解析】A 项正确,y==5返回0或者1,然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误,x+n是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。

6. 以下叙述中正确的是( )。

A. 在C 语言中,预处理命令行都以“#”开头

B. 预处理命令行必须位于C 源程序的起始位置

C.#include必须放在C 程序的开头

D.C 语言的预处理不能实现宏定义和条件编译的功能

【答案】A

【解析】编译预处理”就是在C 编译程序对C 源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A 项正确,在C 语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B 项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作

C 项错误,#inClUde可以出现在程序的任意一行的开始部位;用一直持续到源文件的末尾;

D 项错误,预处理可以实现宏定义、条件编译和文件包含。

7. 若变量已正确定义,有以下程序段

i=0:

其输出结果是( )。

A.0, 1

B.0, 0

C.1, 1

D. 程序进入无限循环

【答案】A

【解析】首先进入do 语句,输出0; 是先判定i 是否为0, 不管判定结果如何,都执行i++。i 等于0,判定结果为false ,执行i++,跳出do-while 循环,然后输出1。

8. 以下选项中不属于字符常量的是( )。 A. B. C. D.

【答案】B

【解析】C 语言中用双引号表示字符串,在分配存储空间时需要包含

两项,分别表示十六进制、八进制格式ASCII 代码值对应的字符常量。

作为结束标志。CD

二、设计题

9. 请编写一个函数fun , 它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C 语言 提供的将字符串转换为整数的函数)。例如,若输入字符串

数值1234。函数fun 中给出的语句仅供参考。

注意:部分源程序存在文件

干语句。

给定源程序:

则函数把它转换为整中。 请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入需要编写的若