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
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 的花括号中填入需要编写的若