资源描述:
《软件08-1程序设计基础第14讲教案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程名称程序设计基础任课教师曲斩M口授课班级软件08・1班授课地点1418授课时间2008年4月20H星期一第3小节〜第4小节课题:7.2二维数组的定义和引用主要教学内容:二维数组的定义、初始化和引用、程序举例;教学目标:使学生掌握二维数组的定义、初始化和引用方法。重点:二维数组的定义、初始化和引用方法。难点:二维数组的用法。教学过程设计:首先简单复习一维数组的定义和引用。然后介绍二维数组的定义、引用和初始化方法,强调将二维数组看成一维数组的一维数组的优点,用实例讲解引用方法和各种初始化方法,最后举出一个求最大值及其所在行和列
2、的设计例子,突出讲解二维数组的用法。并给出传统流程图。教学手段:采用黑板教学、以实例讲解,以便突破难点;并采用实例加必要的直观图形的手段。作业:教学内容:见下页。1000a[0][0]a[0][l]a[0][2]a[l][3]第0行1016a[l][0]a[1][1]a[l][2]a[l][3]第1行1032a[2][0]a[2][l]a[2][2]a[2][3]第2行40][0]a[0][l]a[0][2]a[l][3]Ja[l][0]]41][1]a[l][2]a[l][3]Ja[2][0][a[2][l]a[2][2]a
3、[21[311000卜第0行1016>第1行1032>第2行7.2二维数组的定义和引用一、定义:类型说明符数组名[常量表达式][常量表达式]例:floata[3][4],b[5][10];今旨>a[3,4],b(5,10)或a(3)(4)目的:可将二维数组看成一维数组的一维数组。利0]—a[0][0],a[0][l],a[0][2],a[0][3]—0行a数组a[l]—a[l][0],a[l][l],a[l][2],a[l][3]—1行、a[0]—a[2][0],a[2][l],a[2][2],a[2][3]—0行其中:a[
4、0]、a[l]、a[2]维数组名。优点:便于初始化、用指针表示。内存存放一按行存放。可定义多维数组:如:intx[2]⑶[4];—按行、列、竖存放。二、引用1.二维数组元素表示形式:数组名[下标][下标]如:a[2][2*2-l]=>a[2][3]A[1.4][1.8]=>a[l][l]?—不行!!!?不兼容的类型。编译时将击现:ErrorE:TC3BINCAO1.C4:Operandsareofdifferingorincompatibletypeinfunctionmain()意为:在CAO1.C的第4行主函数中操作
5、数不一致或不相容的类型错误。operand[^porsend]n.运算对象,运算数,运算量[域],操作数,基数。Differ[*difo]vi.不(相同),不一致,意见不同。Incompatible[inksni*paetibl]a.不相容(性),性质相反。1.数组元素O变量,可出现在表达式中,也可被赋值。2.使用数组,下标不要超界。如:inta[3][4];a[3][4]=23;-TurboC不做检查,上下界都不查,但危险!a[-l][3]=ll;三、初始化1.分行赋初值一较清楚。intx[2][3]={{1,2,3},{3
6、,2,5}};2.按元素顺序赋初值一警告doublea[2][2]={1,2,3,4};编译时将Lb现:WarningE:TC3BINCAO1.C3initializationisonlypartially3.可给出部分初值。inta[2][3]={{1},{4}};■>inta[2][3]={{0,4},{0,0,8}};,inta[2][3]={{},{!}};,——>4.如对全部元素赋初值,可不指定第一维的长度。inta[][3]={{1,2,3},{4,5,6}};43Ua[2][3]inta[][3]={{},
7、02两][3]={1,2,3,4};=>l4QJ四、举例例:有2X3矩阵,求最大元素值及其所在的行列号。解:1.算法N・S流程图2.程序如下:#includevoidmain(){inti,j,row=0,column=0;inta[2][3>{{8,9,6},{-10,10,intmax=a[0][0];for(i=0;i<2;i++)for(j=0;j<3;j++)if(a[i][j]>max){max=a[i][j];row=i;column=j;printf("max=%d,row=%d,column
8、=%dmax,row,column);运行结果:max=10,row=1,column=17.3字符数组——存放字符数据,一个元素存放一个字符。一、定义charc[10];或intc[10];可存放字符数据,浪费。二、初始化例:charc[8]={T,'a','m',9,