网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计教程 李淑华 第09讲 数组 2 新.pptVIP

C语言程序设计教程 李淑华 第09讲 数组 2 新.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲 数组 6.3 字符数组与字符串 6.4 应用举例 6.3 字符数组与字符串 6.3.1 字符数组 1. 字符数组的定义 一维数组的定义形式: char 数组名[常量表达式]; 例如:char c[10]; 二维数组的定义形式: char 数组名[常量表达式1][常量表达式2]; 例如:char b[3][4]; 用来存放字符数据的数组是字符数组。字符数组中的一个元素存放一个字符。 char c[10]可写成int c[10] 2. 字符数组的初始化 如: static char c[10]={‘w’,’ ‘,’r’,’y’,’d’,’g’,’I’,’s’,’c’,’u’}; 说明: (1)如果花括号中提供的数值个数(即字符个数)大于数组长度,则作语法错误处理。 (2)如果初值个数小于数组长度,则只将这些字符赋给数组中的前面那些元素,其余元素自动定为空字符(‘\0’) (3)如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。 3. 字符数组的引用 例6.10 输出一个字符串 main( ) {char c[10]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’}; int I; for(i=0;i10;i++) printf(“%c”,c[i]); printf(“\n”); } 运行结果: I am happy 6.3.2 字符串 1. 字符串和字符串结束标志 (1)字符串常量。字符常量是用双引号括起来的一串字符,C语言约定用‘\0‘作为字符串的结束标志,它占内存空间,但不计入串的长度。’\0’的代码值为0。 (2)在C语言中,字符串可以存放在字符型一维数组中,故可以用字符型一维数组处理字符串。 2. 用字符串常量给数组赋初值(初始化)。 char c[6]=“chian”; 4. 字符串的输入和输出 (1)逐个字符输入输出函数。 (a)在标准输入和输出函数printf和scanf中,用格式符“%c”输入或输出一个字符。 (b)使用gets和puts函数。 (2)将整个字符串一次输入或输出。用格式符“%s“,输出字符串。例如: static char c[ ]={“china”}; printf(“%s”,c); 5.字符串处理函数 (1)puts(字符串)——字符串输出函数。 功能:将一个字符串输出到终端。输出的字符串包含转义字符。例如: char str[ ]={“china\nbeijing”}; puts(str); 输出: china beijing (2)gets(字符数组)——字符串数组输入函数 功能:从终端输入一个字符串到字符数组,该函数返回值是字符数组的起始地址。例如: gets(str); 注意:用puts和gets函数只能输入或输出一个字符串,I不能写成:puts(str1,str2); 或 gets(str1,str2); (4)strcpy(字符数组,字符串)——字符串拷贝函数 功能:将字符串拷贝到字符数组中去。例如: char str1[10],str2[ ]={“china”}; strcpy (str1,str2); 执行结果:china\0\0\0\0\0 说明: (a)字符数组必须足够大,以便能容纳被拷贝字符串 (b)拷贝时连同字符串后面的‘\0’一起拷贝到字符数组中。 (5)strcmp(字符串1,字符串2)——字符串比较函数。 功能:按ASCⅡ码值大小比较,将两个字符串自左至右逐个字符相比,直到出现不同的字符或到’\0’为止。如果全部字符相同,则认为相等,如果出现不相同的字符,则以第一个不相同的字符的比较结果为准。比较的结果由函数值带回。 (a)字符串1=字符串2,函数值为0; (b)字符串1字符串2,函数值为0; (c)字符串1字符串2,函数值为0; 注意:对两个字符比较,不能用以下形式: If(str1==str2)printf(“yes”); 而只能用:if(strcmp(str1,str2)==0)printf(“yes”); 6.4 应用举例 例6.12 从键盘为一个3х3整型数组输入数据,并找出主对角线上元素的最大值及其所在的行号。 #include “stdio.h” main( ) {int a[3][3],I,j,Max,Row; for(i=0;i3;i++); for(j=0;j3;j++); scanf(“%d”,a[i][j]); Max=a[0][0]; Row=0; for(i=1;i3;i++); if(Maxa[i][i]) {Max=a[i][i]; Row=I;} Printf((“Max=

您可能关注的文档

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档