2018年湖南师范大学教育科学院877C程序设计与网络技术之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 以下关于C 语言函数参数传递方式的叙述正确的是( )。
A. 数据只能从实参单向传递给形参
B. 数据可以在实参和形参之间双向传递
C. 数据只能从形参单向传递给实参
D.C 语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
【答案】A
【解析】数据只能由实参单向传递给形参称为“值传递”,而不能由形参传给实参,A 项正确;数组名、指针等作参数,实参传递给形参的是地址值,这样形参和实参就指向同一段内存单元,在函数体内对形参数据的改 变也将影响到实
2. 有如下程序:
若要从键盘读入姓名给结构体变量zhangsan 的name 成员,输入项错误的是( )。
【答案】A
【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名成员名;③(*指针变量名). 成员名。程序定义了一个结构体变量zhangsan , —个结构体指针ptr , 并且使指针指向变量zhangsan 。A 项zhangsan 为结构体变量名,不能用一〉引用其成员,A
项错误。均是正确的引用结构体变量成员的方式。
3. 以下不能输出字符A 的语句是。(注:字符A 的ASCII 码值为65,字符a 的ASCII 码值为97。)
【答案】B
【解析】A 项,字符a 的ASCII 码值减去32为A 的ASCII 码值,执行字符输出,即为A ; B 项,执行整型输出,结果为65; C 项,字符型输出A ; D 项,字符型输出答案A 。
4. 有以下函数:
函数的功能是( )。
A. 查找x 和y 所指字符串中是否有
B.x 、y 所指字符串最前面连续相同的字符个数
C. 将y 所指字符串赋值给x 所指存储空间
D. 统计x 和y 所指字符串中相同的字符个数
【答案】B
【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环而返回相同个数II 。
5. 有以下程序:
程序运行的结果是( )。
A.1
B.2
C.3
D.4
【答案】B
【解析】fun 函数是一个递归函数,其功能是:当b 的值为零时,返回此时a 的值; 否则,
返回
即将a 和b 的值分别减1后返回
b 为零。执行过程为:执行fun 返回
当b 不断递减时,a 也不断递减直到此时b=l,返回返回a 的
值2。
6. 已知字母A 的ASCII 码值为65,若变量kk 为char 型,以下不能正确判断出kk 中的值为大写字母的表达式是( ) A. B. C.
D.
【答案】B
B 项,
【解析】表达式等价为无法判断kk 中的值是否为大写字母,逻辑错误。
大写字母的ASCII 码值是65〜90, 小写字母的ASCII 码值是97〜122,isalpha (kk )是判断kk 是否是字母的函数,是字母并且字母ASCII 值小于91的一定为大写字母。
7. 有以下程序
:
程序运行后的输出结果是( )。
A.10, -1, 8,-3, 6,
B.5,4,3,2,1,
C.10, 2, 8, 4, 6,
D.5,-1,3,-3,1,
【答案】A
【解析】fim ( )函数功能是:对数组中,下标为偶数的元素累加5, 下标为奇数的元素减去5, 所以执行完fun ( )函数后,数组e 变为10, -0,8,-3,6。
8. 有以下程序:
程序运行后的输出结果是( )。
A.6, 1
B.1, 1
C.7, 1
D.1, 2
【答案】C