2017年北京交通大学02205面向对象程序设计复试实战预测五套卷
● 摘要
一、选择题
1. 以下能正确表述算式
【答案】A
【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C 语言中义的常量,需要用户自定义或者直接使用是
代替
B 项未替换
误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,对应于
2. 以下叙述中正确的是( )。
A. 语句B. 语句C. 语句D. 语句符
【答案】A
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
3. 若有定义语句:则表达式的值为( )。
【答案】B
【解析】因为+的运算优先级高于赋值运算符,所以先做
结果为20, 再做
结果为
赋
值给X 。
4. 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数):
第 2 页,共 24 页
的C 语言表达式是( )。
不是已定
而不
也没有将30度换算成弧度,错
应该除以
是合法的
是不合法的,遗漏了数组的大小
是合法的,定义了一个包含两个字符的数组
是合法的,因为数组有三个字符空间的容量,可以保存两个字
程序运行后的输出结果是( )。 A.al2xyz B.12yz C.a2yz D.bc2yz 【答案】C
【解析】先执行strepy ,将
中的2复制到a[l]中的b 及之后的存储空间中,即此时数组a
所指的y 及之后的z 与a 中的连接,即为
再执行strcat 连接函数,将中值为
5. 有以下程序
程序运行后的输出结果是( )。 A.24 B.44 C.22 D.46
【答案】B
【解析】p 是int 类型的指针,指向数组a 的首元素;k 的int*类型的指针,指向int*
变量
先执行p++,p 指向a 中第二个元素,然后取值,输出
6 若有定义语句:.
误的是( )。
【答案】C
【解析】:数组的下标从零开始,数组m 中有5个元素,所以数组m 即
为
C 项,
第 3 页,共 24 页
则下面对m 数组元素的引用中错
引用数组元素为
但是数组下标范围是所以溢出引用错误。
7. 以下选项中,当x 为大于1的奇数时,值为0的表达式是( )。
【答案】D ^为假。 【解析】x 为大于1的奇数,的值为1,
8. C 语言程序中,运算对象必须是整型数的运算符是( )。
A.&& B./ C.% D.*
【答案】C
【解析】模运算中不能出现浮点数,运算对象只能是整数。
二、设计题
9. 程序定义了
的二维数组,并在主函数中自动赋值。请编写函数
该
函数的功能是:使数组左下半三角元素中的值乘以n 。例如,若n 的值为3, a数组中的值为:
则返回主程序后a 数组中的值应为:
注意:部分源程序给出如下。 句。试题程序:
第 4 页,共 24 页
请勿改动函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语