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

2018年沈阳航空航天大学航空航天工程学部823C语言程序设计考研核心题库

  摘要

一、选择题

1. 有以下程序

程序的输出结果是( )。 A.19 B.13 C.11 D.15

【答案】A 【解析】以

是把p

指向

在for 循环中,通过指针p

依次访问

2. 有以下定义和语句:

能给w 中year 成员赋1980的语句是( )。

【答案】D

【解析】w 是一个结构体变量,Pw 是一个结构体指针变量,指向w 所在的内存单元。A 项错误,pw 是指针,

所以在引用其内部变量时应该用操作符

是结构体workers 中的结构体成员s 中的成员。

而不是

BC 两项错误,year

3. 以下函数的功能是计算a 的n 次方作为函数值返回:

为实现上述功能,函数中下画线处应填入的是( )。

A.

B.

C.

D. 【答案】B

【解析】for 循环语句,i=l时

4. 有以下函数

A. 求字符串S 的长度 B. 比较两个串的大小 C. 将串s 复制到串t D. 求字符串8所占字节数 【答案】A

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

指向字符串结束符语句让它回到结束标志处。

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

5. 以下叙述中正确的是( )。

A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度 B. 如果p 是指针变量,则*p表示变量p 的地址值 C. 如果p 是指针变量,则&p是不合法的表达式

D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的 【答案】A

【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”,而

,最后返回s 。

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

后面一个单元,所以接下来的

因为s 还是指向字符串第1个字符处,而t 指向字符串结

是指1个存储单元长度。B 项错误,

6. 有以下程序:

表示p 的值;C 项错误,表示变量p 的地址;D 项错误

是先取p 的值,然后执行+1操作

,是先对指针移动1个存储空间,然后取值。

程序运行以后的输出结果是( )。 A.7 B.8 C.9 D.10

【答案】C

【解析】如果函数的定义在调用之后,则必须要在调用之前声明函数。静态局部变量,在整个程序的运行期 间均有效。函数f 将整型变量a 定义为静态变量,所以每次调用函数f 时不再为a 重新赋值。第一次调用f 后,n=4, a=2,第二次调用时,a 已经变成了 2, 所以结果为4+5=9。

7. 有以下程序

程序执行后的输出结果是( )。 A.x=8 B.x=4 C.x-6