资源描述:
《字符串和字符数组》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七章字符数组和字符串目标理解字符数组理解字符串常量理解字符串常量和字符常量的区别2字符数组chara='W';charb='a';charc='n';chard='g';chare='L';charf='i';如何让程序存储我的姓名?WangLicharname[15]={'W','a','n','g','L','i'};用若干个字符用字符数组用字符串3字符数组字符数组:用来存放字符数据的数组是字符数组。字符数组可按如下方式声明并初始化:charname[6]={'W','a','n','g','L','i'};charname[]={'W','a','n'
2、,'g','L','i'};WangLi4字符数组字符数组可按如下方式输出:chara[5]={'h','e','l','l','o'};inti;for(i=0;i<5;i++){printf("%c",a[i]);}5字符串与字符数组字符串:用””括起来的一系列字符在C语言中,将字符串作为字符数组来处理,C语言规定了一个"字符串结束标志",以字符' '代表。字符串可按如下方式声明并初始化:charname[7]={'W','a','n','g','L','i',' '};charname[7]="WangLi";charpassword[]="1234
3、5678";手工加入一个空字符系统将自动加入一个空字符省略数组大小,系统自动计算,大小为后面的字符总数加1,最后一个元素存入一个空字符。6字符串常量和字符常量是不同的量。它们之间主要有以下区别:1.字符常量由单引号括起来,字符串常量由双引号括起来。2.字符常量只能是单个字符,字符串常量则可以含一个或多个字符。3.可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言中没有相应的字符串变量。但是可以用一个字符数组来存放一个字符串常量。4.字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存
4、放字符“ ”。这是字符串结束的标志。例如,字符串“Cprogram”在内存中所占的字节为:Cprogram 。5.字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。'a'在内存中占一个字节,可表示为:a"a"在内存中占二个字节,可表示为:a 字符串常量与字符常量7字符串I/0函数3-1charname[10];scanf("%s",name);printf("%s",name);格式描述串中使用转换字符串“%s”WangLiWang 使用scanf时,不能输入空格,TAB或者回车,如果输入表示字符串输入完毕Wang8字符串
5、I/0函数3-2charname[10];gets(name);puts(name);WangLi WangLiWangLi从键盘上读入一个完整的行,存入字符数组name。并用空字符‘ ’取代行尾的换行符‘’。(输出自动换行)把字符数组中的字符串输出到显示器。使用gets函数允许输入空格9练习请输入一段祝福的话,然后输出.10字符串I/0函数3-3puts函数完全可以由printf函数取代。当需要按一定格式输出时,通常使用printf函数。printf("雇员姓名是:");puts(name);printf("雇员所属部门是:");puts(d
6、ept);printf("雇员姓名是:%s",name);printf("雇员所属部门是:%s",dept);使用puts函数输出字符串使用printf函数输出字符串11要求用户输入他们的名字和性别,如果是男士,请输出:欢迎您,某某先生;如果是女士,请输出:欢迎您,某某女士字符串示例12#includemain(){chara[50];charsex;printf("请输入姓名:");scanf("%s",&a);printf("请输入性别男M女N:");scanf("%c",sex);if(sex=='m'
7、
8、sex==
9、'M')printf("欢迎您,%s先生",a);elseif(sex=='n'
10、
11、sex=='N')printf(“欢迎您,%s女士",a);elseprintf("您输入的性别不合法");}13字符串函数strcmp(字符串1,字符串2):比较字符串1和字符串2。(字符串1=字符串2,返回0;字符串1>字符串2,返回正数;字符串1<字符串2,返回负数;)包含在#include头文件中.14#include#includevoidmain(){charname[50];charsex[4];print
12、f("请输入您的姓名:");scanf