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

2017年北京联合大学移动商务803软件基础之C程序设计考研强化模拟题

  摘要

一、选择题

1. 设有以下定义:

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

A. 数组s1的长度小于s2的长度

B. 数组s1和s2的长度相同

C. 数组s1的长度大于s2的长度

D. 数组s1和s2完全等价

【答案】C

【解析】为字符数组赋值字符串“0123”时,字符串中字符依次放人数组中后,在最后一个

数组s1长度为5。数组s2只需要4个单元即可放下所有初始字符后要添 加一个结束字符

化值,故数组长度为4。所以数组s1的长度大于S2的长度,C 项正确。两个数组等价是指两个数组长度和类型以及对应每个元素值均相 同,所以s1和82不是完全等价,D 项错误。

2. 有以下程序:

程序的运行结果是( )。

【答案】C

【解析】在funO 函数中,

出。

3. 有以下函数

第 2 页,共 43 页 表示X 取值为a 的小数部分,因此,输入a 为输

以下关于aaa 函数功能叙述正确的是( )。

A. 求字符串S 的长度

B. 比较两个串的大小

C. 将串s 复制到串t

D. 求字符串8所占字节数

【答案】A

【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符

语句让它回到结束标志处。最后返回

束符,故返回值为字符串的长度值。

4. 有以下程序

若想通过键盘输入,使得al 的值为12, a2的值为34, cl 的值为字符a ,c2的值为字符b , 程序输出结果是:12, a , 34, b ,则正确的输入格式是(以下□代表空格,代表回车)( )。 A. B. C. D.

【答案】A

【解析】因为空格和回车也是字符变量,所以在输入a 和b 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非a 和b ; int 类型不会取到空格和回车,所以12和34前面可以有空格和回车。在scanf 函数并没有使用通配符逗号,所以输入时不能输入逗号。

5. 有以下程序:

程序的运行结果是( )。

第 3 页,共 43 页

后面一个单元,所以接下来的因为s 还是指向字符串第1个字符处,而t 指向字符串结

A.0

B.5

C.14

D.15

【答案】B

dowhile 循环结构先执行后判断。【解析】先执行do 中的表达式执行while 中的表达式,结果为0, 退出循环,故最终结果是5。

6. 以下不合法的字符常量是( )。 A. B. C. D.

【答案】A

【解析】在C 语言中,

含义,仅仅代

的转义,

符;D 项,

7. 设

【答案】C 【解析】的结合顺序是从左到右,所以x 先除以y ,再除以z 。

8. 有以下程序:

程序的运行结果是( )。

A.abcdef

B.cbcdef

C.cdef

D.ab

【答案】A

第 4 页,共 43 页 即再表示转义符,可以对特殊符号进行转义,此时特殊符号不再有其他表示换行,表示Tab 键。A 项,是指十六进制数cc 。 表示两位的八进表普通的字符,\后面的字符取值范围应该在Ascn 码表范围。例如. 表示对双引号表示对转义符的转义,制数,8不是合法的八进制数字。B 项,表示双引号这个特殊字符;C 项,表示转义符这个特殊字表示两位十六进制数,均为实型变量,代数式在C 语言中的正确写法是( )。