资源描述:
《第10章 字符串处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章字符串处理主讲教师:郑立垠计算机与通信工程学院计算机应用技术系本章主要内容1、字符数组与字符串的概念2、字符串输入/输出函数3、字符串处理函数字符串的概念字符串:若干字符的组合看作一个整体,称为字符串字符串常量:用双引号“”括起的字符序列字符串的存储在内存中连续存储,以字符‘ ’为结束标识C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串,使用字符数组或字符指针来处理字符串HelloWorld “ChinaUniversityofPetroleum"“HelloWorld"printf("Inputanumber:“)定界符
2、ASCII码值为0字符数组字符数组每个元素都是字符类型的数组,它的每个元素存放一个字符(占一个字节)字符数组的定义如charc[10];数组c是一维数组,它可以存放10个字符,或者一个长度不大于9的字符串如charname[3][10];数组c是二维数组,它可以存放30个字符,或者3个长度不大于9的字符串注意:字符串只能存放在数组中一维字符数组的初始化用字符常量赋值如:charc[5]={'C','h','i','n','a'};又如:charc[6]={'C','h','i','n','a',' '};再如:charc[7]={'C','h','i
3、','n','a'};ChinaChina 不是字符串是字符串China 表示空字符NULL一维字符数组的初始化用字符串常量赋值如:charc[6]={”China”};或者charc[6]=”China”;China 是字符串注:以字符串方式赋值时,必须保证数组元素个数≥字符个数+1,(字符串后面自动加上一个' ')。一维字符数组的初始化省略数组长度如:charc[]={'C','h','i','n','a'};再如:charc[]=”China”;注意:不可以为数组单独整体赋值,例如charstr[10];str=”China”;Ch
4、inaChina 不是字符串是字符串×字符数组元素的引用可以为数组元素赋值,也可以输入/输出元素的值【例】对字符数组c1赋值’0’~’9’,对字符数组c2赋值’A’~’Z’,然后输出c1和c2中的数据//chap8ex1.c#includeintmain(){charc1[10],c2[26];inti;for(i=0;i<10;i++)c1[i]=i+48;for(i=0;i<26;i++)c2[i]=i+'A';for(i=0;i<10;i++)printf("%c",c1[i]);printf("");for(i=0;i<
5、26;i++)printf("%c",c2[i]);printf("");return0;}字符串的输入和输出C语言中常用的字符串输入输出函数有scanf和printf、gets和puts等1、printf函数一般格式为:printf("%s",字符数组名或字符串常量)其中,%s为字符串描述符例如:charc[15]=“HelloChina!";printf("%s",c);printf("%s","HelloChina!");注意:用格式%s控制输出1.输出项一定要是地址2.遇到‘ ’便结束输出字符串的输入和输出2、scanf函数一般格
6、式为:scanf("%s",字符数组)其中,%s为字符串描述符,对应的输入项是字符数组的首地址例如:charc[10];scanf("%s",c);注意:scanf接收数据的变量要求的是地址:对简单变量(数组元素),前面加&对一维数组,数组名就是数组的首地址对二维数组,只写行下标是本行首地址无需加“&”字符串的输入和输出示例//chap8ex2.c#includeintmain(){chars1[15];chars2[]={'L','i','','s','i',' '};chars3[]="Wangwu";inti=0;printf
7、("请向数组中输入一个姓名:");scanf("%s",s1);printf("第一个字符串是:");while(s1[i]!=' '){printf("%c",s1[i]);i++;}printf("第二个字符串是:");printf("%s",s2);printf("第三个字符串是:");printf("%s",s3);return0;}#includeintmain(){charstr[20];printf("输入一个字符串:");scanf("%s",str);printf("输入的字符串为:%s",str);p
8、rintf("");return0;}字符串的输入和输出输入一个字符串:Hello使用sc