C语言“字符串”.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言“字符串”.ppt》由会员分享,可在线阅读,更多相关《C语言“字符串”.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章 字符串第十章第十章 字符串字符串10.1 10.1 字符数组与字符串字符数组与字符串10.2 10.2 指针与字符串指针与字符串12/29/20221C语言程序设计教程第10章 字符串10.1 10.1 字符数组与字符串字符数组与字符串10.1.1 字符数组的定义与初始化字符数组的定义与初始化1.1.字符数组的定义字符数组的定义字符数组字符数组:其元素类型为字符类型的数组,其定义与前面介:其元素类型为字符类型的数组,其定义与前面介 绍的数组定义相同。绍的数组定义相同。例如:例如:char str40;定定义义一一个个有有40个个元元素素的的字字符符数数组组,每每个个元元素素相相当当于
2、于一一个个字字符变量。符变量。char ch530;2.2.字符数组的初始化字符数组的初始化 char ch1=char ch1=a a,b b,c c,d d;char ch26=char ch26=a a,b b;char ch310=char ch310=00;12/29/20222C语言程序设计教程第10章 字符串10.1.2 10.1.2 字符串的概念及存储字符串的概念及存储1.1.字符串及其相关概念字符串及其相关概念字符串:字符串:若干有效字符的序列;若干有效字符的序列;可包含转义字符、可包含转义字符、ASCASC码表中的字符;码表中的字符;形式为:形式为:用双引号括起来的字符序列
3、;用双引号括起来的字符序列;例:例:I am a student.I am a student.,Hello a5=,a5=,fnfn。字符串的长度字符串的长度:字符串中所包含的字符的个数。:字符串中所包含的字符的个数。空串空串:没有一个字符的串。:没有一个字符的串。空格串空格串:包含一个或多个空格的串:包含一个或多个空格的串字符串的结束标志字符串的结束标志:00。注注:字符串存放在字符数组中。:字符串存放在字符数组中。12/29/20223C语言程序设计教程第10章 字符串2.2.用字符串初始化字符数组用字符串初始化字符数组 直接把字符串写在花括号中来初始化字符数组直接把字符串写在花括号中来
4、初始化字符数组如:如:char char chch=“student”;=“student”;花括号可以省略花括号可以省略 系系统统将将双双撇撇号号括括起起来来的的字字符符依依次次赋赋给给字字符符数数组组的的各各个个元元 素素,并并自自动动在在末末尾尾补补上上字字符符串串结结束束标标志志字字符符0。s t u d e n t 0 012/29/20224C语言程序设计教程第10章 字符串几点几点说说明:明:()字字符符串串结结束束标标志志0仅仅用用于于判判断断字字符符串串是是否否结结束,束,输输出字符串出字符串时时不会不会输输出。出。()在在对对有有确确定定大大小小的的字字符符数数组组用用字字
5、符符串串初初始始化化时时,数,数组长组长度度应应大于大于字符串字符串长长度。度。如:如:char s7=char s7=“studentstudent”;是错误的。是错误的。()如如果果花花括括号号中中提提供供的的字字符符个个数数大大于于数数组组长长度度,则则按按语语法法错错误误处处理理;若若小小于于,其其余余的的元元素素自自动动赋赋初初值为空字符(值为空字符(00)。)。(4 4)不不能能直直接接将将字字符符串串赋赋值值给给字字符符数数组组。若若有有定定义义 char char s10;s10;则则 下下 面面 的的 操操 作作 是是 错错 误误 的的。s=s=”studentstudent
6、”;12/29/20225C语言程序设计教程第10章 字符串10.1.3 10.1.3 字符串的输入输出字符串的输入输出1.1.字符串的输出方法字符串的输出方法(1 1)用)用printfprintf函数函数 用用printf输出字符串时,要用格式符输出字符串时,要用格式符“%s”,输输出时出时输出项表中对应的应是所要输出的字符串的起输出项表中对应的应是所要输出的字符串的起始地址,从该起始地址所对应的始地址,从该起始地址所对应的字符开始逐个字符字符开始逐个字符输出,直到遇到第一个输出,直到遇到第一个0为止。为止。例:例:char st15=“I am a boy!”printf(“%sn%s%
7、c”,st,&st7,st7);注意:若用注意:若用%s的格式输出字符串,输出项表中的格式输出字符串,输出项表中对应的应是对应的应是所要输出的字符串的起始地址,或字符所要输出的字符串的起始地址,或字符串常量。串常量。12/29/20226C语言程序设计教程第10章 字符串例例10.1 10.1 字符串输出示例字符串输出示例#include#include main()main()char str20=char str20=”How do you do?How do you do?”;intint k;k;printf(printf(“%s%s”,str,str);/*);/*输出输出strst
8、r中的字符串中的字符串*/for(k=0;strk!=for(k=0;strk!=00;k+);k+)printf(printf(“%c%c”,strk,strk);/*);/*一个一个地输出字符一个一个地输出字符*/输出结果为:输出结果为:How do you do How do you do?How do you do?How do you do?使用格式符使用格式符“%s”输出时,输出时,输出项表中对应的应是所要输出项表中对应的应是所要输出的字符串的起始地址,从该起始地址所对应的输出的字符串的起始地址,从该起始地址所对应的字符开始字符开始逐个字符输出,直到遇到第一个逐个字符输出,直到遇到
9、第一个0为止为止。使用使用”%c”格式时,格式时,用循环实现每个元素的输出。用循环实现每个元素的输出。12/29/20227C语言程序设计教程第10章 字符串(2)用)用puts函数输出字符串函数输出字符串 调用格式:调用格式:puts(strputs(str););函数功能:将字符串函数功能:将字符串strstr输出。输出。strstr应是所要输出应是所要输出字符串的起始地址,或字符串常量。字符串的起始地址,或字符串常量。从该地址所对应从该地址所对应的的字符开始逐个字符输出,直到遇到第一个字符开始逐个字符输出,直到遇到第一个0为止,为止,同时将同时将 0 0转换成换行符。转换成换行符。因此,
10、用因此,用puts()puts()输出一行,不必另加换行符输出一行,不必另加换行符nn。例:例:char char chch=student;=student;puts(chputs(ch);puts(&ch3);puts(Hello););puts(&ch3);puts(Hello);函数函数putsputs每次只能输出一个字符串,而每次只能输出一个字符串,而printfprintf可以输可以输出几个:出几个:printf(%s%s,str1,str2);printf(%s%s,str1,str2);12/29/20228C语言程序设计教程第10章 字符串 2.2.字符串的输入字符串的输入(
11、1)使用使用scanf函数输入字符串函数输入字符串例:例:char st15;scanf(“%s”,st);/*将所输入的字符串读到以将所输入的字符串读到以st为起始地为起始地 址的、连续的内存单元中。址的、连续的内存单元中。*/但:但:scanf(“%s”,&st)是错误的,因为是错误的,因为st就代表了该字就代表了该字 符符数组的首地址。数组的首地址。注注:输入时,以:输入时,以回车回车或或空格空格作为结束标志;作为结束标志;即:用即:用scanf输入的字符串中不能含有空格。输入的字符串中不能含有空格。若按如下方法输入:若按如下方法输入:How do you do?执行语句执行语句:sca
12、nf(%s,st);则则st的内容为的内容为:How0 使使用用格格式式字字符符串串%s%s时时会会自自动动加加上上结结束束标标志志00。第第一一个个空空格后的字符没有输入格后的字符没有输入st st中。中。12/29/20229C语言程序设计教程第10章 字符串(2)使用函数使用函数gets()输入字符输入字符调用格式调用格式:gets(str);函数功能函数功能:从键盘读入一个字符串到以:从键盘读入一个字符串到以str为为起始地起始地址的、连续的址的、连续的内存单元中,并自动在末尾加字符串内存单元中,并自动在末尾加字符串结束标志符结束标志符0。输入字符串时以回车结束输入,这种方式可以输入字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 字符串
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内