资源描述:
《第15讲 数组(3).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十五讲数组(3)赵欢欢计算机与信息工程学院/学习目标理解字符数组与字符串的定义能够灵活使用字符数组/例7-9输入一个以回车结束的字符串(少于10个字符),它由数字字符组成,将该字符串转换成整数后输出。7.3.1程序解析7.3.2一维字符数组7.3.3字符串7.3进制转换/7.3.1程序解析#includeintmain(void){inti,n;chars[10];printf("Enterastring:");/*输入字符串*/i=0;while((s[i]=getchar())!='')i++;s[i]
2、=' ';n=0;/*将字符串转换为整数*/for(i=0;s[i]!=' ';i++)if(s[i]<='9'&&s[i]>='0')n=n*10+(s[i]-'0');elsebreak;printf("digit=%d",n);return0;}Enterastring:123digit=123/7.3.2一维字符数组字符串的存储和运算可以用一维字符数组实现一维字符数组的定义、引用、初始化与其他类型的一维数组一样。charstr[80];定义一个含有80个字符型元素的数组strchart[5]={'H','a','p
3、','p','y'};初始化数组tt[0]t[1]t[4]tHappy输出数组t的所有元素for(i=0;i<5;i++)putchar(t[i]);/一维字符数组chart[5]={'H','a','p','p','y'};staticchars[6]={'H','a','p','p','y'};staticchars[6]={'H','a','p','p','y',0};0代表字符' ',也就是ASCII码为0的字符staticchars[6]={'H','a','p','p','y',' '};s[0]s[1]s[5]s
4、Happy t[0]t[1]t[4]tHappy/7.3.3字符串字符串常量用一对双引号括起来的字符序列一个字符串结束符' '"Happy"6个字符'H''a''p''p''y'' '有效字符字符串结束符字符串的有效长度:有效字符的个数/字符串与一维字符数组字符串:一个特殊的一维字符数组把字符串放入一维字符数组(存储)对字符串的操作===>对字符数组的操作/1.字符串的存储-数组初始化字符串可以存放在一维字符数组中staticchars[6]={'H','a','p','p','y',' '};字符数组初始化:用字符串常量
5、staticchars[6]={"Happy"};staticchars[6]="Happy";数组长度>=字符串的有效长度+1chart[5];"Happy"能存入t吗?s[0]s[1]s[5]sHappy /字符数组的初始化字符数组初始化的方法逐个字符赋值给各元素用字符串常量赋初值举例chars[]={'T','E','S','T',' '};chars[]={"TEST"};chars[]="TEST";chars[][6]={"China","Anhui","Hefei","USTC"};/字符串的存储autochar
6、s[80]="Happy";字符串遇' '结束第一个' '前面的所有字符和' '一起构成了字符串"Happy”' '之后的其他数组元素与该字符串无关s[0]s[1]s[5]sHappy ??字符串由有效字符和字符串结束符' '组成/字符串结束标志字符串结束标志' '以' '作为判断字符串结束的唯一标志与存放字符串的字符数组的长度无关所有字符串操作都以' '作为结束条件如果对字符数组每个元素分别赋值,并作为字符串使用,必须在最后手工添加' '系统在字符串常量后自动添加' '举例chars[]={'U','S',
7、'T','C',' '};/2.对字符串的操作把字符串放入一维字符数组(存储)对字符串的操作===>对字符数组的操作普通字符数组:数组元素的个数是确定的,一般用下标控制循环字符串:没有显式地给出有效字符的个数,只规定在字符串结束符' '之前的字符都是字符串的有效字符,一般用结束符' '来控制循环循环条件:s[i]!=' '/计算字符串的有效长度,并输出该字符串。字符串的有效长度:有效字符的个数数组中第一个' '前面的字符个数例6-10计算字符串的有效长度s[0]s[1]s[5]sHappy ??/#include8、dio.h>intmain(void){inti=0,len;charstr[80]="Happy";/*初始化*/for(i=0;str[i]!=‘ ’;i++);len=i;printf("len=%d",len);for(i=0;str