数组PPT.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组PPT

定义方法与数值型数组类似: char 数组名[常量表达式]; 如: char str[5]; 元素为:a[0],a[1],…….,a[4],每一个元素的值为一个字符。 1、 字符数组的定义 字符数组的存储结构 同数值型数组一样,系统在内存为字符数组分配若干(和数组元素个数相同)连续的存储单元,每个存储单元为一个字节。 例如:char str[5]; 假设 str [0]=‘A’;str [1]=‘ ’; str [2]=‘B’;str [3]=‘o’; str [4]=y; 则数组a在内存存储示意图如下图 A B o y a[0] a[1] a[2] a[4] a[3] 1)以字符串初始化时 如:static char c[ ]={”I am happy”}; 或:static char c[ ]=”I am happy”; 2) 以%s输入字符串时 scanf(“%s”,c); 3)用gets接收字符串时 何时自动添加‘\0’ 1) 逐个元素初始化,如: static char c[10]={’h’,’a’,’p’,’p’,’y’}; 说明: 如果初值个数数组长度,则作语法错误处理; 如果初值个数数组长度,则只将这些字符赋给数组中前面那些元素,其余元素自动定为空字符(即’\0’); 如果初值个数=数组长度,则在定义时可省略数组长度。 2、 字符数组的初始化 2)用字符串来初始化字符数组 例如:char a[11] = {”I am a boy”}; char a[11] = ”I am a boy”; I ? a m ? a ? b o y \0 假设有定义 char a[10]; 1)用格式符“%c”逐个字符输入输出: 3、字符数组与字符串的输入输出 scanf(“%c”,a[i]); printf(“%c”, a[i]); /*每次输入输出一个字符*/ 2)用格式符“%s”整个字符串输入输出: char c[10]; scanf(%s,c); /*注意此处用数组名c*/ printf(%s, c); /*注意此处用数组名c*/ 用“%s”格式输入或输出字符数组时,函数scanf的地址项、函数printf的输出项都是字符数组名。这时数组名前可不加“”符号,因为数组名就是数组的起始地址。 注意: 用“%s”格式输出字符数组时,遇\0结束输出,且输出字符中不包含\0。若数组中包含一个以上\0,则遇第一个\0时即结束输出。 用语句“scanf(%s,s);”为字符数组s输入数据时,遇空格键或回车键时结束输入。但所读入的字符串中不包含空格键或回车键,而是在字符串末尾添加\0。 例如: char s1[5],s2[5]; scanf(%s%s,s1,s2); 若输入数据: C Prog↙ C \0 P r o g \0 则字符数组s1和s2的存储情况如下图所示 3)用字符串输入函数gets实现输入 : 字符串输入函数gets的函数原型在头文件“stdio.h”中被说明,调用该函数时,应在程序中加入文件包含命令: #include stdio.h 形式: gets(字符数组名); 举例: char a[10]; gets(a); printf( %s ,a); 参考程序: main() {long x; int i,j,n,d[20]; /*n为x的位数,d数组用来存放每位数,数组长度应设计的大一些*/ scanf(“%ld”,x); n=0; do{d[n]=x%10;x=x/10;n++; }while(x!=0); for(i=0,j=n-1;ij;i++,j--) if(d[i]!=d[j]) break; if(ij) printf(“NOT”); else printf(“YES”); } 练一练 【练习4-1】 从键盘输入某学科竞赛组6名成员的成绩(整数),求平均成绩、最高分、最低分。 解:本例采用一维整型数组存储6名成员的成绩,程序要求从键盘中输入成绩,可以利用循环语句调用scanf函数逐个输入各数组元素的数据。分析该程序,将第1个人的成绩预置为最高分max和最低分min,用其余5人的成绩依次与max和min比较:如果某人成绩大于max,则更新max;如果某人成绩小于min,则更新min。 源程序如下: 返回到本章目录 for(i

您可能关注的文档

文档评论(0)

djdjix + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档