c语言中字符串s=s 4,2015年计算机二级考试《C语言》提高练习题五份(4)

1[单选题] (1)C语言程序中,运算对象必须是整型数的运算符是

A.&&

B./

C.%

D.*

参考答案:C

参考解析:%取余运算是二目运算符,且要求运算对象必须为整数,所以选C。

2[单选题] 以下针对全局变量的叙述错误的是

A.用extern说明符可以限制全局变量的作用域

B.全局变量是在函数外部任意位置上定义的变量

C.全局变量的作用域是从定义位置开始至源文件结束

D.全局变量的生存期贯穿于整个程序的运行期间

参考答案:A

参考解析:在不同编译单位内用extern说明符来扩展全局变量的作用域,extem可以将全局变量作用域扩展到其他文件,而不是限制全局变量的作用域,答案为A选项。第2题 笔记记录我的笔记(0) | 精选笔记(0)选择笔记标签:试题内容(0)答案解析(0)

3[单选题] 函数fun的功能是在a所指的具有n个元素的数组中查找最大值并返回给调用函数,函数不完整。10091K011-25.jpg

在if语句下划线处应填人的选项是( )。

A.O>sB.* P>*sC.a[p]>a[s]D.p—a>P—s

参考答案:B

参考解析:函数fun的功能是在形参a所指的具有n个元素的数组中查找最大值并返回。通过for循环比较,s始终指向最大值的那个元素。取指针的值,使用+P,因此比较使用·P和}8,需要找到最大值,当}8

4[单选题] C语言中,下列不合法的字符串常量是(  )。

A.10091G147-26.png

B.10091J162-27.png

C.10091L4G-28.png

D.10091JP0-29.png

参考答案:B

参考解析:B项中字符串常量必须用双}1号,否则不合法。

5[填空题]请补充main()函数,该函数的功能是:先以只写方式打开文件file.dat,再把字符串s中的字符保存到这个磁盘文件中。请勿改动main()函数与其他函数中的任何内容,仅在的横线上填写所需的若干表达式或语句。

注意:部分源程序给出如下。

试题程序:10091KH7-30.png

参考解析:

【1】file.dat【2】fpute(ch,f)【3】fclose(f)

【解析】第一空:根据C语言对于文件打开操作的语法fopen的用法可知语句中缺少文件名,根据程序中文件操作指针为空的提示语句:“printf(”cannot open file.dat\n”);”可知文件名为:“file.dat”。

第二空:这里应该是向文件里面写入字符,根据前面字符的定义“ch=s[i]”和获得的文件指针f,第二空应填“fputc(ch,f)”,其中fputc函数是输出一个字符。

第三空:C语言中对于文件执行操作后,要对文件指针执行关闭操作,关闭文件的fclose函数的调用形式为fclose(文件指针),所以第三空应填“fclose(f)”。

6[简答题]下列给定程序中,函数proc()的功能是:利用插入排序法对字符串中的字符按从大到小的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前2个字符中,插人后前3个字符依然有序,再把第4个字符插入前3个字符中,待排序的字符串已在主函数中赋予。例如,原始字符串为“goodluck”,则排序后的字符串为“uoolkgdc”。

请修改程序中的错误,使它能得到正确结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:10091ID7-31.png10091J145-32.png

参考解析:10091K139-33.png

7[单选题] 有以下程序10091J5L-34.jpg

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

A.1B.4C.0D.3

参考答案:C

参考解析:由结构体的定义初始化可知,a[0].X=4,aEo].Y=3,a[1].x=2,a[1].Y=1,因此计算a[0].y/a[0].x$a[1].x=3/4}2=(3/4)}2=0}2=0,故答案为c选项。

8[单选题] 若有定义“float a=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为(  )。

A.两个语句都是将变量a的值赋予变量p

B.*p=a是使P指向变量a,而P=&a是将变量的值赋予变量指针p

C.*p=a是将变量a的值赋予变量b,而&a是使P指向变量a

D.两个语句都是使p指向变量a

参考答案:C

参考解析:“p”是指针变量,指向一个地址:“*p”为p指针所指向地址的内容。“&”是取变量地址。

9[单选题] 下列选项中,能正确定义数组的语句是( )。

A.int num[0..2008];

B.int lllllll[];

C.int N:2008:

D.#define N 2008int num[N1;int num[N];

参考答案:D

参考解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

10[单选题] 下列程序的输出结果是(  )。10091GX7-35.png10091J106-36.png

A.3,6,18B.3,6,2C.6,3,18 D.6,3,2

参考答案:B

参考解析:本题考查if…else语句。如果if条件成立,则执行if下面的语句,不成立则执行else,判断条件,发现a

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值