研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组

研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组

ID:40318850

大小:812.00 KB

页数:37页

时间:2019-07-31

研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组_第1页
研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组_第2页
研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组_第3页
研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组_第4页
研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组_第5页
资源描述:

《研究式学习——C语言程序设计(第二版) 方娇莉 李向阳_ 4第四章数组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组第四章C程序设计

2、第四章一维数组二维数组字符数组综合应用本讲主要内容C程序设计

3、第四章引例(问题的提出)基本数据类型的特点:该类型变量在一个时刻只能存放一个数值。问题:若需要同时存放多个相同类型的数值,怎么办?(例如一个班学生的语文成绩)C程序设计

4、第四章引例(问题的解决)例如该班有3个学生,解决问题可采用代码:floatstu1,stu2,stu3;/*定义3个变量来存放成绩*/scanf("%f",&stu1);/*输入并存储第一个学生成绩*/scanf("%f",&stu2);/*输入并存储第二个学生成绩*/s

5、canf("%f",&stu3);/*输入并存储第三个学生成绩*/但若该班有50个学生,上述方法显然很难实现。因此,对于存放具有相同数据类型的一组数据,C语言使用了一种新的数据类型——数组来处理。C程序设计

6、第四章引例(问题的解决)例如该班有50个学生,采用数组,代码如下:floatscores[50];/*定义数组*/inti;/*定义循环控制变量i*/for(i=0;i<50;i++)scanf("%f",&scores[i]);/*通过循环,输入并存储50个学生的成绩*/数组是具有一定顺序关系的若干相同类型变量的集

7、合体,组成数组的变量称为数组的元素C程序设计

8、第四章数组是用于组织具有顺序关系的一组同类型数据,属于构造类型数据数组是一种整体定义个别使用的数据结构数组中每个变量被称为数组元素,用数组名加上写在方括号中的顺序号来标识顺序号也称为下标。需要一个下标便可识别数组元素的数组称一维数组,需要两个下标才能识别数组元素的数组称二维数组,依次类推与简单(基本数据类型)变量一样,使用数组存放数据之前,要对数组进行定义数组的概念C程序设计

9、第四章一维数组的定义定义形式为:类型名数组名[常量表达式]注意:数组名要符合标识符的取名规则数组名后

10、只能用方括号常量表达式表示元素个数,即数组长度常量表达式可以是常量和符号常量,不能用变量例如:inta[10];a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]a数组元素在内存中顺序存放,且地址是连续的数组名是数组的首地址下标越界C程序设计

11、第四章一维数组元素的引用一维数组元素的引用形式如下:数组名[下标表达式]其中:下标表达式是整型表达式例如:定义数组intnum[100];以下是其元素的合法引用num[0],num[2+3],num[2*3]num[i],num[i+1],num[i+

12、k]其中,0,2+3,2*3,i,i+1,i+k是下标表达式,其值必须大于等于零且小于100。一个数组元素就是一个同类型的简单变量,对简单变量能进行的运算或操作,也适用于同类型的数组元素C程序设计

13、第四章一维数组元素的初始化初始化就是在定义数组的同时给数组赋初值对数组的全部元素赋初值。如:inta[5]={0,1,2,3,4};或inta[]={0,1,2,3,4};对数组的部分元素赋初值。如:inta[5]={1,2,3};表示只给数组前三个元素赋值,后两个元素a[3],a[4]编译系统给赋初值0如果程序中没有为静态

14、数组赋初值,则编译系统自动为其赋初值0C程序设计

15、第四章一维数组举例例4.1一维数组的定义和引用main(){inta[5]={9};inti;a[1]=8;for(i=2;i<4;i++)a[i]=9-i;printf("输入a[4]的值:");scanf("%d",&a[4]);printf("数组各元素为:");for(i=0;i<5;i++)printf("%3d",a[i]);}输入a[4]的值:5数组各元素为:98765程序C程序设计

16、第四章例4.2找出一维数组中的最小元素及其所在位置main(){inta[

17、5]={9,8,11,6,22};inti,k,min;min=a[0];k=0;for(i=1;i<5;i++)if(min>a[i]){min=a[i];k=i;}printf("最小值位置:%d,值为:%d",k,min);}一维数组举例最小值位置:3值为:6程序C程序设计

18、第四章例4.3将数组中数据按逆序存放后输出,不允许再另外开辟新数组。交换循环为:for(i=0;i

19、,a[n-2],a[n-1]交换逆序存放数组的算法为:C程序设计

20、第四章问题:某小组有3人,要求计算每人考试成绩总分,期末考试成绩如下:学号语文数学总分外语24001240022400397.287.578.687.792.381.993.690.791.9二维数组成绩表是一个3行5列的表格。每一行记录一个学生的各科

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

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

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