当前位置: 雅辰文档网 > 教案设计 >

C语言一堆数据教案设计

| 浏览次数:

篇五:C语言一维数组教案学科:计算机科学与技术课程:C语言程序设计课题:一维数组课时:2教学目标:1、掌握一维数组的定义和引用2、掌握一维数组的初始化方法3、了解与一维下面是小编为大家整理的C语言一堆数据教案设计,供大家参考。

C语言一堆数据教案设计

  篇五:C语言一维数组教案

  学 科:计算机科学与技术

  课 程:C语言程序设计

  课 题:一维数组

  课 时:2

  教学目标:1、掌握一维数组的定义和引用

  2、掌握一维数组的初始化方法

  3、了解与一维数组有关的应用编程方法

  教学重点:一维数组的定义和引用、初始化方法

  教学难点:与一维数组有关的应用编程方法

  教学方法:举例法,引导法

  教学步骤: 1、通过一个例子提出问题来引出本节课的知识点

  2、讲授一维数组的定义和引用、初始化方法

  3、示例训练

  4、进行本节课的总结及作业布置

  教 具:黑板 计算机 投影仪

  教学过程:

  一、导入:

  提问:保存一个班50位同学的一门功课的成绩,并且找出最高分和最低分,应如何实现?

  解题思路:定义50个变量,从键盘中输入值,然后再相互比较。处理起来很复杂,是否有更简便的方法?引出本节课的知识点-----数组。

  二、讲授:

  1、数组概述:

  ·数组:是数目固定,类型相同的若干个变量的有序集合,用数组名标识。

  序:是数组元素之间的位置关系,不是元素值的大小顺序。

  数组名:是用于区别其它数组及变量的。

  ·数组元素:集合中的变量,属同一数据类型,用数组名和下标确定。

  下标:是数组元素在数组中的位置。

  ·数组的维数:数组名后所跟下标的个数。

  2、一维数组的定义

  一维数组是指由一个下标数组元素组成的数组。其定义形式为:

  存储类型 数据类型 数组名[常量表达式]

  例如:static int score[50];

  它表示定义了一个名为score的数组,该数组有50个元素,其存储类型为静态型,数据类型为整型。

  说明:

  (1)存储类型为任选项,可以是auto、static、extern存储类型,但是没有register型。

  (2)数据类型是用来说明数组元素的类型:int , char , float。

  (3)数组名的命名应遵守标识符的命名规则,但是不能与其他变量同名。

  (4)数组名后是用方括号[ ]括起来的常量表达式。常量表达式表示的是数组元素的个数,即数组的长度。在上例中定义了数组score [50],第一个元素为score [0],最后一个为score [49]。

  (5)常量表达式中可以包括常量和符号常量,不能包含变量,因为C语言规定不允许对数组的大小作动态定义。

  (6)允许在同一个类型说明中,说明多个数组和多个变量,彼此间以逗号相隔。 例如:int a,b,k1[10],k2[20]; //定义了两个一维数组、两个整型变量

  判断下面的定义是否合法:

  int b, b[5]; //不合法,数组名不能与变量名同名

  #define size 10

  int b[size]; //合法,size已经在宏定义中说明,在程序中作为符号常量

  int a6; //不合法,数组名后不能使用,只能用[]

  int n=5;

  int a[n]; //不合法,不能用变量定义数组元素的个数

  int a[n+2]; //不合法,不能用变量表达式定义数组元素的个数

  一维数组的存储结构:C语言在编译时给数组分配一段连续的内存空间。内存字节数=数组元素个数*sizeof元素数据类型

  数组元素按下标递增的次序连续存放。数组名是数组所占内存区域的首地址,即数组第一个元素存放的地址。

  例 int a[5];

  内存地址

  占用字节数为:5*sizeofint=5*2=10

  3、一维数组元素的引用

  数组元素是组成数组的基本单元。数组元素用数组名和下标确定。下标表示了元素在数组中的顺序号,C语言规定:数组必须先定义,后使用。一维数组的引用形式为:

  数组名[下标]

  其中下标可以是整型常量、整型变量或整型表达式。例如有定义:

  int t,a[10],i=2;

  则以下都是正确的表达式:

  t=a [6];

  a[0]= a[i]+a[i+1];

  引用说明:

  (1)必须像使用变量那样,先定义,再使用,如以下操作是错误的:

  int x=a[2];

  int a[10];

  (2)下标的最小值为0,最大值是数组大小减1。在前例中定义了数组score [50],使用的时候不能使用 score [50], 否则产生数组越界。C语言对数组不作越界检查,使用时要注意!

  (3)在C语言中只能对数组元素进行操作,不能一次对整个数组进行操作。例如要输出有10个元素的数组,则必须使用循环语句逐个输出各下标变量:

  fori=0; i<10; i++

  printf"%d",a[i];

  而不能用一个语句输出整个数组。

  下面的写法是错误的:

  printf"%d",a;

  例:输出5个学生的成绩

  #include

  void main

  int i, score[5]=82,79,65,91,86;

  for i=0;i<5;i++

  printf " %d ",score[i];

  4、一维数组的初始化

  数组的初始化就是给数组元素赋初始值。主要有两种方法:

  1.数组定义时初始化:就是在定义数组时给数组元素赋初值。其初始化的一般格式为:

  数据类型 数组名[数组元素个数] =值1,值2,… ,值n;

  (1)对数组全部元素赋初值

  例如 int a[5]=2,4,6,8,10;

  其作用是在定义数组的同时将常量2、4、6、8、10分别置于数组元素a[0]、a[1]、a[2]、a[3]、a[4]中。

  (2)对数组部分元素赋初值,其它数组元素自动赋以0值

  例如:

  int a[4]=1,2 ;执行后各元素的初值为a [0]=1,a [1]=2,a [2]=0,a [3]=0

  (3)全部元素均初始化为0,可写成:

  int a[10]=0,0,0,0,0,0,0,0,0,0;或int a[10]=0;

  不能写成 int a[10]=0*10;

  说明:

  (1)数组元素的值可以是数值型、字符常量或字符串。

  (2)数组元素的初值必须依次放在一对大括号 内,各值之间用逗号隔开。

  (3)在进行数组的初始化时, 中值的个数不能超过数组元素的个数。

  例如:int a[5]=1,2,3,4,5,6;是一种错误的数组初始化方式,所赋初值多于定

  义数组的元素个数。

  (4)在给数组所有元素赋初值时,可以不指定数组长度。例如:

  int a[ ]=1,2,3,4,5;则系统会自动定义数组a的长度为5。

  在定义时赋初值是一种简单而行之有效的方法,它适用于长度较小的数组或对长度较大的数组部分元素赋值,而且可对每个数组元素赋不同的值。

  2.在程序中初始化:主要使用循环语句进行逐一赋值

  例如:int i,score[50];

  for i=0;i<50;i++

  score [i]=0;

  这种方法是在编程中普遍使用的一种方法,它适用于对某数组元素进行有规律的赋值或接受用户通过键盘输入对数组元素的赋值。

  三、举例:

  1.以引例为例,从键盘输入10个学生一门课的成绩,找出最高分和最低分并输出。 步骤:

  1 输入: 用for循环输入10个学生的成绩

  2 处理:

  a 先令max=min=score[0]

  b 依次用score [i]和max,min比较循环

  若max< score [i],令max= score [i]

  若min> score [i],令min= score [i]

  3 输出: max和min

  程序如下:

  #include

  void main

  int i;

  float score [10],max,min;

  printf"Enter 10 score s: ";

  fori=0;i<10;i++ //输入10个浮点型的学生的成绩

  scanf"%f",& score [i];

  max=min= score [0];

  fori=1;i<10;i++ //循环比较,找出最高分和最低分

  ifmax< score [i] max= score [i];

  ifmin> score [i] min= score [i];

  printf"Max score is %f ",max; //输出最高分

  printf"Min score is %f ",min; //输出最低分

  2.以引例为例,从键盘输入10个学生一门课的成绩,用冒泡法从低到高排序并输出。 分析:冒泡排序法的基本思想是将相邻两个数进行比较,将小的调到前面。

  排序过程:

  (1)比较第一个数与第二个数,若为逆序score [0]> score [1],则交换;然后比较score

  [1]与score [2]比较;依次类推,直至score [8]与score [9]比较为止——第一趟冒泡排序,结果最大的数被安置在最后一个元素score [9]位置上,此次共比较9次。

  (2)对前9个数进行第二趟冒泡排序,结果使次大的数被安置在倒数第二个元素score

  [8]位置,此次共比较8次。

  (3)重复上述过程,共经过9趟冒泡排序后,排序结束

  程序如下:

  #include

  void main

  int i,j;

  float score [10], t,max,min;

  printf"Enter 10 scores: ";

  fori=0;i<10;i++ //输入10个浮点型学生的成绩

  scanf"%f",& score [i];

  printf" ";

  fori=1;i<10;i++ //趟数,共9趟

  forj=0;j<10-i;j++ //实现一次冒泡操作

  ifscore [j]> score [j+1] //交换score [j]和 score [j+1]

  t= score [j]; score [j]=score [j+1]; score [j+1]= t;

  fori=0;i<10;i++ //输出排好序的成绩

  printf" %f ", score [i];

  printf" ";


