第10章--字符串_第1页
第10章--字符串_第2页
第10章--字符串_第3页
第10章--字符串_第4页
第10章--字符串_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C C程序设计程序设计第第1010章章 字符串字符串 C C程序设计程序设计n10.1 10.1 字符串常量字符串常量 n10.2 10.2 字符串的存储字符串的存储n10.3 10.3 字符指针字符指针n10.4 10.4 字符串的访问和输入输出字符串的访问和输入输出 n10.5 10.5 字符串处理函数字符串处理函数 n10.6 10.6 应用举例应用举例 n10.7 10.7 从函数返回字符串指针从函数返回字符串指针 本章主要内容本章主要内容C C程序设计程序设计10.1 10.1 字符串常量字符串常量 字符串常量字符串常量是一对双撇号括起来的字符序列是一对双撇号括起来的字符序列. .

2、合法的字符串常量合法的字符串常量: :“How do you do.How do you do.”, , “CHINACHINA”, “a a” , “$123.45$123.45” 可以输出一个字符串,如可以输出一个字符串,如printf(printf(“How do you do.How do you do.”) ; 字符串结束标志字符串结束标志:00C C程序设计程序设计10.2 10.2 字符串的存储字符串的存储nC C语言没有提供字符串数据类型,因此字符串的存取要用语言没有提供字符串数据类型,因此字符串的存取要用字符数字符数组组/ /字符指针字符指针来实现。来实现。 char cha

3、r strstr6=6=H,e,l,l,oH,e,l,l,o,0,0n区分字符数组,字符串存储区分字符数组,字符串存储 char char strstr5=5=H,e,l,l,oH,e,l,l,o;n将字符串常量赋值给字符数组将字符串常量赋值给字符数组 char char strstr=“Hello” =“Hello” 或者或者 char char strstr=“Hello”;=“Hello”; 思考:思考: char char strstr10; 10; strstr=“Hello”; =“Hello”; 对吗?对吗?C C程序设计程序设计n可以将多个字符串放在一个二维字符数组中可以将多个

4、字符串放在一个二维字符数组中nchar weekday710=“Sunday”,”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”;n若字符串太长,可以拆分成几个小片段写在不同的行。若字符串太长,可以拆分成几个小片段写在不同的行。nChar longstr=“This is the first half of the string” “and this is the second half.”C C程序设计程序设计10.3 字符指针字符指针nchar *ptr=“Hello”;nchar *pt; pt=“Hello”n

5、区分:区分: char str10=“hello”, *ptr=“hello”,*qtr; qtr=str; *ptr=A; *qtr=A; -可以吗?可以吗? C C程序设计程序设计10.4 字符串的访问和输入字符串的访问和输入/输出输出1. 访问字符串中的单个字符访问字符串中的单个字符Eg. char str10=“hello”; char *pstr=“hello”;2. 字符串的输入字符串的输入/输出输出 可以有两种方法:可以有两种方法:逐个字符输入输出。用格式符逐个字符输入输出。用格式符“%c”%c”输入或输出一个字符。输入或输出一个字符。将整个字符串一次输入或输出。用将整个字符串一

6、次输入或输出。用“%s”%s”格式符,意思是对字符串格式符,意思是对字符串的输入输出。的输入输出。 C C程序设计程序设计n(1) %c格式格式n for(i=0;i10;i+) scanf(“%c”,&stri);n for(i=0;i1字符串字符串2 2,函数值为一正整数。,函数值为一正整数。(3)(3) 如果字符串如果字符串11str2) printf(yes);而只能用而只能用if(strcmp(str1,str2)0) printf(yes);C C程序设计程序设计6. strlen函数函数 其一般形式为:其一般形式为:strlen (字符数组字符数组) strlenstrl

7、en是测试字符串长度的函数。函数的值为字符串中的实际长度是测试字符串长度的函数。函数的值为字符串中的实际长度( (不包括不包括00在内在内) )。例如:例如:char strchar str1010=China;=China; printf(“%d”strlen(str); printf(“%d”strlen(str);输出结果不是输出结果不是1010,也不是,也不是6 6,而是,而是5 5。也可以直接测试字符串常量的长度,如。也可以直接测试字符串常量的长度,如strlen(China); C C程序设计程序设计例例10.1 10.1 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

8、输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。10.6 10.6 应用举例应用举例C C程序设计程序设计程序如下:程序如下: #include void main() char string81; int i,num=0,word=0; char c; gets(string); for (i=0;(c=stringi)!= 0;i+) if(c= ) word=0; else if(word=0) word=1; num+; printf(There are %d words in the line.n,num); C C程序设计程序设计例例10.2 10.2 有有3 3个字符串

9、个字符串, ,要求找出其中最大者要求找出其中最大者 程序如下程序如下: :#include#includevoid main ( ) char string20; char str320; int i; for (i=0;i0) strcpy(string,str0)else strcpy(string,str1);if (strcmp(str2,string)0) strcpy(string,str2);printf(nthe largest string is n%sn,string);C C程序设计程序设计运行结果如下运行结果如下: :CHINACHINAHOLLANDHOLLANDAMERICAAMERICA the largest string isthe largest string isHOLLANDHOLLANDC C程序设计程序设计C C程序设计程序设计C C程序设计程序设计10.7 向函数传递字符串向函数传递字符串n向函数传递字符串时,既可使用字符数组作函向函数传递字符串时,既可使用字符数组作函数参数,也可使用字符指针作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论