C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx

C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx

ID:52769684

大小:212.61 KB

页数:30页

时间:2020-03-07

C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx_第1页
C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx_第2页
C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx_第3页
C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx_第4页
C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx_第5页
资源描述:

《C语言程序设计 教学课件 作者 孙鸿飞 刘国成 主编ch06.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.1一维数组6.2二维数组6.3字符数组与字符串第6章数组一、数组的引入为了便于处理一批类型相同的数据,引入了数组类型.假设现在要保存每个学生的成绩,那就需要40个变量,但这样一来输入、输出、计算都会变得繁琐。在这种情况下,我们可以使用数组类型,声明一个含有40个元素的数组,每个数组元素存放一个成绩,成绩的输入、输出、计算都可通过循环来实现。例:某班有40名学生,求该班成绩的平均分#includemain(){intj,sum,s;floatave;sum=0;for(j=1;j<=40;j++){scanf(“%d”,&s);s

2、um=sum+s;}ave=sum/40;printf(“ave=%f”,ave);}二、数组的概念构造数据类型之一1.数组:由具有相同类型的有序数据的集合。用数组名标识。#includemain(){intj,sum,s[40];floatave;sum=0;for(j=0;j<=39;j++){scanf(“%d”,&s[j]);sum=sum+s[j];}ave=sum/40;printf(“ave=%f”,ave);}2.数组元素:每一个数组元素都是一个变量,为了与一般的变量相区别,我们称数组元素为下标变量3.下标变量在数组

3、中的位置序号称下标,c语言中下标从0开始6.1一维数组6.1.1一维数组的定义定义方式:数据类型数组名[常量表达式];合法标识符表示元素个数下标从0开始例inta[10];数组名表示数组所在内存首地址也是a[0]的地址,是地址常量84:668095a[0]a[1]a[2]:a[9]a6.1.2数组元素的引用数组必须先定义,后使用下标可以是常量或整型表达式如:a[1],a[2*3]只能逐个引用数组元素,不能一次引用整个数组下标不要超范围(越界)区分:数组定义:inta[10],数组元素引用t=a[6];例inta[10];printf(“%d”,a);

4、()必须for(j=0;j<10;j++)printf(“%dt”,a[j]);()引用形式:数组名[下标]例intdata[5];data[5]=10;()//C语言对数组不作越界检查,使用时要注意6.1.3数组元素的初始化与赋值在定义数组时,为数组元素赋初值(在编译阶段使之得到初值)inta[5]={1,2,3,4,5};等价于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;说明:数组不初始化,其元素值为随机数对static数组元素不赋初值,系统会自动赋以0值当全部数组元素赋初值时,可不指定数组长度可以只给部分数组

5、元素赋初值一维数组的赋值是指数组已经定义完毕,对数组元素作动态赋值。例如:inta[5];/*定义一维数组a,每个元素的值是不确定的*/a[0]=1;a[1]=2;a[2]=3;/*逐个赋值*/3.inta[5];a={1,2,3,4,5};×4.inta[10];floati=3;a[i]=10;×1.charname[0];×floatweight[10.3];×intarray[-100];×6.inti,a[5];for(i=0;i<5;i++)scanf(“%d”,&a[i]);for(i=0;i<5;i++)printf(“%d”,a[i

6、]);√2.inti=5;inta[i]={1,2,3,4,5};×5.inta[5];scanf(“%d”,&a);printf(“%d”,a);×讨论:以下几种用法是否正确?一维数组的赋值【例6.1】编程,输入10个整数,计算最大值并输出。源程序:#includemain(){inti,max,a[10];printf("Input10numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);max=a[0];for(i=1;i<10;i++)if(a[i]>max)max=a[i];pri

7、ntf("Max=%d",max);}控制输入10个数据核心算法语句【例6.2】用冒泡排序法对N个数进行排序(从小到大),用6个演示冒泡排序方法:依次比较相邻的两个数,将小数放前面,大数放后面.经过第1轮(共5次比较与交换)后最大的数9已“沉底”。再对余下的前面5个数进行第二轮比较,次大的数又被安置。n个数排序需要进行n-1轮比较,从第1轮到第n-1轮,各轮的比较次数依次为:n-1次、n-2次…1次,第i轮比较中要进行n-i次两两比较。972541a[0]a[1]a[2]a[3]a[4]a[5]72541927754712541794515241

8、57921457914129725419999972541初始状态第1轮第2轮第3轮第4轮第5轮76.2二维

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

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

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