c语言改错题字符串a放在b后面,2015年计算机二级《C语言》精选练习题及答案(9)...

1[简答题]下列给定程序中,函数fun的功能是:求出如下分数序列的前n项之和,和值通过函数值返回。

b0e3698e2cc7cf7d3035a0d83e741e1d.png

例如,若n=5,则应输出8.391667。

请改正程序中的错误,使其得出正确的结果。

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

试题程序:

2e27a216415d61987073086d4d02b342.png

参考解析:

【参考答案】

(1)doublefun(intn) /b;

【考点分析】

本题考查:函数定义,函数定义的一般形式为“类型标识符函数名(形式参数表列)”,其中类型标识符用来说明函数值的类型,函数的类型实际上是函数返回值的类型。

【解题思路】

(1)由语句“return(s);”和变量s定义为double型可知,该函数定义时其类型标识符为double类型。

(2)注意数据类型double的书写格式。

【解题宝典】

确定函数类型标识符在填空和改错题中经常考到,如果函数没有返回值,则函数定义为void型;如果函数有返回值,则函数类型应与返回值类型一致;如果不定义函数类型标识符,则系统默认为int型。

2[简答题]下列给定程序中函数fun的功能是:把从主函数中输人的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。

例如,若输入的数为:5512 34,输出的结果应当是:

a=5-5.0,b=34.0,c=12.0。

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

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

试题程序:

19a1c897486cdc8f6a18f7200137c553.png

2e27a216415d61987073086d4d02b342.png

参考解析:

【参考答案】

(1)float k;

(2)if(*a

【考点分析】

本题考查:变量定义,根据给定程序语句确定变量类型;if语句条件表达式。

【解题思路】

(1)观察程序中的k,在赋值语句中,k是以变量的形式进行赋值而非指针,所以将k定义为指针是错误的。

(2)此处if语句是为了将小于*C的值放入*c中,所以改为if(*a

3[单选题] C语言程序的模块化通过以下哪个选项来实现(  )

A.变量B.函数C.程序行D.语句

参考答案:B

参考解析:C语言程序的模块化通过函数来体现,所以选择B。

4[单选题] 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中输入输出框的图形是 (  )

A.平行四边形B.长方形C.椭圆型D.菱形

参考答案:A

参考解析:算法可以用各种描述方法进行描述,目前最常用的有3种:伪代码、流程图和N—S结构图。传统的流程图由下图所示的几种基本图形组成。A选项正确。

7ae04f38c5c7392e5b4fe8edd89b945c.png

5[单选题] 有以下程序:

55af1231f9afbafa769b17f4af34cf7e.png

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

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

参考答案:A

参考解析:本愿考查位运算符以及相关运算,‘为按位或,&为按位与,部么a'b为3,再与c按位与仍然为3,所以答案为A选项。

6[单选题]以下叙述中正确的是

A.在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上

B.在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔

C.在Printf函数中,各个输出项只能是变量

D.使用Printf函数无法输出百分号%

参考答案:A

参考解析:scanf函数中的格式控制字符串是为了输入数据用的,无论其中有什么字符,也不会输出到屏幕上,所以A正确。scanf()的格式控制串可以使用其他非空白字符,如逗号,但在输入时必须输入这些字符,以保证匹配就可以,所以B错误。Printf函数可以输出常量也可以输出变量,所以C错误。Printf函数可以用“\%”来输出百分号%,所以D错误。

7[单选题] 有以下程序(strcat函数用于连接两个字符串):

bf02b66d61702ce5361f5792acaf8734.png

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

A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK

参考答案:C

参考解析:字符数组a中包含两个‘、O’,遇到第一个‘O’时就表示字符串a结束。字符串处理函数由c吐(字符数组a,字符数组b),功能是连接两个字符数组中的字符串,把字符串b连接到a的后面,结果放在字符数组a中。连接时将字符串a后的‘、0’取消,只在新串最后保留一个‘、0’。本题相当于将“ABCD”和“IJK”连接。因此C选项正确。

8[单选题] 若有定义语句:char a='\82';则变量a(  )

A.说明不合法B.包含1个字符C.包含2个字符D.包含3个字符

参考答案:B

参考解析:char a='\82',定义字符量a,char型变量值为1个字节长度,并从右侧开始运算,所以a的值应为'2'。因此B选项正确。

9[单选题] 以下选项中关于程序模块化的叙述错误的是( )。

A.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序

B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块

C.把程序分成若干相对独立的模块,可便于编码和调试

D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序

参考答案:A

参考解析:程序模块化思想中,可以采用自顶向下、逐步细化的方法。所以选项A中“自底向上”的说法是错误的。

10[单选题] 有以下程序:

fb8df72c7ac86c35a587269dbab3d58f.png

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

A.IB.JC.KD.H

参考答案:B

参考解析:

(”%e\n”,’A’+x),x=oxg(16)转为十进制x=9,因此prinff(”%e\n”,7A’+9),打印格式要求是%c,因此需要从字符A,按字母顺序向后偏移9个位置,可得结果为J。故答案为B选项。

相关推荐:

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值