2 C语言上机-7字符串-精品文档整理.pptx

上传人:安*** 文档编号:26739598 上传时间:2022-07-19 格式:PPTX 页数:22 大小:238.44KB
返回 下载 相关 举报
2 C语言上机-7字符串-精品文档整理.pptx_第1页
第1页 / 共22页
2 C语言上机-7字符串-精品文档整理.pptx_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《2 C语言上机-7字符串-精品文档整理.pptx》由会员分享,可在线阅读,更多相关《2 C语言上机-7字符串-精品文档整理.pptx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 字符串 第七章7.1 字符串的存储 字符串是借助数组实现的一种构造数据类型,是字符型数据和数组结合的一种特殊形式。7.1.1 字符和字符串字符和字符串的区别:n 字符是单引号字符是单引号 引起来的一个字符而字符串是引起来的一个字符而字符串是双引号双引号” ”引起来的多个字符引起来的多个字符n 字符串后面都要有一个结束符字符串后面都要有一个结束符0aa0(a)字符a(b)字符串”a” 注意:字符串实际需要的存储空间总是要比字符个数多一个单位,即用来存放结束符07.1.1 字符和字符串字符型数组和字符串区别:不能将字符型数组就认为是字符串不能将字符型数组就认为是字符串例如:例如: char ch

2、10=a,b,c,d,e,f ch10是字符型数组,一共有是字符型数组,一共有10个存储空个存储空间,前六个元素分别是间,前六个元素分别是a,b,c,d,e,f。如果要将数组如果要将数组char ch10转化成字符串,需要在转化成字符串,需要在最后加上一个结束符最后加上一个结束符0 char ch10=a,b,c,d,e,f,07.1.2 字符串的初始化定义一个字符型数组后,再加上结束符01定义时直接赋予字符串2省略数组维数直接赋值3字符串赋值,不能将定义与赋值语句分开4例如:char ch10=a,b,c,0 (但要保证数组有足够大的空间保存字符串但要保证数组有足够大的空间保存字符串)例如:

3、char ch10=”abc” (但要保证数组有足够大的空间保存字符串但要保证数组有足够大的空间保存字符串)例如:char ch =”abc” (不必考虑存储空间问题不必考虑存储空间问题)例如:char ch10; ch10=”abc”;7.2 字符串的输入和输出 scanf()printf()gets()puts()1234学习在以下4个函数中如何输入输出字符串字符串在scanf和printf中的格式控制符是%s7.2.1 字符串格式控制符printfscanf 输出时特殊方式12例如: char s120;scanf(“%s”,s1);printf(“%s”,s1);例如: printf(

4、“%s”,s12);如果字符串s1是abcdef则从字符串第三个位置开始输出,遇到0停止,结果为”cdef” 8gets()函数用于接收一个字符串,其中括号内参数是接收单元的起始地址7.2.2 gets()函数和puts()函数puts()gets() puts()函数是用于输出一个字符串,其中括号内参数是输出字符串的起始地址12例如: char str20;gets(str);例如: puts(str);puts(&str2); 9strlen()strcpy()7.3 字符串处理的函数 strcatstrcmp1234学习在以下6个函数中如何处理字符串,此6个函数包含在string.h中s

