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

2017年西北民族大学C语言程序设计(同等学力加试)复试实战预测五套卷

  摘要

一、选择题

1. 下列叙述中正确的是( )。

A. 每个C 程序文件中都必须要有一个main 函数

B. 在C 程序中main 函数的位置是固定的

C.C 程序中所有函数之间都可以相互调用

D. 在C 程序的函数中不能定义另一个函数

【答案】D

【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。

2. 若有以下程序

则程序的输出结果是( )。

【答案】A

【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,在函数f 中对a , b 的操作不会影响main 函数中a , b 的值。

3. 以下选项中能表示合法常量的是( )。

【答案】A

【解析】A 项,表示的是字符串常量。B 项,浮点数的指数部分应该是整型;C 项,单个转义符没有意义; D 项,整数常量中间不能出现逗号。

4. 有以下函数:

该函数的功能是( )。

A. 计算字符串的长度

B. 计算字符串所占字节数

C. 将字符串逆序存放

D. 实现字符串的复制

【答案】D

while 循环语句中,【解析】实现功能是把q 指针指向地址单元的值赋给P 指针指向的地址中,

且每次完成赋值后,移动指针,进行下一次赋值,直到q 指针指向字符串结束符时,退出while 循环,功能为把q 指向的字符串复制到p 指向的地址中。

5. 以下不能正确表示代数式

A.2*a*b/c/d

B.a*b/c/d*2

C.a/e/d*b*2

D.2*a*b/c*d

【答案】D

【解析】*、/优先级相同,所以采用从左到右结合的方式。D 项,应该改为:2*a*b/(c*d)。

6. C 语言程序中,运算对象必须是整型数的运算符是( )。

A.&&

B./

C.%

D.*

【答案】C

【解析】模运算中不能出现浮点数,运算对象只能是整数。

7. 下列定义变量的语句中错误的是( )。

的C 语言表达是( )。

【答案】B 【解析】符号,不能出现在标识符中。

8. 有以下程序

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

A.1

B.10

C.11

D.2

【答案】A

【解析】初始化后,s 指向数组a 的首元素,在调用函数fun 时,形参s 和实参s 是两个独立的int 型指针,在fun 函数内部,形参s 指向新的存储空间,但是不会影响实参s 的指向。所以,在main 函数中,s 仍然指向数组a 的首元素,输出结果是1。

二、设计题

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

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

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

干语句。

给定源程序:

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