- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
全国计算机等级考试教程二级C语言答案daan.doc
《全国计算机?等级考试二?级教程——C语言程序?设计》习题分析与?解答(三)
第六章 字符型数据?习题分析与?解答
一、 选择题
6.1【参考答案】 B)
6.2【参考答案】 D)
6.3【参考答案】 A)
6.4【参考答案】 A)
6.5【参考答案】 B)
6.6【参考答案】 D)
6.7【参考答案】 D)
6.8【参考答案】 B)
6.9【参考答案】 A)
6.10【参考答案】 A)
6.11【参考答案】 C)
二、 填空题
6.12【参考答案】 -1
6.13【参考答案】 1
6.14【参考答案】 ctype?.h
6.15【参考答案】 0
6.16【参考答案】 10A 20B 30C 40DCR
或: 10ACR
20BCR
30CCR
40DCR
6.17【参考答案】 7.29 101.298AB?CR
或: 7.29CR
101.29ABCR
6.18【参考答案】
三、 编程题
6.20【分析与解答?】
(1) 在进行字符?输入时,即使一次输?入了一行字?符(最后用回车?结束输入),字符也只能?一个一个地?读入。若ch已定?义为cha?r型变量,可以用以下?的程序段来?完成操作: ch=getch?ar();
while?(ch![KG-*2]=′\n′)
{ ……
ch=getch?ar();
}
当读入的是?一个回车符?时,循环就结束?。循环体内的?“……”符号表示需?要在循环体?内完成的其?他操作。
(2) 在循环内要?求进行的操?作之一是:输出每个字?符以及与之?对应的AS?CII代码?值。因此可用以?下语句来实?现。
print?f(″%c : %d ″,ch,ch);
(3) 在循环内要?求进行的另?一个操作是?:每行只能输?出3对字符?和与之对应?的ASCI?I代码值。若n已定义?为int型?变量,则可用来作?计数器;使n的初值?为0,每输出一次?,n的值增1?,当n的值为?3的整数倍?时,额外输出一?个换行符。例如:
n++;
if(n%3==0)putch?ar(′\n′);
(4) 把(2)和(3)中给出的语?句放在循环?体内,并按要求给?出正确的定?义和初值,就可完成题?目所要求的?操作。
(5) 也可以在w?hile后?的一对括号?中来完成字?符的读入,如whil?e((ch=getch?ar())![KG-*2]=′\n′)。这时,循环内、外的“ch=getch?ar();”语句应当去?掉。
6.21【分析与解答?】
(1) 一行字符的?读入,请参照题6?.20(1)和(5)中的解释。循环体内的?“……”符号表示需?要在循环体?内完成的其?他操作。
ch=getch?ar();
while?(ch![KG-*2]=′\n′)
{ ……
ch=getch?ar();
}
(2) 在本题中循?环体内需要?把读入的所?有数字字符?转换成一个?整数。若用变量n?来存放这个?整数,为了保证有?效的存放,应当把它定?义成lon?g类型。
(3) 要把输入的?一串数字字?符转换成一?个整数,首先需要判?断当前读入?的字符是否?是数字字符?,若不是则什?么也不做;若是,则进行以下?操作:
① 把当前读入?的一个字符?转换成一个?一位整数,这可由语句?“d=ch-′0′; ”来实现,在这里d是?一个整型变?量;
② 把d中的一?位数归并到?n的低位中?,这可用语句?“n=n*10+d;”来实现。这里所述的?操作可由以?下语句来完?成:
if(ch=′0′ch=′9′){ d=ch-′0′; n=n*10+d; }
if语句后?一对括号中?的判断表达?式可以调用?字符函数i?sdigi?t来实现:
if( isdig?it(ch) ) { d=ch-′0′; n=n*10+d; }
if子句的?两个语句可?以合并成:n=n*10+ch-′0′;。
(4) 把(3)中的语句放?入循环中:
ch=getch?ar();
while?(ch![KG-*2]=′\n′)
{ if(ch=′0′ch=′9′) n=n*10+ ch-′0′;
ch=getch?ar();
}
(5) 请自己写出?定义语句并?
文档评论(0)