5、trupr()5strlwr()6 10strlen()函数的一般形式为:7.3.1 strlen()函数特殊情况示例:12strlen(字符串s);功能说明:计算字符串s的长度,遇到0停止,返回字符串s长度不包括0。例如:char s110=”abcdef”;n=strlen(s1);/n的值为61. n1=strlen(“a3*bnF”); /n1=6, 因为n为转义字符即换行。2. n2=strlen(“Ab0c*5*m”);/n2=2, 0为结束符,后面不计算。3. n3=strlen(“heb076K”); /n3=5 , 076为八进制数对应为ASCII的4. n4=strlen(

6、“AB0123Y”);/n4=5,因八进制占3位 为012 后面的3是单独一个字符5. n5=strlen(“ABx41#Y”);/n5=5,因x41是十六进制数对应ASCII的A6. n6=strlen(“Bx41FHH”);/编译错误 因x41F 组成的十六进制数超出ASCII范围课本p22,表2.3ddd 三位八进制 xhh 二位16进制以下情况6.怪哉,我无法解释,估计不会出题考试。 11strcpy()函数的一般形式为:7.3.2 strcpy()函数1strcpy(字符串s1,字符串s2);功能说明:将字符串s2复制到s1所指的数组中,s2将覆盖s1中所有内容。例如:char st

7、r110=”abcdef”;char str210=“ABC”strcpy(str1,str2);puts(str1);结果为ABC 12strcat()函数的一般形式为:7.3.3 strcat()函数1strcat(字符串s1,字符串s2);功能说明:把s2所指的字符串添加到s1结尾处(覆盖s1结尾处的0),并添加0。s2和s1所指内容区域不可以重叠,s1有足够空间容纳s1和s2内容。例如:char s120=”abcd”;char s220=“ABCD”strcat(str1,str2);Puts(str1);结果为:abcdABCD 13strcmp()函数的一般形式为:7.3.4 s

8、trcmp()函数1strcmp(字符串s1,字符串s2);功能说明:将字符串s1和s2对应位置的字符ASCII码进行比较,返回一个具体的数值。(1)如果s1小于s2,结果小于0,通常为-1(2)如果s1等于s2,结果等于0(3)如果s1大于s2,结果大于0,通常为1例如:char s120=”America”;char s220=“China”int result=strcmp(str1,str2);结果为:-1 14strupr()函数的一般形式为:7.3.5 strupr()函数1strupr(字符串s);功能说明:将字符串s中所有小写字母转换为大写,其它字符不变。例如:char s12

9、0=”abc#”;strupr(str);puts(str);结果为:ABC# 15strlwr()函数的一般形式为:7.3.6 strlwr()函数1strlwr(字符串s);功能说明:将字符串s中所有大写字母转换为小写,其它字符不变。例如:char s120=”ABC#”;strupr(str);puts(str);结果为:abc#例例7.+17.+1:编写程序求输入的字符串长度:编写程序求输入的字符串长度#include stdio.hmain( ) char str40 ; int i ; printf(nnINPUT the String :) ; gets(str) ; for (

10、 i = 0 ; stri != 0 ; i +) ; printf(nThe length of string is %d , i ) ;例例7.+27.+2:编写程序实现字符串:编写程序实现字符串复复制制#include stdio.hmain( ) char str140 , str240 ; int i ; printf(nnINPUT the String :) ; gets(str2) ; for ( i = 0 ; str2i != 0 ; i +) str1 i = str2 i ; str1 i = 0 ; printf(nThe str1 is %s , str1 ) ;

11、printf(nThe str2 is %s , str2 ) ;例例7.+37.+3:编写程序实现字符串连接:编写程序实现字符串连接str1与与str2连接前:连接前:01234567891011121339str1:program0str2:design0str1与与str2连接后:连接后:str1:programdesign0str2:design0例7.+3:编写程序实现字符串连接#include stdio.hmain( ) char str140 , str240 ; int i , j ; printf(nnINPUT the First String :) ; gets(str

12、1) ; printf(nINPUT the Second String :) ; gets(str2) ; for ( i = 0 ; str1i != 0; i + ) ; for ( j = 0 ; str2j != 0 ; j + , i +) str1i = str2j ; str1i = 0 ; printf(nThe Resault is %s , str1 ) ; 例7.+3.2:直接使用字符串处理函数字符串处理函数实现字符串连接#include#includevoid main()char s120=“12345;char s210=“678;strcat(s1,s2);pr

13、intf(%sn,s1);/from : 1617-2程序设计基础期末考试例例7 .+4 7 .+4 输入一行字符,统计其输入一行字符,统计其中有多少个单词,单词之间用空中有多少个单词,单词之间用空格分隔开。格分隔开。变量变量wordword的作用的作用: :进入一进入一个单词的个单词的标志标志。word=0 代表 未进入单词,word=1 代表 已进入单词,当前的c 是 单 词 的 字 母 。 如 果c!= 且未进入单词(即上一字符为 ),可判断当前的c为某单词的第一个字 符 , 那 就 对 计 数 器Num+1例例7.+47.+4:输入一行字符,统计其中的单词个数输入一行字符,统计其中的单词个数#include stdio.hmain( ) char c, string81 ; int i , num = 0 , word = 0 ; gets(string) ; for ( i = 0 ; ( c = string i ) != 0; i + ) if ( c = ) word = 0 ; else if ( word = 0 ) word = 1 ; num + ; printf(nThere are %d words in the line .n, num ) ;I am a boy.There are 4 words in the line.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