av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

C語言

C語言一堆數(shù)據(jù)教案設(shè)計

時間:2025-03-01 05:34:39 C語言 我要投稿
  • 相關(guān)推薦

C語言一堆數(shù)據(jù)教案設(shè)計

  篇五:C語言一維數(shù)組教案

C語言一堆數(shù)據(jù)教案設(shè)計

  學 科:計算機科學與技術(shù)

  課 程:C語言程序設(shè)計

  課 題:一維數(shù)組

  課 時:2

  教學目標:1、掌握一維數(shù)組的定義和引用

  2、掌握一維數(shù)組的初始化方法

  3、了解與一維數(shù)組有關(guān)的應用編程方法

  教學重點:一維數(shù)組的定義和引用、初始化方法

  教學難點:與一維數(shù)組有關(guān)的應用編程方法

  教學方法:舉例法,引導法

  教學步驟: 1、通過一個例子提出問題來引出本節(jié)課的知識點

  2、講授一維數(shù)組的定義和引用、初始化方法

  3、示例訓練

  4、進行本節(jié)課的總結(jié)及作業(yè)布置

  教 具:黑板 計算機 投影儀

  教學過程:

  一、導入:

  提問:保存一個班50位同學的一門功課的成績,并且找出最高分和最低分,應如何實現(xiàn)?

  解題思路:定義50個變量,從鍵盤中輸入值,然后再相互比較。處理起來很復雜,是否有更簡便的方法?引出本節(jié)課的知識點-----數(shù)組。

  二、講授:

  1、數(shù)組概述:

  ·數(shù)組:是數(shù)目固定,類型相同的若干個變量的有序集合,用數(shù)組名標識。

  序:是數(shù)組元素之間的位置關(guān)系,不是元素值的大小順序。

  數(shù)組名:是用于區(qū)別其它數(shù)組及變量的。

  ·數(shù)組元素:集合中的變量,屬同一數(shù)據(jù)類型,用數(shù)組名和下標確定。

  下標:是數(shù)組元素在數(shù)組中的位置。

  ·數(shù)組的維數(shù):數(shù)組名后所跟下標的個數(shù)。

  2、一維數(shù)組的定義

  一維數(shù)組是指由一個下標數(shù)組元素組成的數(shù)組。其定義形式為:

  存儲類型 數(shù)據(jù)類型 數(shù)組名[常量表達式]

  例如:static int score[50];

  它表示定義了一個名為score的數(shù)組,該數(shù)組有50個元素,其存儲類型為靜態(tài)型,數(shù)據(jù)類型為整型。

  說明:

  (1)存儲類型為任選項,可以是auto、static、extern存儲類型,但是沒有register型。

 。2)數(shù)據(jù)類型是用來說明數(shù)組元素的類型:int , char , float。

  (3)數(shù)組名的命名應遵守標識符的命名規(guī)則,但是不能與其他變量同名。

 。4)數(shù)組名后是用方括號[ ]括起來的常量表達式。常量表達式表示的是數(shù)組元素的個數(shù),即數(shù)組的長度。在上例中定義了數(shù)組score [50],第一個元素為score [0],最后一個為score [49]。

 。5)常量表達式中可以包括常量和符號常量,不能包含變量,因為C語言規(guī)定不允許對數(shù)組的大小作動態(tài)定義。

 。6)允許在同一個類型說明中,說明多個數(shù)組和多個變量,彼此間以逗號相隔。 例如:int a,b,k1[10],k2[20]; //定義了兩個一維數(shù)組、兩個整型變量

  判斷下面的定義是否合法:

  int b, b[5]; //不合法,數(shù)組名不能與變量名同名

  #define size 10

  int b[size]; //合法,size已經(jīng)在宏定義中說明,在程序中作為符號常量

  int a(6); //不合法,數(shù)組名后不能使用(),只能用[]

  int n=5;

  int a[n]; //不合法,不能用變量定義數(shù)組元素的個數(shù)

  int a[n+2]; //不合法,不能用變量表達式定義數(shù)組元素的個數(shù)

  一維數(shù)組的存儲結(jié)構(gòu):C語言在編譯時給數(shù)組分配一段連續(xù)的內(nèi)存空間。內(nèi)存字節(jié)數(shù)=數(shù)組元素個數(shù)*sizeof(元素數(shù)據(jù)類型)

  數(shù)組元素按下標遞增的次序連續(xù)存放。數(shù)組名是數(shù)組所占內(nèi)存區(qū)域的首地址,即數(shù)組第一個元素存放的地址。

  例 int a[5];

  內(nèi)存地址

  占用字節(jié)數(shù)為:5*sizeof(int)=5*2=10

  3、一維數(shù)組元素的引用

  數(shù)組元素是組成數(shù)組的基本單元。數(shù)組元素用數(shù)組名和下標確定。下標表示了元素在數(shù)組中的順序號,C語言規(guī)定:數(shù)組必須先定義,后使用。一維數(shù)組的引用形式為:

  數(shù)組名[下標]

  其中下標可以是整型常量、整型變量或整型表達式。例如有定義:

  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,最大值是數(shù)組大小減1。在前例中定義了數(shù)組score [50],使用的時候不能使用 score [50], 否則產(chǎn)生數(shù)組越界。C語言對數(shù)組不作越界檢查,使用時要注意!

 。3)在C語言中只能對數(shù)組元素進行操作,不能一次對整個數(shù)組進行操作。例如要輸出有10個元素的數(shù)組,則必須使用循環(huán)語句逐個輸出各下標變量:

  for(i=0; i<10; i++)

  printf("%d",a[i]);

  而不能用一個語句輸出整個數(shù)組。

  下面的寫法是錯誤的:

  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、一維數(shù)組的初始化

  數(shù)組的初始化就是給數(shù)組元素賦初始值。主要有兩種方法:

  1.數(shù)組定義時初始化:就是在定義數(shù)組時給數(shù)組元素賦初值。其初始化的一般格式為:

  數(shù)據(jù)類型 數(shù)組名[數(shù)組元素個數(shù)] ={值1,值2,… ,值n};

 。1)對數(shù)組全部元素賦初值

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

  其作用是在定義數(shù)組的同時將常量2、4、6、8、10分別置于數(shù)組元素a[0]、a[1]、a[2]、a[3]、a[4]中。

 。2)對數(shù)組部分元素賦初值,其它數(shù)組元素自動賦以0值

  例如:

  int a[4]={1,2 };執(zhí)行后各元素的初值為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)數(shù)組元素的值可以是數(shù)值型、字符常量或字符串。

 。2)數(shù)組元素的初值必須依次放在一對大括號{ }內(nèi),各值之間用逗號隔開。

 。3)在進行數(shù)組的初始化時,{ }中值的個數(shù)不能超過數(shù)組元素的個數(shù)。

  例如:int a[5]={1,2,3,4,5,6};是一種錯誤的數(shù)組初始化方式,所賦初值多于定

  義數(shù)組的元素個數(shù)。

 。4)在給數(shù)組所有元素賦初值時,可以不指定數(shù)組長度。例如:

  int a[ ]={1,2,3,4,5};則系統(tǒng)會自動定義數(shù)組a的長度為5。

  在定義時賦初值是一種簡單而行之有效的方法,它適用于長度較小的數(shù)組或?qū)﹂L度較大的數(shù)組部分元素賦值,而且可對每個數(shù)組元素賦不同的值。

  2.在程序中初始化:主要使用循環(huán)語句進行逐一賦值

  例如:int i,score[50];

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

  score [i]=0;

  這種方法是在編程中普遍使用的一種方法,它適用于對某數(shù)組元素進行有規(guī)律的賦值或接受用戶通過鍵盤輸入對數(shù)組元素的賦值。

  三、舉例:

  1.以引例為例,從鍵盤輸入10個學生一門課的成績,找出最高分和最低分并輸出。 步驟:

  (1) 輸入: 用for循環(huán)輸入10個學生的成績

  (2) 處理:

  (a) 先令max=min=score[0]

  (b) 依次用score [i]和max,min比較(循環(huán))

  若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: ");

  for(i=0;i<10;i++) //輸入10個浮點型的學生的成績

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

  max=min= score [0];

  for(i=1;i<10;i++) //循環(huán)比較,找出最高分和最低分

  {

  if(max< score [i]) max= score [i];

  if(min> score [i]) min= score [i];

  }

  printf("Max score is %f ",max); //輸出最高分

  printf("Min score is %f ",min); //輸出最低分

  }

  2.以引例為例,從鍵盤輸入10個學生一門課的成績,用冒泡法從低到高排序并輸出。 分析:冒泡排序法的基本思想是將相鄰兩個數(shù)進行比較,將小的調(diào)到前面。

  排序過程:

 。1)比較第一個數(shù)與第二個數(shù),若為逆序score [0]> score [1],則交換;然后比較score

  [1]與score [2]比較;依次類推,直至score [8]與score [9]比較為止——第一趟冒泡排序,結(jié)果最大的數(shù)被安置在最后一個元素score [9]位置上,此次共比較9次。

 。2)對前9個數(shù)進行第二趟冒泡排序,結(jié)果使次大的數(shù)被安置在倒數(shù)第二個元素score

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

  (3)重復上述過程,共經(jīng)過9趟冒泡排序后,排序結(jié)束

  程序如下:

  #include

  void main()

  {

  int i,j;

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

  printf("Enter 10 scores: ");

  for(i=0;i<10;i++) //輸入10個浮點型學生的成績

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

  printf(" ");

  for(i=1;i<10;i++) //趟數(shù),共9趟

  {

  for(j=0;j<10-i;j++) //實現(xiàn)一次冒泡操作

  if(score [j]> score [j+1]) //交換score [j]和 score [j+1]

  {

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

  }

  }

  for(i=0;i<10;i++) //輸出排好序的成績

  printf(" %f ", score [i]);

  printf(" ");}

【C語言一堆數(shù)據(jù)教案設(shè)計】相關(guān)文章:

C語言實型數(shù)據(jù)07-02

C語言字符型數(shù)據(jù)04-01

C語言整型數(shù)據(jù)分析03-30

C語言從鍵盤輸入數(shù)據(jù)03-16

C語言字符數(shù)據(jù)的合法形式05-29

C語言數(shù)據(jù)類型轉(zhuǎn)換02-28

C語言的數(shù)據(jù)類型介紹07-16

C語言數(shù)據(jù)的輸入輸出復習08-11

C語言學習關(guān)于數(shù)據(jù)的介紹04-20