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

2017年西藏大学软件工程之C程序设计复试实战预测五套卷

  摘要

一、选择题

1. 以下叙述中错误的是( )。

A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值 D. 可以给指针变量赋一个整数作为地址值 【答案】D

【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

2. 若有定义:

A.ps[0]是字符串”aa” B. C. D.

是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa”

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

【答案】C

ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,即字符串“aa” 的首地址,C 项正确。

3. 有以下程序

程序运行后的输出结果是( )。 A.1 B.10 C.11 D.2

【答案】A

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

4. 有以下程序:

程序的运行结果是( )。

【答案】A

【解析】程序执行过程为:调用f 函数,将结构体a 与b 的地址作为参数传入函数,函数中指针a 指向结构体a ,指针b 指向结构体b ,将指针a 指向的结构体a 赋给指针b 指向的结构体b ,结构体b 内容被修改。输出b

5. 有以下程序:

>

程序运行后的输出结果是( )。 A.3,3,3 B.2,2,3

C.1,2,3 D.1,1,3 【答案】A 【解析】这个空间。

6. 若有定义

执行

语句时,若从键盘输人 876543.0

则a 和b 的值分别是( )。 A.87和6.0 B.876和543.0 C.87和543.0 D.76和543.0 【答案】A

【解析】scarlf ( )函数的一般形式为:scanf (格式控制,地址表列)。其中,“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:①格式说明,由“%”和格式字符组成;②普通字符,即需要原样输入的字符。“地址表列”是需要接收输入数据的一系列变量的地址。本题中的“格式控制”是“%所以scanf ( )函数将87赋给a , 6赋给b 。

7. 下列函数的功能是( )。

A. 将a 所指字符串赋给b 所指空间 B. 使指针b 指向a 所指字符串

C. 将a 所指字符串和b 所指字符串进行比较 D. 检查a 和b 所指字符串中是否有【答案】A

仅分配了一份内存空间,但是指针a 、b 和c 同时指向

其中%2d 的意思是要输入一个整

数,但该整数最宽只占2个字符,而%f 是要输入一个浮点数。而题目要求输入的是876和543.0,