- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]第6章 利用数组处理批量数据
(5)可以用strncpy函数将字符串2中前面n个字符复制到字符数组1中去。 strncpy(str1,str2,n); 若n为2 作用是将str2中最前面2个字符复制到str1中,取代str1中原有的最前面2个字符。 复制的字符个数n不应多于str1中原有的字符。 字符串比较的规则是:将两个字符串自左至右逐个字符相比,直到出现不同的字符或遇到’\0’为止 如全部字符相同,认为两个字符串相等 若出现不相同的字符,则以第一对不相同的字符的比较结果为准 例: ”A””B” ”a””A” ”computer””compare” ”these””that” ”1A””$20” ”CHINA””CANADA” ”DOG””cat” ”Tsinghua””TSINGHUA” (4)不能用赋值语句将一个字符数组直接给一个字符数组。如下面是不合法的: str1=str2; 而只能用strcpy函数将一个字符串复制到另一个字符数组中去。 用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。如下面是合法的: char a[5],c1,c2; c1=′A′; c2=′B′; a[0]=′C′; a[1]=′h′; a[2]=′i′; a[3]=′n′; a[4]=′a′; 思考下列语句执行后s2的值: char s1[ ]=“abc\ndef\0gh\t”; char s2[80]; strcpy(s2,s1); S2= “abc\ndef\0” 5、strcmp函数----字符串比较函数 其一般形式为:strcmp(字符串1,字符串2) strcmp的作用是比较字符串1和字符串2。 例如:strcmp(str1,str2); strcmp(″China″,″Korea″); strcmp(str1,″Beijing″); 比较的结果由函数值带回: (1) 如果字符串1=字符串2,函数值为0。 (2) 如果字符串1字符串2,函数值为一正整数。 (3) 如果字符串1字符串2,函数值为一负整数。 注意:对两个字符串比较,不能用以下形式: if(str1str2) printf(″yes″); 而只能用 if(strcmp(str1,str2)0) printf(″yes″); 例:下列语句执行后n的值分别为多少? 1、n=strcmp(“ABCD12”,”ABCD”); 2、 n=strcmp(“ABcd”,”ABCD”); 3、 n=strcmp(“12ABcd”,”ABCD”); 6、strlen函数----测字符串长度的函数 其一般形式为:strlen (字符数组) strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括′\0′在内)。 例如:char str[10]={″China″}; printf(″%d″,strlen(str)); 输出结果不是10,也不是6,而是5。也可以直接测试字符串常量的长度,如strlen(″China″); 7、strlwr函数----转换为小写的函数 其一般形式为:strlwr (字符串) strlwr函数的作用是将字符串中大写字母换成小写字母。 8、strupr函数----转换为大写的函数 其一般形式为:strupr (字符串) strupr函数的作用是将字符串中小写字母换成大写字母。 例:char s[]=“1234\n89\r\b\0abcd” n=strlen(s); 则 n=? 9 例6 .8 输入一行字符,统计其中有多少个单词,单 词之间用空格分隔开。 6.3.7 字符数组应用举例 解题思路:问题的关键是怎样确定“出现一个新单词了”。 从第1个字符开始逐个字符进行检查,判断此字符是否是新单词的开头,如果是,就使变量num的值加1,最后得到的num的值就是单词总数。 判断是否出现新单词,可以由是否有空格出现来决定(连续的若干个空格作为出现一次空格;一行开头的空格不统计在内)。 如果测出某一个字符为非空格,而它的前面的字符是空格,则表示“新的单词开始了”,此时使num累加1。 如果当前字符为非空格而其前面的字符也是非空格,则num不应再累加1。 6.3.7 字符数组应用举例 用变量word作为判别当前是否开始了一个新单词的标志,若word=0表示未出现新单词,如出现了新单词,就把wor
文档评论(0)