2015年 c语言6,2015年计算机二级《C语言》最新章节练习题(6)

一、选择题

1下面关于“EOF”的叙述,正确的是

A.EOF的值等于0

B.EOF是在库函数文件中定义的符号常量

C.文本文件和二进制文件都可以用EOF作为文件结束标志

D.对于文本文件,fgetc函数读入最后一个字符时,返回值是EOF

参考答案:B

参考解析:在c语言中,或更精确地说成c标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。

2有以下程序

7212095d7a74440736695ef9aa5c7e90.png

若运行时从键盘上输入OPEN THE DOOR,程序的输出结果是

A.0PEN THE DOORB.oPEN tHE dOORC.open the doorD.Open The Door

参考答案:C

参考解析:字符串输入函数gets的功能是从标准输入设备键盘上输入一个字符串。首先使指针变量P指向字符串的首字母,while循环语句中对字符串的每个字符进行fun函数操作。fun函数的功能是,将字符串中的大写字母变小写字母。将处理结果返回主函数,主函数通过putehar()字符输出函数进行输出。因此C选项正确。

3为了建立如图所示的存储结构(即每个结点含两个

cbdeeea504d7b6b60a67d9001b82c8e6.png

A.link next;B.struct link*next;C.link*next;D.struet link next;

参考答案:B

参考解析:本题主要考查链表中结点的概念,属于基础知识,其中指针域应该是指向下个结点,所以答案为B。

4若有以下程序

28a6319baa414ff8e6ad2d655619766f.png

则程序的输出结果是

A.10B.11C.13D.15

参考答案:B

参考解析:break语句的作用是终止正在执行的switch流程,跳出switch结构或者强制终止当前循环,从当前执行的循环中跳出。题干中第一次循环n值为0,执行default语句后的s+=4,s的值变为4,执行case1语句后的s+=1,s的值变为5,遇到break语句跳出switch语句,进人第二次循环。第二次循环时n的值为1。执行case1后的s+=1,s的值变为6。遇到break语句跳出switch语句.进入第三次循环。第三次循环时n的值为2,执行case2后的s+=2,s的值变为8,遇到break语句跳出switch语句,进入第四次循环。第四次循环时n的值为3,执行case3后的s+=3,s的值变为11。再判断循环条件为假,退出循环打印s的值11。

5有以下程序

20916921131c6d949a613c11ea29be7f.png

d82a39753a793f511c9308dae140cb8e.png

程序的输出结果是

A.0B.6C.7D.8

参考答案:B

参考解析:本题主要考查了函数定义及调用,以及while循环语句,执行fun函数后,首先是找到最后一个字符的地址,然后减去第一个地址得到的就是这个字符串的长度,所以本题答案为B。

6有以下程序

c64a860d45bd9939d08ee1198d5305d8.png

846cbe8493ce0ae99f59489e1abf4e94.png

程序的输出结果是

A.9B.14C.10D.15

参考答案:D

参考解析:考查函数的递归调用,只需要一步一步递归调用fun函数即可,执行fun(5)=5+(4+(3+(2+fun(1))))=15。所以答案为D选项。

7以下叙述中正确的是

A.结构体数组名不能作为实参传给函数

B.结构体变量的地址不能作为实参传给函数

C.结构体中可以含有指向本结构体的指针成员

D.即使是同类型的结构体变量,也不能进行整体赋值

参考答案:C

参考解析:本题考查结构体变量作为函数参数,结构体变量的地址可以作为参数传给函数,结构体数组名就是一个地址,可以传给函数,如果是同类型的结构体变量,可以整体赋值。

8若有以下程序

cae4cd74d84d2d9f5b7c6fe2f844e00d.png

cbdeeea504d7b6b60a67d9001b82c8e6.png

则程序的输出结果是

A.5,3,3,5,5B.3,5,5,3,5C.3,5,3,5,5D.5,3,5,3,5

参考答案:D

参考解析:在主函数中分别给整型变量i、j和指针型变量P,q赋初值,并声明指针变量r;调用f函数,并将实参变量P和q的值传递给形参变量s和t,并且f函数是指针型函数,即函数的返回值将是一个地址。在f函数中,如果条件成立,则将指针变量s和t的值互换,并且将指针S的地址返回主函数。最后输出i,j,*P,* q,*r的值,即5,3,5,3,5。因此D选项正确。

9以下叙述中正确的是

A.在c语言中,逻辑真值和假值分别对应1和0

B.关系运算符两边的运算对象可以是

C语言中任意合法的表达式C.对于浮点变量x和y,表达式:x==y是非法的,会出编译错误

D.分支结构是根据算术表达式的结果来判断流程走向的

参考答案:B

参考解析:A选项中,在c语言中,逻辑真值对应非0;C选项中,表达式:x==y是合法的;D选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值。因此B选项正确。

10有如下程序

00fe389529e9b47ae1b9234ed3fc66a5.png

2a1f3b4f0ffcf4fee2af067fad3e71e2.png

程序运行后的输出结果是

A.min=0,max=21B.min=1,max=20C.min=1,max=19D.min=0,max=6

参考答案:A

参考解析:本题首先在main函数定义一个数组array,然后定义了一个结构变量rain_max,min_max使用函数get_min_max的返回值初始化,函数get_min_max的功能就是将数组中的最小值和最大值取出来后分别赋值给结构变量min_max中的first,second两个整形变量,数组长度为6个单位,初始化4个数据,剩下2个默认为0,因此答案为A选项。

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值