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 页
相关内容
相关标签