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

2018年江西师范大学软件院869C语言程序设计与数据结构之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 设变量均已正确定义,若要通过

语句为变量al 和a2赋数值10和20, 为变量cl 和c2赋字符X 和Y 。以下所示的输入形式中正确的是(注:口代表空格字符)( )。 A.

B. C.

D.

【答案】A

【解析】因为空格和回车也是字符变量,所以在输入X 和Y 时,它们的前面不能有空格和回车,否则将取到空格或者回车,而非X 和Y ; int 类型不会取到空格和回车,所以10和20前面可以有空格和回车。

2. 有以下程序:

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

第 2 页,共 38 页

【答案】A

【解析】main 函数中,首先定义两个结构体stn 类型的变量a , b , 把a 成员信息复制给b 成员后,再调用函数f ( ),在f ( )函数中,利用指针重新对b 成员信息进行赋值,分别输出a , b 成员信息。

3. 已知字母A 的ASCII 码值为65,若变量kk 为char 型,以下不能正确判断出kk 中的值为大写字母的表达式是( ) A. B. C.

D.

【答案】B

B 项,

【解析】表达式等价为无法判断kk 中的值是否为大写字母,逻辑错误。

大写字母的ASCII 码值是65〜90, 小写字母的ASCII 码值是97〜122,isalpha (kk )是判断kk 是否是字母的函数,是字母并且字母ASCII 值小于91的一定为大写字母。

4. 有以下程序:

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

A.=

B.XXX

C.=XX

D.X=

【答案】A

【解析】主函数首先为结构体定义两个变量分别使用字符串拷贝函数strcpy ( )

因此输出为项正确。 为si 和s2的成员name 赋值,再将中的成员信息赋值给

第 3 页,共 38 页

5. 以下关于指针的叙述正确是( )。

A. 所有类型的指针变量所占内存的大小是一样的

B. 指针变量所占内存的大小与其类型有关,char 型指针变量只占1个字节,double 型指针变量占8个字节

C. 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误

D. 指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误

【答案】A

【解析】专门用来存放变量地址的变量称为“指针变量”,所有地址值所占字节都是一样的,故指针变量所占内存大小一样,A 选项正确,B 选项错误。由于一个变量的地址(指针)还隐含有这个变量的类型信息,所以不能随意把一个地址存放到任何一个指针变量中去,只能把具有相同类型的变量的地址,存放到这个指针变量中, 结构体变量与某个成员类型不同,不能用同样的指针指向它们,C 、D 选项错误。

6. 有以下程序

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

【答案】A

【解析】本题考查的是函数调用时的参数传递问题。程序在调用函数f 时,传给函数f 的参数只是结构变量在栈中的一个拷贝,函数f 的所有操作只是针对这个数据拷贝进行的修改,这些都不会影响变量c 的值。

第 4 页,共 38 页