版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省2026年成人高考艺术概论练习题及答案
- 防城港市注册测绘师资格考试(测绘综合能力)题库及答案(2026年)
- 2026年重庆市风景园林职称(风景园林工程与技术)综合试题及答案
- 2026年上半年湛江全国英语等级考试(PETS)一级B全真模拟试题及答案解析
- 2026年卫生高级职称面审答辩(放射医学技术)在线题库及答案(正高面审)
- 2026年中级经济师试题人力资源管理专业知识与实务测试题及答案
- 社区卫生服务中心驾驶员装卸作业安全操作规程
- 有限空间作业单位安全管理员定期维护安全操作规程
- 延安中考政治试题及答案
- 2025年7月公共营养师基础知识测试题+答案
- SYT 5074-2025《钻井和修井动力钳、吊钳》
- 江苏南京市秦淮区2025-2026学年八年级下学期英语期末试卷
- 济南市章丘市2026届三年级数学第二学期期末学业水平测试试题(含答案解析)
- 餐饮行业订餐合同规范模板
- 眼镜制造工程师考试试卷及答案
- 2026学年四川省宜宾市六年级数学期末模考快速提分题详细参考解析详细答案和解析
- 河道挡墙钢板桩围堰施工方案
- 2026年教育系统学校中层后备干部选拔考试题(含答案)
- 医院临床路径管理实施及考核评价细则
- 2026 酒店客房布置实训课件
- 2026上半年软考中级真题及答案解析(考后更新)
评论
0/150
提交评论