版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
字符数组CONTENTS
目录提出问题引入新课自主学习明确考点案例分析交流提升仿真演练体验探索提出问题引入新课PART011、存储字符串常量时,是根据其中字符的多少分配存储单元,一个字符分配一个字节,用于存放字符对应的ASCII值,其若干个字符的存储单元是连续分配并存放。同时,为了识别字符串的结束,常在其后增加字符串结束标识符。2、C语言中,字符串常量与字符数组相对应,字符常量的格式控制符是%c,字符串的格式控制符是%s。3、使用scanf函数进行输入数据时,遇到空格、回车符、制表符,指定的宽度,不同类型字符时,该数据被认为输入结束。提出问题引入新课自主学习明确考点PART02字符数组就是元素类型为字符型char的数组,定义格式是:
char<数组名>[<常量表达式>];
说明:(1)数组中一个元素存放一个字符。(2)同数值型数组一样,系统在内存为字符数组分配若干(和数组元素个数相同)连续的存储单元,每个存储单元为一个字节。例如:chara[5];假设a[0]='A';a[1]='';a[2]='B';a[3]='o';a[4]='y';则数组a在内存存储示意图如下图考点一:字符数组的定义a[0]a[1]a[2]a[3]a[4]ABo(1)在初始化表中用若干字符常量赋初值,字符常量以单引号作为定界符,相互之间用逗号隔开。例如:chars1[5]={'a','p','p','l','e'};chars2[10]={'a','p','p','l','e','\0'};考点二:字符数组的初始化字符数组s1含5个字符,分别用5个字符常量初始化赋值,对应元素s1[0]--s1[4];字符数组s2含10个字符,分别用6个字符常量初始化赋值,对应元素s2[0]—s2[5],后面4个元素被初始化为空格,‘\0’是字符串结束标志。说明:如果初值个数大于数组长度,则作语法错误处理;如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余元素自动定为空字符(即’\0’);如果初值个数等于数组长度,则在定义时可省略数组长度。(2)在初始化表中用字符串常量赋初值,甚至大括号也可以省去。字符串常量用双引号括起,系统会自动在字符串常量的最后一个字符后加一个‘\0’作为字符串结束标志。并不是字符串的组成,也不算进字符串的长度中。考点二:字符数组的初始化(1)、使用字符数组中的单个元素,用格式符“%c”逐个字符输入输出:scanf("%c",&a[0]);printf("%c",a[0]);/*每次输入、输出一个字符*【例1】输出一个字符串#include<stdio.h>voidmain(){charch[9]={'c','','p','r','o','g','r','a','m'};inti;for(i=0;i<9;i++)printf("%c",ch[i]);}运行结果:cprogram
字符数组的引用的元素是字符,所以我们在输出字符数组元素时要注意它的格式是"%c"还是"%s"!考点三:字符数组的使用案例三:数组的排序(2)对存储在字符数组中的整个字符串进行操作,字符数组的输入输出将变得简单方便。除了上述用字符串赋初值的办法外,还可用printf函数和scanf函数一次性输出输入一个字符数组中的字符串,而不必使用循环语句逐个地输入输出每个字符。但要用格式符“%s”。charch[10]={"apple"};printf("%s",ch);puts(ch);与scanf函数结合,对整个数组进行字符串的输入,格式为:scanf("%s",ch);或puts(ch);说明:charc[10];scanf("%s",c);/*注意此处用数组名c*/printf("%s",c);/*注意此处用数组名c*/案例三:数组的排序【例2】改错题:如以下程序功能是输出字符串#include<stdio.h>voidmain(){charc[]="howareyou?\nfine,thankyou!";printf("%s\n",c);}【例3】输出以下字符串,写出输出结果。voidmain(){charstr[15];printf("inputstring:\n");scanf("%s",str);printf("%s\n",str);}说明:对一个字符数组,如果不作初始化赋值,则必须说明数组长度。运行结果:inputstring:输入字符为:weareChinese则输出为:思考:如果要求输出为:weareChinese整体字符串,你对上述程序作何修改?案例分析交流提升PART03【例1】、分析以下程序main(){ charc[]="BASIC\nDBASE"; printf("%s\n",c);}运行结果:
。【例2】、以下程序运行后的输出结果是()#include<stdio.h>main(){charc1,c2;for(c1='0',c2='9';c1<c2;c1++,c2--)printf("%c%c",c1,c2);printf("\n");}【例3】、以下程序运行后的输出结果是()#include<stdio.h>main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;s[i]%2;i++)d+=s[i];printf("%d\n",d);}【例4】、以下程序运行后的输出结果是()#include<stdio.h>main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}【例5】、以下程序运行后的输出结果是()#include<stdio.h>main(){inty=18,i=0,j,a[8];do{a[i]=y%2;i++;y=y/2;}while(y>=1);for(j=i-1;j>=0;j--)printf("%d",a[j]);printf("\n");
}仿真演练,体验探索PART041、以下程序运行后,输出结果是()。#include<stdio.h>main(){inti,j,t;inta[10]={1,2,3,4,5,6,7,8,9,10};for(i=0;i<9;i+=2)for(j=i+2;j<10;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}for(i=0;i<10;i++)printf("%d,",a[i]);printf("\n");}2、以下程序运行后,输出结果是()。#include<stdio.h>main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);/*假如输入1,2,3,4,5,6,7,8,9,10*/for(i=1;i<10;i++)b[i]=a[i]-a[i-1];for(i=1;i<10;i++)printf("%3d",b[i]);if(i%3==0)printf("\n");}3、以下程序运行后,输出结果是()。main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}A)75310246
B)01234567C)76310462D)135702464、以下程序运行后,输出结果是()。#defineN20main(){inta[N]={1,2,3,4,5,6,7,8,9,10};inti,j;for(i=9;i>=2;i--)a[i+1]=a[i];for(i=0;i<5;i++)printf("%d",a[i]);}5、填空题以下程序的功能是输出如下形式的方阵:13141516910111256781234main(){inti,j,x;for(j=4;j;j--){for(i=1;i<=4;i++){x=(j-1)*4+;printf("%4d",x);}printf("\n");}6、以下程序运行后,输出结果是()#include<stdio.h>main(){chars[]={"12134211"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑租地合同范本
- 光伏发电临时合同范本
- 供砂石合同范本
- 巡逻方式与实践效率总结计划
- 清洁服务供应承揽合同三篇
- 综合体租赁合同三篇
- 粮食加工设备招标合同三篇
- 售后服务经营合同三篇
- 出租押金合同范本
- 2024至2030年中国鸡翅尖数据监测研究报告
- 佛七精进念佛容易着魔请看祖师开示及个人感悟
- 中小学教师信息技术培训
- 幼儿园中班科学活动教案《奇妙的感官》
- Yes-or-No-questions-一般疑问课件
- 环境保护相关知识培训专题培训课件
- 复变函数与积分变换全套课件
- 腹壁的解剖课件
- 儿科常用药物与急救药物-换算方法课件
- 压花制作(观赏植物学)课件
- 《夏商周考古》第5章西周文化(4-6节)
- 积累运用表示动作的词语课件
评论
0/150
提交评论