3.1 数组 电子课件 C语言程序设计基础.ppt





《3.1 数组 电子课件 C语言程序设计基础.ppt》由会员分享,可在线阅读,更多相关《3.1 数组 电子课件 C语言程序设计基础.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、3.1 数组 电子课件工信版 C语言程序设计基础了解数组的基本概念,正确地定义一个一维数组对一维数组进行初始化,正确引用一维数组了解字符数组和字符串数组的区别与联系能力目标:在程序中简单运用数组任务一 考察数组1观察下面程序,该程序的功能是求3个同学的平均成绩,并回答问题。#include stdio.hmain()int k0,k1,k2;float aver;k0=100;k1=97;k2=98;aver=(k0+k1+k2)/3.0;printf(平均值为%f,aver);任务一 考察数组1.这几个变量相同点和 不同点?类型相同名字相同下标不同下标从0开始2.如果定义100个这样的 变量
2、应该怎么办?定义数组u数组就是一组有序的、类型相同的数据集合,这组数据具有相同的名字、不同的下标的变量。u数组可以用来表示数据类型相同的,具有相同性质的多个变量。如:100个学生的成绩 c1 c2 c3 国家名字“china”“japan”评委为选手打的分数 p1 p2 p3 数组的基本概念:2上面的程序可以写成下面的C程序,找出数组定义的方法,数组元素的表示方法。#include stdio.hmain()int a3;printf(请为数组输入3个数n);scanf(%f%f%f,&a0,&a1,&a2);printf(“这3个数分别是%f,%f,%f,a0,a1,a2);u一维数组的定义
3、格式 类型标识符 数组名整型常量表达式 1.数组名后是用方括号,不能用圆括号。2.方括号中的表达式只能是整型常量表达式。3.数组名代表数组在内存中的首地址,如int a10 数组名a表示该数组的首地址和&a 0相当。4.号里的值表示数组中元素的个数。即数组长度。数组长度应该能够存储下所需的数。一维数组的定义:5.C语言不允许对数组的大小做动态定义,即定义时 里面不能是变量。如:int n;scanf(%d,&n);int an;n是一个变量,C语言是不允许用变量来确定数组大小的,因为在编译时,C编译器不能根据已知数组大小分配内存空间。例1 定义一个数组,存储50 个学生的成绩。float c5
4、0;练习:1.定义一个数组,存储20 个整数 int a20;2.定义一个数组,存储26 个英文字母。char ch26;3.定义一个数组,存储中国的英文名称。char c6;4.定义数组存储自己的姓名。char name16;注意:定义数组存储字符串时,引用数组元素的格式:数组名下标注意:1.下标变量又称为数组元素,2.下标的作用是指出某个数组元素在数组中的位置。3.下标可以是常量也可以是变量,但必须为整型。4.C语言中,数组元素下标默认从0开始,数组元素相当于一个变量。一维数组的引用(使用):如:int a3;该数组有3个数组元素,用下标变量表示每个元素。不同下标的下标变量为a0、a1、a
5、2 一维数组的引用(使用):例:已知int b4;写出该数组中的数组元素。b0 b1 b2 b3练习:完成下列各题。1.已知float c2;交换这两个数。r=c0;c0=c1;c1=r;2.已知Int ab3;求这三个数的和。s=ab0+ab1+ab2;3.#include N 5 int aN;写出这5个元素。a0 a1 a2 a3 a4已知C编译器根据定义数组长度分配内存空间。求下列数组在内存中占据的字节数。1.Int a5;10字节2.Char ch5;5字节3.Float a5;20字节1分析下列数组元素的值各是多少?找出初始化数组的方法,为数组元素依次赋值的方法。程序1:#incl
6、ude stdio.hmain()int a5,I;for(I=0;I5;I+)aI=I+10;for(I=0;I5;I+)printf(a%d=%d,I,aI);三、给数组赋初值:1.若依次输入1,9,2,8,3,写出该数组中的元素。2.根据输入,写出程序执行的结果。a0 a1 a2 a3 a4 10 11 12 13 14 a0=10,a1=11,a2=12,a3=13,a4=14,3总结给数组元素赋值的方法。用循环方式为数组元素依次赋值。三、给数组赋初值:注意:用循环方式给数组元素赋值,循环变量初值从0开始,小于()数组元素个数,一般和scanf()结合用。常用于大量数据的输入。例:给数
7、组输入10个整数。int a10,i;for(i=0;i10;i+)scanf(“%d”,&ai);三、给数组赋初值:练习:给数组输入100个字符。char a100,i;for(i=0;i100;i+)scanf(“%c”,&ai);练习:将你名字的汉语拼音存储在数组中。char a9,i;for(i=0;i9;i+)scanf(“%c”,&ai);2分析下列数组元素的值各是多少?找出初始化数组的方法。程序2:#includestdio.hmain()int a5=5,6,7,8,9;for(I=0;I5;I+)printf(a%d=%d,I,aI);1.该数组中元素的值分别为多少?三、给数
8、组赋初值:2.写出程序执行的结果。a0 a1 a2 a3 a4 5 6 7 8 93总结给数组元素赋值的方法。定义的同时用赋值方式为数组元素赋值。格式:类型 数组名长度=初始值列表;三、给数组赋初值:注意:1.用赋值方式给数组元素赋值,具体的值用 括起来,值之间用逗号分隔。2.千万注意数组长度应该大于等于(=)元素个数 3.可以直接将字符串赋值给数组。例:将字符串“china”赋值给数组。char a5=c,h,I,n,a;char a6=“china”;三、给数组赋初值:练习:将你的各科成绩赋值给数组。int a4=100,140,118,247;练习:将你的姓名拼音赋值给数组。char a
9、5=h,u,k,a,i;疑问:如果数组长度元素个数,多余的部分值为多少?对于数值型:后面的值为0 对于字符型:后面的值为0char a6=“hukai”;三、给数组赋初值:特例:说出下列数组的长度。1.int a=100,140,118,247;2.int a10=100,140,118,247;3.char a=a,b,c,d;4.char a=“abcd”;长度为:4长度为:10长度为:4长度为:5一维数组初始化的一般格式:类型标识符 数组名整型常量表达式=初值表;初始化:在定义数组的同时指定初始值,编译器把初值赋给数组元素。依次为数组元素赋值的方法:1.在C语言中,数组作为一种存放若干相
10、同类型数据的集合是一个整体,是不允许当作变量来赋值的。例如:int a10;a=5;这样的写法在C语言中是不允许的,因为a是一个数组,不能当作变量来使用。2.对于为数组元素赋值就简单得多,因为数组元素可以当做变量来使用,可以直接使用“=”赋值。我们完全可以用一个循环语句来依次为每个数组元素赋值,这里,只需要把数组元素的下标做为循环控制变量即可。这也是为数组赋值常用的方法。知识盘点:数组元素的引用:知识盘点:数组是用来存放类型相同的一组数据,怎么获得存放的这些数据呢?我们可以通过对数组元素的引用来完成。C语言规定:不能整体引用数值数组,只能逐个引用数组元素。元素引用方式:数组名下标表达式 例如:
11、a0=a5+a7-a2*3“下标表达式”可以是任何非负整型数据。u当程序不给数组指定初始值时,编译器做如下处理:部分元素初始化,编译器自动为没有初始化的元素初始化为0。数值数组如果只定义不初始化,编译器不为数组自动指定初始值,即初值为一些随机值(值不确定)。u切记初始化数据的个数不能超过数组的长度。例如,下例是错误的:int a3=1,2,3,4,5;u只有在进行带初始化的数组说明时才允许省略长度。在仅进行说明而没有初始化时,省略长度是错误的,因为编译器无法知道这个数组究竟有多大。u一般初始化,例如:int a10=3,10,5,3,4,5,6,7,8,9;int array5=2,3,4,5
12、,6;其结果是给每一个数组元素都指定了初值。u部分元素初始化,其余元素均为零。例如:int a10=7,8,9,67,54;仅给前5个元素赋初值,后5个元素初值为0。u全部元素均初始化为1。int a10=1,1,1,1,1,1,1,1,1,1;不允许简写为 int a10=1;或int b10=1*10;想一想,上述定义a和b数组后,初始化结果是什么?u如果全部元素均指定初值,定义中可省略元素的个数。例如:int a5=9,28,3,4,5;可以写为:int a=9,28,3,4,5;一维数组的初始化应注意的问题:知识盘点:1运行结果。程序1:#include stdio.hmain()in
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3.1 数组 电子课件 C语言程序设计基础 电子 课件 语言程序设计 基础

限制150内