推荐访问:语言 教案设计 数据 C语言一堆数据教案设计 C语言一堆数据教案设计 c语言数据类型教案 c语言数据结构课程设计题目 C语言数据结构课程设计

热门排行

2023年Dreamweaver应用CSS样式设计

层叠样式表CSS是一系列格式规则,它们控制网页内容的外观。CSS样式使您可以控制许多仅使用HTML无法控制的属性。以下是小编为大家搜索整理的Dreamweaver应用CSS样...

小学一年级语文《绿色金鱼》原文、教案及练习题(2023年)

《绿色的金鱼》写“我“在图画课上画了一条绿色的金鱼,老师对“我”点点头,满意地笑了,并在“我”的图画本上画了一颗“红五星”。以下是整理的(小学一年级语...

2023年度欧美网站风格设计特点

欧美网站风格的设计特点美国作为互联网技术的发源地,其在互联网基础设施的建设和网站建设方面都远远早于我国,而欧洲的互联网发展起步也早于我国,其在网站的建...

2023年度小学一年级下册语文《小壁虎借尾巴》原文、知识点及教案

《小壁虎借尾巴》讲的是小壁虎向小鱼姐姐、黄牛伯伯、燕子阿姨借尾巴,因为他们各自尾巴都有用处所以没有借到。通过这个故事,学生认识到小鱼、黄牛、燕子尾巴的...

2023年小学一年级语文《小小竹排画中游》原文、教案及教学反思(完整)

所谓的教案,也称课时计划,教师经过备课,以课时为单位设计的具体教学方案,教案是上课的重要依据,通常包括:班级、学科、课题、上课时间、课的类型、教学方法...

小学二年级语文《父亲和鸟》知识点、教案及练习题

《父亲和鸟》是一篇感情真挚的课文。通过“我”和“父亲”关于鸟的对话,让我们了解到“父亲”对鸟不同寻常的了解,体会到父亲对鸟超乎常人的热爱。以下是整理的...

小学一年级语文《蘑菇该奖给谁》原文、知识点及教案

《蘑菇该奖给谁》是一篇童话故事,讲的是小黑兔和小白兔参加跑步比赛的故事,告诉学生有勇气敢于和强手竞争,虽败犹荣。以下是整理的小学一年级语文《蘑菇该奖给...

2023小学三年级语文《盘古开天地》原文、知识点及教案

所谓的教案,也称课时计划,教师经过备课,以课时为单位设计的具体教学方案,教案是上课的重要依据,通常包括:班级、学科、课题、上课时间、课的类型、教学方法...

小学二年级语文《开满鲜花小路》教案

《开满鲜花的小路》是一篇童话故事。讲述的是鼹鼠先生本想向松鼠太太请教长颈鹿大叔寄来的小颗粒是什么,可是却不小心将它们漏在了路上。春天,通往松鼠太太家的...

小学三年级语文《小镇早晨》知识点、教案及练习题(范文推荐)

《小镇的早晨》这篇课文描写蚕乡小镇早晨的情景,反映了改革开放给小镇带来的勃勃生机。以下是整理的小学三年级语文《小镇的早晨》知识点、教案及练习题,希望帮...