5C语言一维数组

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

教学内容循环结构程序实训教学目标应知一卡通系统主菜单循环一卡通系统消费模块循环一卡通系统充值、退出模块循环应会分析实际问题,策划流程图,将之转换为循环语句实现难点多层循环嵌套例子:计算10个同学的成绩:计算平均成绩、输出低于平均成绩的同学成绩。#includestdio.hvoidmain(){floatgrade1,grade2,grade3,…grade10;/*定义10个变量*/floataverage;scanf(“%f”,&grade1);/*输入10个数据*/scanf(“%f”,&grade2);…scanf(“%f”,&grade10);average=(grade1+grade2+…+grade10)/10;/*求平均值*//*打印低于平均成绩的同学成绩*/if(grade1average)printf(“%f\n”,grade1);if(grade2average)printf(“%f\n”,grade2);…if(grade10average)printf(“%f\n”,grade10);}数据类型相同的若干个数#includestdio.hvoidmain(){floatgrade[10];/*定义一个实型数组存放10个成绩*/floataverage;inti;for(i=0;i10;i++)/*输入10个数据*/scanf(%f,&grade[i]);for(i=1,average=0;i10;i++)/*求平均值*/average=average+grade[i];average=average/10;for(i=0;i10;i++)/*打印低于平均成绩的同学成就*/if(grade[i]average)printf(“grade=[%d]=%f\n”,i+1,grade[i]);}从上面两个例子的比较中,我们可以看到用数组解决这类问题:程序简洁、思路清楚明了。这就是数组带给我们的好处。教学内容数组的基本知识、数组的查找排序等知识(重点讲解编程思路)教学目标应知一维数组的常规操作、定义、引用、初始化一维数组在实际问题解决中的应用应会使用一维数组解决简单问题能够分析具体问题,从而用数组解决,掌握冒泡排序的思路和实现难点数组的概念理解冒泡法排序英文词汇中文名array数组reference引用element元素address地址sort排序character字符string字符串subscript下标数据类型构造类型指针类型空类型数组类型结构体类型共用体类型枚举型基本类型整型浮点型字符型单精度型双精度型就是一组具有固定数目的、有序的、类型相同的数据的集合。根据数组下标的多少,数组可以分为一维数组和多维数组。这些数据称为数组元素车名车厢号1车厢号2…车厢号10例如:一个班级有30个学生,可以用g1,g2,…,g30代表学生的成绩,其中g是数组名,下标代表学生的序号。由于在C语言中无法表示下标,所以就引入了[]表示下标。g[1]:第1个学生的成绩g[i]:第i个学生的成绩等等bd[10]bd[0]bd[1]bd[2]……………………bd[9]数组名:数组中的所有元素具有相同的名字bd。数组元素名数组元素下标数组长度为标识数组中的每个元素,C语言对其进行编号。这个编号称之为数组元素下标。(C语言规定下标从0开始)。指定该数组的数据个数用于访问的、具有相同的数据类型。在程序设计中相当于变量名的用法。一个数组就是一组连续的内存空间,用来保存数据,数组中的每一项称为一个元素。类型说明符数组名[常量表达式]inta[10]任一种基本数据类型或构造数据类型。用户自定义的数组名字,其定名规则与变量名定名规则一样,都需遵循标识符定名规则表示元素的个数,即数组长度。[]——下标运算符单目运算符优先级(1)左结合不能用()注意:1.数组名不能与其它变量名相同voidmain(){inta;floata[10];……}2.不能在方括号中用变量来表示元素的个数,但可以是符号常数或常量表达式。……intn;scanf(%d,&n);/*表示维数的只能是常量*/inta[n];#defineFD5voidmain(){inta[3+2],b[7+FD];……}3.方括号中常量表达式表示数组元素的个数。如inta[5]:数组a有5个元素,其下标从0开始,分别为a[0],a[1],a[2],a[3],a[4]。4.允许在同一个类型说明中说明多个数组和多个变量。例如:inta,b,c,d,k1[10],k2[20];如果出现数组越界,编译系统没有提示的。数组必须先定义,然后使用。数组元素的表示形式为:数组名[下标]C语言规定只能逐个引用数组元素而不能一次引用整个数组。a[0]=a[5]+a[7]-a[2*3]可以是整型常量或整型表达式全部初始化部分初始化使用输入函数scanf初始化使用表达式赋值inta[10]={0,1,2,3,4,5,6,7,8,9};a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=4;a[5]=5;a[6]=6;a[7]=7;a[8]=8;a[9]=9;inta[10]={0,1,2,3};a[0]=0;a[1]=1;a[2]=2;a[3]=3;a[4]=0;a[5]=0;a[6]=0;a[7]=0;a[8]=0;a[9]=0;inta[10];for(inti=0;i10;i++)scanf(%d,&a[i]);inta[10]={0,1,2,3};a[4]=a[3]+2;对全部数组元素赋初值时,数组长度可以省略想让一个数组全部元素为0?想输出一个数组呢?第n个月大兔对数中兔对数小兔对数兔子总对数123456700110101101211132125323853513(斐伯那契级数):这是斐伯那契提出的有趣问题:一对新生小兔,一个月后长成中兔,从第三个月开始长成大兔并每个月生一对小兔。按此规律,一年后共有多少对兔子。1f1n1f2n21nnnfff3n例7.2:用数组来处理求Fibonacci数列的前20个数。f[20]f[0]=1,f[1]=1ii20f[i]=f[i-2]+f[i-1]输出f[0]到f[20]数组的起始下标、最后一个元素的下标定义数组时不指定长度(动态数组)对数值型数组进行整体操作数组用方括号用scanf语句时,数组元素前应加&语句错误,不了解数组定义时与数组元素使用时的区别:scanf(“%d”,a[10]);在一个for语句中同时完成输入、输出数据,但没有使用复合语句。一维数组的定义、初始化、引用、输入、输出概念、操作必须掌握数组中的所有元素,数据类型都一致数组名字代表数组的首地址,是一个常量数组元素具有和相同单个变量一样的属性,凡允许使用单个变量的地方均可以使用数组元素采用数组编程时通常需要循环语句,此时要注意循环三要素的确定通过物理分析,考虑数组元素的下标,总结普遍规律,然后转换为程序语句1.完成习题6.6中有关一维数组的内容时间:11月2日前完成

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功