C语言程序设计第四版PPT谭浩强.ppt

C语言程序设计第四版PPT谭浩强.ppt

ID:51578441

大小:316.50 KB

页数:56页

时间:2020-03-24

C语言程序设计第四版PPT谭浩强.ppt_第1页
C语言程序设计第四版PPT谭浩强.ppt_第2页
C语言程序设计第四版PPT谭浩强.ppt_第3页
C语言程序设计第四版PPT谭浩强.ppt_第4页
C语言程序设计第四版PPT谭浩强.ppt_第5页
资源描述:

《C语言程序设计第四版PPT谭浩强.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数组课程内容Ch1创建一个C语言程序Ch2算法的重要性及表达Ch3-5基本程序结构,数据及运算Ch6数组——成批数据如何处理?Ch7函数——大型的程序如何划分?Ch8指针——变量在内存的存储与访问Ch9结构体——较为复杂的数据结构Ch10文件——持久保存数据补充位运算习题5.4统计一串英文字符中的大写字母、小写字母、数字、空格、其他字符的个数。问题扩展:输入一句英文,统计并输出每个字母使用的频数和频率例5.8Fibonacci数列问题:如何使用数学中的下标变量x1,x2,…xn,…形式表示一组相关的数据例5.8Fibonacci

2、数列用数组解决inti,fibo[40];fibo[0]=fibo[1]=1;for(i=2;i<40;i++)fibo[i]=fibo[i-1]+fibo[i-2];for(i=0;i<40;i++){printf("%10d",fibo[i]);if((i+1)%5==0)printf("");}数组的概念有序数据的集合用同一名称表示一组相同类型的相关数据用下标区分各个元素相当于数学中的下标变量,如x1,x2,...a11,a12,...,a21,...一维数组的定义定义:类型说明数组名[常量]定义一个数组的名称、类型、元素个

3、数一维数组的定义shortinta[3];说明:不能动态定义数组,见P.143说明(3)200020022004a[0]a[1]a[2]存储地址数组元素存储单元0000000000000110a[2]=6;一维数组元素的引用定义后的数组可分别引用各个元素数组名[下标]下标是整型常量或表达式注意:引用的是数组中的元素,而不是整个数组;C编译系统对下标越界的引用不给出错误提示一维数组的定义和引用-阅读程序inta[5],i;for(i=0;i<=3;i++)a[i]=2*i;a[4]=100;for(i=0;i<=4;i++)printf

4、("a[%d]=%d",i,a[i]);a[i]=20;printf("a[%d]=%d",i,a[i]);一维数组的定义和初始化inta[10]={2,5,3,1,8,6,9,4,7,1};定义整型数组a并给a[0]-a[9]赋初值一维数组的定义和初始化inta[10]={2,5,3,1,8,6};定义整型数组a并给a[0]-a[5]赋初值,其余元素值为0一维数组的定义和初始化inta[5],i;for(i=0;i<5;i++)printf("%d",a[i]);一维数组的定义、初始化和引用例:显示Fibonacci数列

5、前40项。inti,fibo[40]={1,1};for(i=2;i<40;i++)fibo[i]=fibo[i-1]+fibo[i-2];for(i=0;i<40;i++){printf("%10d",fibo[i]);if((i+1)%5==0)printf("");}一维数组的定义和引用例:求一维数组最大值及下标inta[10]={23,41,56,21,15,67,32,44,16,31};inti,max;max=a[0];for(i=0;i<10;i++)if(a[i]>max)max=a[i];printf("最大值

6、:%d",max);一维数组的定义和初始化inta[]={2,5,3,1,8,6};定义整型数组a并赋初值,该数组包含6个元素a[0]-a[5]一维数组的定义和引用例:在一维数组中查找给定数据及下标inta[10]={23,41,56,21,15,67,32,44,16,31};inti,key,index=-1;printf("输入要查找的值:");scanf("%d",&key);for(i=0;i<10;i++)if(key==a[i]){index=i;break;}if(index==-1)printf("找不到")

7、;elseprintf("找到,下标是:%d",index);这是顺序查找法。还有一种常用的折半查找法,数据量大且有序时使用,效率更高。折半查找inta[11]={5,13,19,21,37,56,64,75,80,88,92};intindex=-1,key,low,high,middle;scanf("%d",&key);low=0;high=10;while(low<=high){middle=(low+high)/2;if(key==a[middle]){index=middle;break;}elseif(key>a[m

8、iddle])low=middle+1;elsehigh=middle-1;}if(index!=-1)printf("Index:%d",index);elseprintf("Notfound!");一维数组的定义和引

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。