- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 字符串 【例7-1】观察下面程序的运行结果,注意转义字符的使用 字符的输入与输出scanf和printf Char ch; scanf(%c,ch); 从键盘输入一个字符,并将输入的字符存放在变量ch之中。 printf(%c,ch); 将字符型变量ch的在屏幕上输出。 ? 字符的输入与输出getchar和putchar 字符输入函数: char getchar() 使用方法:char ch = getchar() getch()与getchar()的区别: getchar() 有键盘缓冲,只有输入回车,才能提取一个字符。该函数能输入任意字符,包括空格、回车等。功能与Scanf(“%c”,ch);相同。 字符输出函数: 函数原型:putchar(char ch) 使用方法:putchar(ch) 7.2 字符串 字符串的存储 依次存储每个字符ASCII码 例如字符串”Strings.\n” (1)用一维数组表示字符串变量 字符数组:每个元素都是字符类型的数组 char str[80]; 字符数组的初始化 逐个元素初始化 char str[6] = {C,h,i,n,a,\0}; 用字符串常量直接对数组初始化 char str[11] = {China}; char str[11] = China; (2)用字符指针表示字符串变量 char *str=Hello China; 只能进行整体初始化 或者,在需要时给字符型指针赋值: char *cp,str[ ]=” Hello china”; cp=str; 字符数组与字符指针的区别 字符数组与字符指针的区别 字符数组与字符针的区别案例 char *cp; 与 char str[20]; char str[20]; str=“I love China!”; ( ) char *cp; cp=“I love China!”; ( ) cp接受键入字符串时,必须先开辟存储空间 7.4 字符串数组 (1) 用字符型二维数组表示字符串数组 7.4.1 用字符型二维数组表示字符串数组 char astr[M][N]; astr可以看做一个字符串数组。 存储M个字符串,每一行就是一个字符串。 每一个字符串最多可以存储N-1个字符。 7.4.2用字符型指针数组表示字符串数组 char *pstr[3] = {Wuhan, Beijing, Shanghai}; (1)利用循环逐个字符输出 for (i=0; str[i]!=\0; i++) { putchar(str[i]); } putchar(\n); 字符串输入函数的比较 #include stdio.h void main( ) { char ch[100]; gets(ch); printf(%s\n,ch); } #include stdio.h void main( ) { char s1[10]=beijing; char str[3][9]={Wuhan, Beijing, Shanghai}; printf(%s\n,s1); printf(%s\n,str[0]); printf(%s\n,str[1]); printf(%s\n,str[1]+1); printf(%c\n,*(str[1]+1)); } 7.6 字符串的基本运算 ⑴ 字符类型判定函数(头文件 ctype.h) 判断字符的类型,如英文字母,数字,控制符,大小写 ⑵ 字符串处理函数(头文件 string.h) 求字符串长度,字符串复制、字符串拼接、字符串比较 (3)字符串与数字转换函数(stdlib.h) 字符串转换为整数、字符串转换为浮点数 整数、浮点数等转换为字符串等。 字符串处理函数 #include string.h 1.求字符串有效长度 函数原型:int strlen(const char s[]) 头文件:string.h 功能:计算字符串长度 返回值:返回字符串实际长度,不包括\0在内 【例7-7】(strlen函数与sizeof运算符的比较)对照下面的程序及结果,分析原因。 #include stdio.h void main( ) { char str1[] = 0123456789; char str2[] = A\0BC\0D; char str3[] = 0123\0456789; char *str4 = 0123\0846759; char f[]= 0123\x62\0t345
文档评论(0)