- 1、本文档共93页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
例6.17有以下程序(2011年3月全国计算机等级考试二级C试题选择题第21题)#includestdio.hmain(){chars[]=012xy\08s34f4w2;inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]=0s[i]=9)n++;printf(%d\n,n);}程序运行后的输出结果是A)0B)3C)7D)8分析:对于字符串来说,\0是其结束标志,它的ASCII码值为0。本题首先用字符串进行初始化,然后通过for循环来依次判断字符串中有多少个数字字符(0~9),当判断到\0时,根据循环条件,循环终止,所以只有0、1、2,n=3。选B。需要补充说明的是,\0后面是8,不符合八进制表示字符的规则,所以是结束符\0。大家可以思考一下,如果\0后面不是8而是7,输出结果会是多少?例6.18以下程序用以删除字符串所有的空格,请填空。(2010年3月全国计算机等级考试二级C试题填空题第14题)#includestdio.hmain(){chars[100]={OurteacherteachClanguage!};inti,j;for(i=j=0;s[i]!=\0;i++)if(s[i]!=){s[j]=s[i];j++;}s[j]=printf(%s\n,s);}分析:本题通过for循环一一判断字符数组中各元素,如果不是空格,则仍保留在字符数组中。变量i,j分别表示原数组元素下标和变化后的数组元素下标,最后应在新串的末尾添加结束标志\0。s[j]=\0;。6.3.5 字符数组的输入和输出字符数组的输入和输出有两种方法,一种是对数组中的每一个字符元素逐个进行输入或输出,采用%c格式说明符;另一种是将数组中的所有字符作为一个字符串进行输入或输出,采用%s格式说明符。1.逐个字符输入输出,格式符为%c。例6.19输入字符数组各元素值,并输出。#includestdio.hvoidmain(){ charc[5]; inti; for(i=0;i5;i++) scanf(%c,c[i]);//用%c格式符逐个输入 for(i=0;i5;i++) printf(%c,c[i]);//用%c格式符逐个输出}运行结果:abcde↙abcde2.整个字符串一次输入输出,格式符为%s。在用格式符%s进行输入时,其输入项为数组名,由于数组名代表了该数组在内存中的存储首地址,所以输入时不能在数组名前再加取地址符。例如:charch[6];scanf(%s,ch);//错误scanf(%s,ch);//正确如果输入多个字符串,相邻两个之间用空格分隔,系统会自动在字符串最后加结束符\0;输出字符串时,\0是结束标志。例6.20用%s格式符输入和输出字符串。#includestdio.hvoidmain(){ chara[6],b[6]; scanf(%s%s,a,b);//用%s输入字符数组a和b printf(a=%s,b=%s\n,a,b);//用%s输出字符数组a和b}运行结果:abcdef↙a=abc,b=def分析:在输入的abc与def之间有一个空格分隔,因此,系统将abc作为一个字符串赋给数组a,并且在后面自动添加字符中结束标志\0;而将def作为另一个字符串赋给数组b,并且也在后面添加结束标志\0。所以输出结果为:a=abc,b=def在用格式符%s输出时,有如下几点说明。例6.21有以下程序(2009年9月全国计算机等级考试二级C试题填空题第13题)#includestdio.hmain(){chara[20]=Howareyou?,b[20];scanf(%s,b);printf(%s%s\n,a,b);}程序运行时从键盘输入:Howareyou?回车则输出结果为。分析:在用%s输入字符串时,系统把空格作为字符串之间的分隔符,出现空格则认为该字符串输入结束,并在其后面添加结束标志\0。本题中用%s格式符输入字符数组b,键盘输入Howareyou?,由于How后面出现空格,所以字符数组b中存放的是How。则输出结果为Howareyou?How例6.22有以下程序(2011年9月全国计算机等级考试二级C试题选择题第34题)#i
文档评论(0)