2017年南京财经大学C程序设计复试实战预测五套卷
● 摘要
一、选择题
1. 若变量均己正确定义并赋值,以下合法的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是常量,不能被赋值。
2. 若有定义语句intb=2;, 则表达式的值是( )。
A.4 B.8 C.0 D.2
【答案】B
【解析】b=2, 转为二进制即为0010,首先将b 左移两位,变成1000,即十进制的8, 3llb 的值为真即为1, 最后计算8/1的值,为8。
3. 有以下程序:
程序的运行结果是( )。 A.abcdef B.cbcdef C.cdef D.ab
【答案】A
【解析】strcat 把字符串a , b连接起来放在数组a 中,while 语句再将字符串a 赋给字符串b 。
4. 有以下程序:
第 2 页,共 25 页
程序运行后的输出结果是( )。
【答案】D 【解析
】制:
因此答案为D 选项。
5. 以下叙述中错误的是( )
A. 书写风格良好的程序执行效率高 B. 书写风格良好的程序易读性好 C.C 程序可以在一行上写多条语句 D.C 程序允许将一条语句分写在多行上 【答案】A
【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计 C 语言程序书写规范中,风格可以使程序结构清晰合理。良好的书写习惯中一般一行写一条语句, 这样方便阅读,但是将一行写多条语句或者将 一条语句分写在多行上是符合C 程序编写规则的。
6. 若有定义语句:则表达式的值为( )。
【答案】B
【解析】因为+的运算优先级高于赋值运算符,所以先做值给X 。
结果为20, 再做
结果为
赋
是十六进制数
,
需要输出十进制数,换算成十进
第 3 页,共 25 页
7. 设有n 个数按从大到小的顺序存放在数组x 中,以下能使这n 个数在x 数组中的顺序变为从小到大的是( )。
【答案】A
【解析】本题使用for 循环实现数组元素首尾倒置。A 项中控制变量上限为n/2, 用变量t 实现数组下标值i 与
的元素交换,使数组元素首尾倒置,从而实现从小到大排列,A 项正确。B
项控制变量上限为m 用变量t 实现数组下标值i 与n-i-1的元素交换,当i=n/2时,已经实现数组首尾倒置,而继续运行至i=n,将再次将新的数组首尾倒置,与原数组相比没有发生变化,依然是从大到小排列,B 项错误。C 项数组越界,i=0时x[n+ll不存在,C 项错误。D 项控制变量每次加2, 实现数组偶数下标值的元素首尾倒置,奇数下标值元素不变,不能实现整个数组从小到大排列,D 项错误。
8. 以下选项中有语法错误的是
A. B. C. D. 【答案】D
【解析】考查指针数组的概念,选项D 中str 为二维字符数组,不能直接把一个字符串赋值到二维数组的某一行中。
。
二、设计题
9. 规定输入的字符串中只包含字母和*号。请编写函数fun ,其功能是:使字符串中尾部的*号不多于n 个若多于n 个,则删除多余的*号;若少于或等于n 个,则不做任何操作,字符串中间和前面的*号不删除。例如,字 符串中的内容为后,字符串中的内容应;函数。
注意:部分源程序给出如下。
请勿改动主画数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干
第 4 页,共 25 页
若n 的值为4,删除
若n 的值为7,
则字符串中的内容仍为
n 的值在:函数中输入。编写函数时,不得使用C 语言提供的字符串
相关内容
相关标签