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

2016年沈阳化工大学计算机科学与技术学院C语言程序设计复试笔试最后押题五套卷

  摘要

一、选择题

1. 有以下程序(说明:字母A 的ASCII 码值是65):

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

A.BY

B.BT

C.YT

D.YE

答:D

【解析】函数只会输出ASCII 码值为奇数的字母,执行fun (a )时,依次取出a □中的字母,当取第一个字母8时,因为8的ASCII 码值为66, 所以不会输出B , 字母Y 的ASCII 码值为89, 字母T 的ASCII 码值为84,字母E 的ASCII 码值为69,所以最后输出字母YE 。

2. 为了避免在嵌套的if-else 语句中产生二义性,C 语言规定与else 子句配对是( )。

A. 与其在同一行上的if 子句

B. 在其之后最近的不带else 的if 子句

C. 与其缩排位置相同的if 子句

D. 在其之前最近的不带else 的同层if 子句

答:D

【解析】if 总是与它上面最近的、未配对的else 配对。

3. 有以下程序:

程序的运行结果是( )。

A.5

B.2

C.6

D.3

答:A

【解析】malloc (size )函数的返回值是新分配的存储区的首地址,将该地址赋值给p 指针,然后取p 指针 的地址,调用fun 函数。fun 函数中对指向指针的指针s 指向的内存单元赋值,其中表示二维数组x 的第二行的行地址,

4. 有以下程序

执行后的输出结果是( )。

A.32

B.24

C.5

D.40

答:A

【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1

,然后再判断++i的值(i 加1之后的值)是否能被之前的值)是否能被5整除(判断后i 被加1)

8整除(判断后i 被加1),若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,此时i=31,++i%8==0成立,此时i=32。

5. 有以下函数:

表示二维数组X 的第二行第二列的地址,所以赋值给为p ,所以

代表fun 函数的功能是将二维数组X 的第二行第二列的值,即等价,A 项正确。

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

A.zhang

B.zhao

C.wang

D.19

答:B

x+2代表了指向第三个元素的指针,【解析】结构体数组存储了三个人的信息,所以输出name

为Zhao 。

6 若有定义inta , b ;, 通过语句.

b 的输入数据是( )。

A.35

B.3, 5

C.3;5

D.35

答:C

scanf 函数在输入字符型时,【解析】要求输入数据时按照一一对应的位置原样输入这些字符。

根据语句scan

隔,故输入3; 5。

7. 有以下函数:

函数的功能是( )。

A. 查找x 和y 所指字符串中是否有

B.x 、y 所指字符串最前面连续相同的字符个数

C. 将y 所指字符串赋值给x 所指存储空间

D. 统计x 和y 所指字符串中相同的字符个数

答:B

【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环

能把整数3赋给变量a , 5赋给变量即要求输入整型数3和5, 由于语句中间是由相