C語言程序設計教程(第2版)-教案全套 余琴 第1-10章 概述、數據類型、運算符和表達式- 文件_第1頁
C語言程序設計教程(第2版)-教案全套 余琴 第1-10章 概述、數據類型、運算符和表達式- 文件_第2頁
C語言程序設計教程(第2版)-教案全套 余琴 第1-10章 概述、數據類型、運算符和表達式- 文件_第3頁
C語言程序設計教程(第2版)-教案全套 余琴 第1-10章 概述、數據類型、運算符和表達式- 文件_第4頁
C語言程序設計教程(第2版)-教案全套 余琴 第1-10章 概述、數據類型、運算符和表達式- 文件_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE1教案課程名稱:C語言程序設計授課教師:授課對象:非計算機專業本科授課學期:2總學時:64學時學期學時:64學時

第1次課教案一、講授內容1.C語言簡介2.C語言的特點3.簡單C程序介紹4.上機環境及步驟介紹二、教學目的及要求1.對C語言形成初步的印象。2.掌握C語言上機的步驟。三、教學重點1.簡單C程序介紹。2.上機環境及步驟介紹。四、教學難點初步認識C程序。五、本講計劃學時--2學時(100分鐘)1.開始部分(10分鐘)介紹課程目標及課程要求2.講授課程(75分鐘)通過C語言與自然語言的對比,引入C語言的教學。自然語言C語言信息交流(地位平等)(有思維、推理能力)人-機對話(命令方式)(無思維、推理能力)語法規則、句法規則靈活如:走,去曬太陽!去曬太陽,走語法規則、句法規則固定(一般不可省略、顛倒,必須按部就班)如:x=a+b;scanf(“%d%d”,a,b);表達方式多樣算法多樣1)C語言出現的歷史背景(自學)2)C語言的特點(1)語言簡潔、緊湊,使用方便、靈活。(2)運算符豐富。34種運算符。(3)數據類型豐富,具有現代語言的各種數據結構。(4)具有結構化的控制語句,是完全模塊化和結構化的語言。(5)語法限制不太嚴格,程序設計自由度大。(6)兼有高級和低級語言的特點。(7)目標代碼質量高,程序執行效率高。(8)程序可移植性好(與匯編語言比)。3)簡單C程序的介紹通過簡單C程序的例子,介紹C程序的構成模式。4)C語言上機步驟與方法通過簡單的VisualC++上機視頻介紹如何在該環境編輯、編譯、連接和運行一個C程序。3.課堂討論(10分鐘)簡單C程序的分析和討論。4.內容小結(5分鐘)(1)C語言的特點(2)簡單C程序構成模式(3)C語言上機環境。六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、總結通過本章節的學習,我們應該要掌握以下幾點內容:1.簡單C程序各組成部分及其相關句法規則;2.C程序的運行環境及上機步驟。第2次課教案一、講授內容1.常量與變量的相關概念;2.整型數據、浮點型數據的存儲方式及表示方法。二、教學目的及要求1.掌握常量與變量的相關概念;2.掌握整型常量和變量的存儲方式及表示方法;3.掌握浮點型常量和變量的存儲方式及表示方法。三、教學重點1.常量和變量的相關概念;2.整型數據和浮點型數據的存儲方式及表示方法。四、教學難點整型數據和浮點型數據的存儲方式及表示方法。五、本講計劃學時2學時(100分鐘)1.開始部分(5分鐘)復習上節課內容,回顧簡單C程序構成模式。2.講授課程(80分鐘)1.C語言的基本元素1)符號集(字符集)(1)大寫字母:A~Z(2)小寫字母a~z(3)阿拉伯數字:0~9(4)下劃線:_(5)標點符號和運算符2)標識符用來標記常量、變量、函數及文件名字的字符序列。標識符的構成規則:(1)以字母(大小寫皆可)或下劃線開頭(2)隨后可跟若干個(包括0個)字母、數字、下劃線3)關鍵字(附錄B)也稱“保留字”它是C語言中具有特定含義、專門用作語言特定成分的一類標識符。ANSI推薦的C語言的關鍵字是32個如:main、int、char、float、define等注意:所有的關鍵字都有固定的意義,不能用作其他。所有關鍵字都必須小寫。如:else與ELSE代表不同含義else是關鍵字,ELSE用戶定義的標識符2.通過實例深入理解常量和變量的概念,及相關的命名規則。1)編譯系統將大寫字母和小寫字母認為是兩個不同的字符(習慣上,符號常量用大寫)。2)建議變量名的長度最好不要超過8個字符。3)在選擇變量名和其它標識符時,應注意做到“見名知意”,即選有含意的英文單詞(或其縮寫)作標識符。4)要求對所有用到的變量作強制定義,也就是“先定義,后使用”。3.整型數據1)整型數據在內存中是以二進制形式存放的,以二進制的補碼表示;2)C規定在程序中所有用到的變量都必須在程序中定義,即“強制類型定義”;3)一個整型變量只能容納-32768~32767范圍內的數,無法表示大于32767或小于-32768的數。遇此情況就發生“溢出”;4)一個整數,如果其值在-32768~+32767范圍內,認為它是int型,它可以賦值給int型和longint型變量;5)一個int型的常量同時也是一個shortint型常量,可以賦給int型或shortint型量;6)一個整常量后面加一個字母u或U,認為是unsignedint型,如12345u,在內存中按unsignedint規定的方式存放;7)在一個整常量后面加一個字母l或L,則認為是longint型常量。4.浮點型數據1)一個浮點型數據一般在內存中占4個字節(32位)。與整型數據的存儲方式不同,浮點型數據是按照指數形式存儲的;2)浮點型變量分為單精度(float型)、雙精度(double型)和長雙精度型(longdouble)三類形式。3.課堂討論(10分鐘)對常量、變量等概念的有關習題進行分析和討論。4.內容小結(5分鐘)(1)C語言基本元素(2)常量和變量(3)整型和浮點型數據六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外作業布置熟悉學習輔導中的VisualC++上機環境,學會編譯前兩講的簡單C程序。八、總結1.理解常量與變量的概念及語法規則;2.掌握整型及浮點型數據的存儲方式及表示方法。第3次課教案一、講授內容1.字符型數據的語法及其存儲形式和使用方法;2.算術運算符和表達式及逗號運算符和逗號表達式。二、教學目的及要求1.掌握字符型數據的存儲方式、表示方法;2.掌握不同類型間數據轉換的原則與方法;3.掌握有關運算符與表達式的運用。三、教學重點1.字符型數據2.運算符和表達式的運用四、教學難點1.字符型數據2.運算符和表達式的運用五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)在第一章的講授中,大家已大概了解了下C程序的構成框架,先對上次課內容進行簡單的回顧,復習整型、浮點型數據的相關表示形式。2.講授課程(75分鐘)1.字符型數據1)字符常量:用單引號包含的一個字符2)轉義字符3)字符變量4)字符數據在內存中的存儲形式及其使用方法一個字符常量存放到一個字符變量中,實際上并不是把該字符的字型放到內存中去,而是將該字符的相應的ASCII代碼放到存儲單元中。這樣使字符型數據和整型數據之間可以通用。字符數據與整型數據可以相互賦值字符數據可以以字符形式輸出,也可以用整型數形式輸出。intmain(){charc;c=‘\376’;//八進制數\376(十進制為254)printf(“%c,%d\n”,c,c);}//有些系統(如TurboC)將字符處理為帶符號的整數。5)字符串常量2.各類數值型數據間的混合運算整型(包括int,short,long)、浮點型(包括float,double)可以混合運算。3.算術運算符和算術表達式C運算符(1)基本的算術運算符:+(加法運算符,或正值運算符。如:3+5、+3)-(減法運算符,或負值運算符。如:5-2、-3)*(乘法運算符。如:3*5,2*x,3*(a+b))/(除法運算符。如:5/3,(x+y)/(a+b))%(模運算符,或稱求余運算符,%兩側均應為整型數據,如:7%4的值為3)。(2)算術表達式和運算符的優先級與結合性(3)強制類型轉換運算符(4)自增、自減運算符4.逗號運算符和逗號表達式逗號表達式的一般形式可以擴展為:表達式1,表達式2,表達式3,……,表達式n,它的值為表達式n的值。逗號運算符是所有運算符中級別最低的。#include<stdio.h>intmain(){inta=1;printf(“結果為:%d\n”,a=3*a,3*a);//若改為(a=3*a,3*a),考慮輸出結果的不同}3.課堂討論(10分鐘)字符數據輸出及逗號運算符的使用。4.內容小結(5分鐘)(1)字符型數據(2)算術運算符和算術表達式(3)逗號運算符和逗號表達式六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外作業布置1.完成第二章的復習題;2.上機練習課本例題及書后習題。八、總結數據類型是C語言的基礎,牢固掌握數據類型的相關語法,結合習題、上機進一步了解C程序設計的相關知識,為以后程序分析與設計打好良好基礎。第4次課教案一、講授內容1.程序的三種基本結構2.賦值語句3.字符數據的輸入輸出二、教學目的及要求1.掌握語句的概念;2.掌握字符數據輸入輸出函數。三、教學重點1.賦值語句2.字符數據的輸入輸出函數四、教學難點1.賦值語句2.字符數據的輸入輸出函數五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)復習第2章有關數據類型與表達式的知識,指出上周上機操作存在的不足及需要改進的地方。2.講授課程(75分鐘)1.通過對程序的三種基本結構的介紹引入順序程序設計的講授。2.了解C語言中語句的分類1)簡單語句2)復合語句3)空語句3.賦值語句1)掌握賦值表達式的相關概念及寫法賦值運算符“=”用法:變量=表達式作用:將表達式的值賦給變量(常量、變量是表達式的特例)如:a=5;ave=(a+b)/10;賦值結果與類型轉換實型數據(單、雙精度)賦給整型變量時,舍棄實數的小數部分。整型數據賦給單、雙精度變量時,數值不變,但以浮點數形式存儲到變量中。長度相同的有符號與無符號整型數間,原樣賦值(但數值有時會有變化)char、int、long等類型的轉換2)賦值語句(第2章介紹了相關知識)4.字符數據的輸入輸出(通過了解輸入輸出的概念來進一步學習)1)字符輸出函數putchar形式:putchar(c)作用:向顯示器上輸出一個字符2)字符輸入函數getchar()格式:getchar()作用:從鍵盤緩沖區讀入一個字符注意:當輸入多個字符時,多余字符作廢;用getchar()得到的字符可以賦給字符型變量、整型變量,或作為表達式的一部分。3.課堂討論(10分鐘)賦值運算符及字數輸入輸出函數的使用。4.內容小結(5分鐘)(1)三種基本結構(2)賦值語句(3)字符輸入輸出函數六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外作業布置1.上機練習課本例題,理解賦值語句與字符輸入輸出語句的應用;2.嘗試修改程序達到發現問題的目的,在不斷的上機實踐中發現自己在語法上的問題。八、總結結合前面所學知識,進一步了解書上例題及學習輔導中例題的含義,理解賦值語句與字符輸入輸出語句的應用。第5次課教案一、講授內容1.簡單的格式輸入與輸出2.較復雜的輸入輸出格式控制3.初略地了解算法的相關概念二、教學目的及要求掌握格式輸入輸出函數的用法。三、教學重點格式輸入輸出函數的用法。四、教學難點格式輸入輸出函數的用法;五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)復習前一次課有關知識,講解上機出現的問題。2.講授課程(75分鐘)1.簡單的輸入輸出函數1)簡單的printf函數輸出數據printf(格式控制符,輸出項列表)格式控制符:雙引號括起來的字符串輸出項列表:要輸出的內容(常量、變量、表達式等)如:格式控制字符串i=%3df=%5.1f格式控制符完整的格式:說明:eq\o\ac(○,1)格式字符:指定輸出項的數據類型和輸出的格式1)d——十進制整數2)o——無符號八進制數3)x——無符號十六進制數4)u——不帶符號的十進制整數5)c輸出一字符6)s輸出一字符串7)e以指數的形式輸出實型數8)f以小數的形式輸出實型數9)g自動決定輸出格式為e和f中較短的一種10)%輸出%eq\o\ac(○,2)長度修正符l:對整型指長整型long例:%ld,%lx,%lo,%lu對實型指雙精度double例:%lfeq\o\ac(○,3)域寬及精度的描述m:域寬,即對應的輸出項在輸出設備上所占的字符數若實際數據寬度>m,按實際數據寬度輸出若實際數據寬度<m,左邊補空n:精度,說明輸出的實型數的小數位數需要注意的幾點:編譯程序只是檢查printf函數的調用形式,不分析格式控制字符串,如果格式字符與輸出項的類型不匹配,不進行類型轉換;格式字符要用小寫字母;格式控制字符串中可以包含轉義字符;格式控制字符串中的普通字符則原樣輸出;輸出項的參數除了常數、變量外還可以是表達式、函數調用。2)格式輸入函數scanf作用:按格式控制符的要求將數據從終端傳送到變量地址所指定的內存空間形式:scanf(格式控制符,變量地址列表)變量地址:通過對變量名“求地址”運算得到形式:&變量名控制符格式與printf相似,在此不做過多說明。注意:scanf中不使用U說明符,對unsigned型數據用d,o,x說明符輸入;輸入數據時不能規定數據的精度如:scanf(“%4.2f”,&a);在“格式控制”字符串中,若有格式說明以外的其他字符,輸入時應照原樣輸入如:scanf(“a=%d,b=%f”,&a,&b);輸入:a=123,b=45.678%c一次接收一個字符,無需單引號,空格字符是有效字符。2.簡單的順序結構程序設計3.課堂討論(10分鐘)通過課本中兩個具體實例,分析如何使用輸入輸出函數及簡單順序程序設計。4.內容小結(5分鐘)(1)輸入函數(2)輸出函數六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外作業布置1.書后習題3、4、6;2.雞兔同籠問題:已知雞兔總頭數為h,總腳數為f,求雞兔各多少只?八、總結C的輸入輸出格式較多,比較煩瑣,但用得不對,則會浪費大量調試時間,因此對于這部分的學習必須通過多上機練習,才能更好地掌握。第6次課教案一、講授內容1.條件判斷關系運算和關系表達式;邏輯運算符及邏輯表達式2.if語句二、教學目的及要求1.掌握關系與邏輯表達式的用法;2.掌握if語句的用法。三、教學重點1.格式輸入輸出函數的用法;2.if語句的用法。四、教學難點關系與邏輯表達式的用法。五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)復習前一次課有關知識,講解上機出現的問題。2.講授課程(80分鐘)1.算法相關概念及表示方法(1)帶序號的自然語言描述易懂卻不直觀,不嚴格(2)流程圖:靈活、自由、形象、直觀,可表示任何算法(3)N-S圖(盒圖):完全去掉了帶箭頭的流程線,算法的所有處理步驟都寫在一個大矩形框(表示簡單、符合結構化思想)(4)偽代碼:用介于自然語言與計算機語言之間的文字及符號來描述算法(方便、易懂、便于向計算機語言過渡)2.條件判斷(1)關系運算和關系表達式關系運算符及其優先次序:<(小于)<=(小于或等于)>(大于)>=(大于或等于)前4個優先級相同(高)==(等于)!=(不等于)后2個優先級相同(低)關系運算符的優先級低于算術運算符!關系運算符的優先級高于賦值運算符!關系表達式:用關系運算符將兩個表達式(可以是算術表達式或關系表達式,邏輯表達式,賦值表達式,字符表達式)接起來的式子,稱關系表達式。例:a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)!關系表達式的值是一個邏輯值,即“真”或“假”。例:關系表達式”a>b”的值為“真”,表達式的值為1。(2)邏輯運算符和邏輯表達式邏輯運算符及其優先次序&&(邏輯與)相當于其他語言中的AND||(邏輯或)相當于其他語言中的OR!(邏輯非)相當于其他語言中的NOT例:a&&b若a,b為真,則a&&b為真。a||b若a,b之一為真,則a||b為真。!a若a為真,則!a為假。優先次序:!(非)->&&()->||()邏輯運算符中的“&&”和“||”低于關系運算符,“!”高于算術運算符邏輯表達式用邏輯運算符將關系表達式或邏輯量連接起來的式子就是邏輯表達式。邏輯表達式的值應該是一個邏輯量“真”或“假”。3.if語句1)if語句的三種形式:條件執行if(e)AA可為簡單或復合語句如:if(a>0)printf(“aispositive.\n”);if(x>y){z=y;y=x;x=z;}分支選擇if(e)AelseB當e為真值(非0)時執行A,否則執行B或后續語句。if(a>0)printf(“Aispositive.\n”);elseprintf(“Aisnotpositive.\n”);例:讀程序,寫出它所完成的功能。#include<stdio.h>intmain(){floatx,y;printf(“Enterx:”);scanf(“%f”,&x);if(x==0)y=1;elsey=(x*5+1)/x;printf(“\nx=%4.1f\ty=%4.1f\n”,x,y);}elseif形式(階梯式的if-else語句)if(P1)S1elseif(P2)S2…..elseif(Pn)SnelseSn+1系統從上到下的逐個判斷條件P,一旦發現某條件Pi滿足時,則執行與它有關的語句Si,并跳過其他剩余的階梯。若所有條件均不滿足,執行最后一個else語句或后續語句。注意:else與最近的if相匹配。思考:評價學生的成績score>=90優秀score>=80良好score>=70中score>=60及格score<60不及格3.課堂討論(10分鐘)關系表達式和邏輯表達式的運算。六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,通過適當的課堂討論來提高學生的積極性。七、總結選擇結構是C語言中非常重要的程序設計結構,要求學生結合上機掌握邏輯表達式,條件判斷語句的用法。第7次課教案一、講授內容1.if語句2.switch語句3.程序舉例二、教學目的及要求掌握選擇性程序設計語句的用法。三、教學重點選擇型程序設計語句。四、教學難點選擇型程序設計語句。五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)復習前一次課有關知識,講解上機出現的問題。2.講授課程(75分鐘)1.if語句2)if語句的嵌套if(P1)if(P1)if(P2)AelseBelseif(P3)CelseD例:計算函數#include<stdio.h>#include<math.h>intmain(){floatx,y;printf(“inputx:”);scanf(“%f”,&x);if(x<-3.0)y=x-1.0;elseif(x>=-3.0&&x<=3.0)y=sqrt(9.0-x*x);elsey=log10(x);printf(“x=%0.1f\ty=%0.1f\n”,x,y);}3)條件運算符與條件表達式條件運算符:?和:/*唯一的三目運算符*/條件表達式:e1?e2:e3如:a>b?a:bx==0?1:sin(x)/x執行過程:1)計算e12)e1值為非0(真),計算并返回e2的值否則計算并返回e3的值運算順序:高于賦值運算,低于算術、關系、邏輯運算條件運算符的結合方向是“右結合”如:a>b?a:c>d?c:d等價于:a>b?a:(c>d?c:d)思考:讀程序,寫出程序完成的功能。#include<stdio.h>intmain(){inta,b,imax;printf(“inputdatatoaandb:”);scanf(“%d,%d”,&a,&b);imax=a>b?a:b;printf(“Themaxis%d\n”,imax);}2.開關語句亦稱為多分支選擇語句,比用嵌套的if語句實現多路分支問題,其程序結構清晰、易讀。1)格式switch(e){casec1:語句1casec2:語句2……casecn:語句n[default:語句n+1]}2)執行過程計算表達式e的值;若與常量表達式ci值一致,則從語句i開始執行;直到遇到break語句或switch語句的”}”。若與任何常量表達式值均不一致時,則執行default語句或執行后續語句。3)注意常量表達式ci僅起語句標號作用,不作求值判斷;常量表達式的值必須是唯一的;多個case語句課共用一組執行語句。3.程序舉例(見課本)3.課堂討論(10分鐘)通過課本中具體實例,分析選擇型程序設計。4.內容小結(5分鐘)(1)if語句(2)開關語句六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排及作業布置1.書后習題5、6、72.完成第四章練習冊習題。八、總結選擇結構是C語言中非常重要的程序設計結構,要求學生結合上機掌握邏輯表達式,條件判斷語句的用法。第8次課教案一、講授內容for、while、do…while實現循環二、教學目的及要求掌握三種循環語句的運用。三、教學重點三種循環語句四、教學難點三種循環語句的運用五、本講計劃學時2學時(100分鐘)1.開始部分(5分鐘)復習if語句有關知識,講解上機出現的問題。2.講授課程(90分鐘)1.循環的概念通過對選擇結構設計的簡單復習和解決問題的有限,引入循環的概念。循環語句:while,do…while,for2.while循環1)用while語句實現當型循環,一般形式:while(表達式)語句;當型循環的特點:先判斷表達式,后執行語句。如:k=1;while(k<=100){s=s+k;k++;}循環控制表達式、循環控制變量、循環體注意:若循環體包含一條以上的語句,應以復合語句形式出現;循環前,必須給循環控制變量賦初值;循環體中,必須有改變循環控制變量值的語句;循環體可以為空,如:while((c=getchar())!=’A’);例1:回憶上一章介紹算法時計算1+2+…+100求和的問題,嘗試用while循環解決。例2:求100以內的奇數、偶數之和。3.do-while循環do-while語句用來實現“直到型”循環,一般形式為:do語句while(表達式)例:用do-while循環修改上節例1。4.for循環for循環的一般形式:for(表達式1;表達式2;表達式3)語句for循環的其他形式(P102)說明:1)表達式1省略時,應在for前給循環變量賦初值;如:k=1;for(;k<=3;k++)s=s+k;2)表達式2省略時,不判斷循環條件,將成為“死循環”,需要在循環體中引入break語句以退出循環;3)表達式3省略時,循環體內應使循環條件改變的語句;4)同時省略表達式1和表達式3,只有表達式2,此時相當于while語句。5)表達式2一般是關系表達式或邏輯表達式,但也可以是數值表達式或字符表達式,只要其值不等于0就執行循環體。例1:讀程序,寫出程序的功能。#include<stdio.h>intmain(){charc;for(;(c=getchar())!=’\n’;)putchar(c);putchar(‘\n’);}例2:用for循環修改上節例2。3.內容小結(5分鐘)三種循環的特點。六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排運用三種循環實現1+2+…+100。八、總結循環結構是結構化程序設計的基本結構之一,熟練掌握循環結構的概念及使用,是程序設計的最基本的要求。相比前面的章節,本章涉及大量編程習題,需要同學們上機多加練習。第9次課教案一、講授內容循環的嵌套二、教學目的及要求掌握循環的嵌套。三、教學重點循環的嵌套四、教學難點循環的嵌套五、本講計劃學時2學時(100分鐘)1.開始部分(5分鐘)復習三種循環的有關知識,講解上機出現的問題。2.講授課程(75分鐘)1.循環的嵌套一個循環體內包含著另一個完整的循環結構,就稱為循環嵌套;內嵌的循環中可以嵌套循環,從而構成多重循環;三種循環可以互相嵌套。說明:嵌套的循環控制變量不能相同;內循環變化快,外循環變化慢;正確確定循環體;循環控制變量常與求解的問題掛鉤。2.通過各種圖案的打印講解循環的嵌套。3.幾種循環的比較3.課堂討論(15分鐘)例:試找出滿足下列條件的所有三位數1)其百位數不大于2;2)將個位與百位對換,得到的三位數是原三位數的兩倍多。4.內容小結(5分鐘)循環的嵌套的執行過程。六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排1.編程打印九九乘法口訣表。2.書后習題6、7。八、總結循環結構是結構化程序設計的基本結構之一,熟練掌握循環結構的概念及使用,是程序設計的最基本的要求。相比前面的章節,本章涉及大量編程習題,需要同學們上機多加練習。第10次課教案一、講授內容1.break語句和continue語句2.三種基本結構的綜合應用二、教學目的及要求1.掌握break語句和continue語句。2.掌握三種基本結構的綜合應用。三、教學重點break語句和continue語句四、教學難點break語句和continue語句五、本講計劃學時2學時(100分鐘)1.開始部分(5分鐘)復習循環嵌套的有關知識,講解上機出現的問題。2.講授課程(95分鐘)1.break語句和continue語句break語句:用break語句可以結束switch結構和三種循環。(P109例5.7)continue語句:用continue語句可以結束本次循環,即忽略循環體中剩余的語句。2.通過例題講解三種基本結構的綜合應用六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、總結循環結構是結構化程序設計的基本結構之一,熟練掌握循環結構的概念及使用,是程序設計的最基本的要求。靈活運用三種基本結構設計滿足要求的程序。第11次課教案一、講授內容1.數組的概念2.一維數組的定義和引用3.二維數組的定義和引用二、教學目的及要求1.掌握數組的概念和使用2.掌握數組初始化的方法三、教學重點1.數學建模的基本方法2.數學模型在算法設計中的應用。四、教學難點1.一維數組2.二維數組和多維數組五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)1)前面使用的數據類型都屬于基本類型(整型、實型、字符型),存儲特點是:每個變量單獨存儲,亦稱簡單變量。2)C語句中除基本類型還有另一些復雜類型,合稱為構造類型由基本類型構造而成的。3)構造類型的每一個分量是一個變量,它可以是一個簡單類型或構造類型;分量的使用方法與簡單變量相同;分量占用相鄰的存儲空間。4)對于構造類型的變量來說,重點是訪問其分量的方法。2.講授課程(75分鐘)1.數組的概念計算機處理數據時,經常出現數據是用某種有序的形式進行組織的情況,如隨溫度而改變的實驗數據,按學號排列的成績表。這些數據的共同特征:都是由若干個分量組成;數據的諸分量都是同一類型(可取任何類型);這些分量是按一定順序排列的。1)數組:按序排列的具有相同類型的變量的集合。2)用一符號名(數組名)來表示這一組數。3)用數組名后跟下標來唯一確定數組中的元素。4)數組的首地址、數組元素的類型和個數(數組長度)。2.一維數組1)定義:類型名數組名1[exp],數組名2[exp],……exp為常量表達式數組名命名規則和簡單變量名相同;數組名后只能用方括弧括起來的常量表達式;常量表達式的值確定數組元素的個數。2)一維數組的存儲:用連續的內存單元存放各個元素。保存數組所需內存量與數組元素的基本類型和數組大小有關總字節數=sizeof(基本類型)*數組元素個數3)一維數組的引用數組必須先定義后引用;C語言規定只能逐個引用數組元素,而不能一次引用整個數組;引用一維數組元素的一般形式:數組名[下標]例:讀程序#include<stdio.h>intmain(){inti,a[10];for(i=0;i<=9;i++)a[i]=i;for(i=9;i>=0;i--)printf(“%d”,a[i]);printf(“\n”);}4)一維數組的初始化在定義數組時對數組元素賦以初值(如:inta[4]={1,2,3,4};);給一部分元素賦初值;若對全部數組元素賦初值時,可以不指定數組長度;例題:P1173.二維數組在C語言中,數組的元素還可以是數組,這樣就構成二維數組。1)二維數組的定義:類型名數組名[C_exp1][C_exp2],……如:inta[3][4],b[4][M](M是符號常量)2)二維數組的存儲二維數組從概念上可理解為行-列矩陣,但存儲器是一維的,需按一定規則轉換。數組元素的實際存放順序是:右邊下標比左邊下標變化快。3)二維數組的引用數組名[下標][下標]如:inta[2][4],b[5][3]注意下標的最大取值,即:要注意數組定義和數組元素引用的區別。4)二維數組的初始化(按行存放)按存放順序賦:intx[2][3]={1,2,3,4,5,6};按行賦:intx[2][3]={{1,2,3},{4,5,6}};部分賦:staticintx[2][3]={1,2,4};5)二維數組程序舉例3.課堂討論(10分鐘)一維數組和二維數組的應用。4.內容小結(5分鐘)(1)一維數組(2)二維數組六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外作業布置1.編程統計全班某門功課期末考試的平均分數和最高分數(設全班人數為30)2.書本例題上機練習。八、總結通過數組的學習,使得程序設計中的數據結構更加豐富,本次課的學習要求同學們掌握一維、二維數組的定義、存儲和使用。第12次課教案一、講授內容字符數組的定義和使用。二、教學目的及要求掌握字符數組和字符串的應用。三、教學重點掌握字符數組和字符串的應用。四、教學難點掌握字符數組和字符串的應用。五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)通過作業的講解復習上節介紹的有關一維、二維數組的知識。2.講授課程(75分鐘)1)字符數組的定義在C語言中,沒有專門的字符串變量,而是將字符串存入字符數組來處理;用一個一維數組來存放一個字符串,每個元素存放一個字符;字符數組是數組的一個特殊情況,但它的定義方法與上述介紹的類似;引用方法可以與上述介紹的相同,也有其獨特的引用方法;由于字符型與整型是互相通用的。2)字符數組的初始化按元素賦:staticcharc[10]={‘s’,’t’,’o’,’r’,’e’};注意:在C語言中,將字符串作為字符數組來處理,即用一個一維數組來存放一個字符串;為了測定實際字符串長度,C語言規定了一個“字符串結束標志”。使用字符串常量給字符數組賦初值例:charc[6]={“china”};注意:以字符串方式賦值時,必須保證數組元素個數>=字符個數+1。例:字符數組初始化#include<stdio.h>intmain(){chara[7]={’a’,’p’,’p’,’l’,’e’};charb[7]={“apple”};charc[7];staticcharx[7];inti;for(i=0;i<=6;i++)printf(“%6d%6d%6d%6d\n”,a[i],b[i],c[i],x[i]);}3)字符串的引用與輸入輸出對于字符數組,在程序中既可以逐個引用字符串中的單個字符(數組元素),也可以一次引用整個字符串(數組)。逐個字符數組元素輸入輸出:用%c格式符描述;整個字符串輸入輸出,用%s格式符描述(只要遇到“\0”便結束)。4)字符串處理函數gets(字符數組名)從鍵盤輸入一個字符串(以回車結束)放到數組中,并得到一個函數值,該函數值是字符數組的其實地址;puts(字符數組名/字符串)將數組中的字符串(以’\0’結束的字符序列)輸出到終端上,輸完換行。strcpy(字符數組1,字符串/字符數組2)將字符串/字符數組2中的字符串拷貝到字符數組1中。strcat(字符數組1,字符串/字符數組2)將字符串或字符數組2連接到字符串1的后面,并放在字符數1中。strcmp(字符數組1/字符串1,字符數組2/字符串2)strlen(字符數組名/字符串)strlwr(字符串)strupt(字符串)5)字符數組應用舉例(P134)3.課堂討論(10分鐘)字符數組的初始化及字符串的引用與輸入輸出。4.內容小結(5分鐘)(1)字符數組的初始化(2)字符串的引用與輸入輸出。(3)字符串處理函數六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排及作業布置1.上機練習課本例題及習題。2.編程:選秀某課程的學生共10人,按成績高低輸出學生名單。(用比較法排序)八、總結字符型數據也是C語言中重要的數據類型,要通過不斷練習掌握字符數組的定義、初始化、引用等知識。第13次課教案一、講授內容1.函數定義2.函數的參數及返回值二、教學目的及要求掌握函數的定義和參數。三、教學重點1.函數的定義2.函數的參數及返回值四、教學難點函數的參數及返回值五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)通過兩個問題引入:1)我的程序有上百行,如何調試最方便?2)我想設計一個程序完成下面的計算m!n!/(m-n)!其中,m、n為正整數且m>n,該如何設計程序最有效?2.講授課程(75分鐘)1.函數概述1)C程序結構:一個C程序可以分為若干個函數;每個程序有且只有一個主函數,其他函數都是子函數;子函數可以相互調用,但主函數不能被調用;一個C源程序由一個或多個文件構成,一個源程序文件是一個編譯單位。2)幾點說明C程序的執行從main函數開始,調用其他函數后仍回到main函數,程序在main函數結束時結束;所有子函數都是平行的,任何子函數都不屬于其他函數;從用戶角度看,函數可分為:標準函數,自定義函數;從函數形式看,可分為:無參數函數,有參數函數。2.函數定義函數定義的一般形式:類型說明函數名([形式參數說明]){函數體}形式參數說明方法:類型說明變量名[,類型說明變量名]….1)無參函數的定義形式類型說明函數名(){函數體}2)有參函數的定義形式類型說明函數名(形式參數說明){函數體}3)空函數的定義形式類型說明函數名([形式參數說明]){}如:intsum(intx,inty){intz;z=x+y;return(z);}intprinthello(charname[]){printf(“Hello,%s\n”,name);}一般情況下,函數體由兩部分組成{[局部變量說明]語句}局部變量:函數體內定義的變量,其有效范圍僅限于所在的函數內部,離開函數體則無意義。3.函數參數和函數的值C程序中各函數調用時經常需要傳遞一些數據,即調用函數把數據傳遞給被調用函數,經被調用函數處理后,得到一個確定的結果,在返回調用函數時,把這結果帶回調用函數。1)形式參數和實際參數函數參數:用于函數間數據的傳遞形式參數:定義函數時使用的參數實際參數:引用函數時使用的參數說明:(1)定義函數時,必須說明形參的類型。(2)函數被調用前,形參不占用內存;函數調用結束后,形參所占用的內存也將被回收。(3)實參可以是常量、變量或表達式。(4)實參與形參的類型必須一致。(5)C語句中實參對形參的數據傳遞是“值傳遞”,即單向傳遞。例:讀程序,寫出運行結果#include<stdio.h>intsum(inta,intb){a=a+b;b=a+b;returna;}intmain(){inta=1,b=3,c;c=sum(a,b);printf(“Sumof%d,%dis%d\n”,a,b,c);}2)函數的返回值(1)返回函數值的方法:如果一個函數有返回值,就必須使用return語句;一個函數中可以有一個以上的return語句,但不論執行到哪個return都將結束函數的調用返回主調函數。return語句中的括號可以省略,后面的值可以是一個表達式。(2)函數值的類型函數的類型即函數值的類型;省略了類型說明的函數是int型的;return語句中表達式的值一般應與函數類型一致;如果不一致,則需要進行類型轉換。(3)不需要返回值的函數如果函數中沒有使用return語句,函數返回的是一個不確定的數值;如果一個函數不需要返回值(表示一個過程),可以用int做類型說明;如果一個函數被聲明為int類型,就不允許再引用它的返回值。3.課堂討論(10分鐘)形式參數與實際參數的區分及值傳遞。4.內容小結(5分鐘)(1)函數的定義(2)函數的參數和函數的值六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排及作業布置1.上機練習課本例題。2.課后習題1、3。八、總結C語言中,函數是用來完成某一個特定功能的,C程序是由一個或多個函數組成的,因此必須熟練地掌握函數的基本知識及函數參數的相關知識。第14次課教案一、講授內容1.函數的調用2.函數的嵌套調用二、教學目的及要求掌握函數的調用。三、教學重點函數的嵌套調用。四、教學難點函數的嵌套調用五、本講計劃學時2學時(100分鐘)1.開始部分(10分鐘)復習前一次課有關知識,講解上機出現的問題。2.講授課程(85分鐘)1.函數的調用1)函數調用的一般形式函數名(實參表列)(1)如果調用無參函數,實參表列可以忽略,但括號不能省;(2)實參的個數和形參一般相等;(3)實參與形參的類型應一一對應,必要時使用類型轉換。2)函數調用的方式(1)函數語句:函數名(實參表列)(2)函數表達式:函數的返回值參與運算。3)函數調用的執行過程(1)按從右向左順序,計算實參中各表達式的值;(2)按照位置,將實參的值一一對應地傳送給形參;(3)執行被調用函數;(4)當遇到return(表達式)語句時,計算表達式的值,并返回主調函數。4)函數的原形說明(1)被調函數必須存在,且遵循“先定義后使用”的原則;(2)如果被調函數的定義在主調函數之后,可以先給出原形說明。2.函數的嵌套調用嵌套調用是指在一個函數的函數體中又調用了其他函數。3.數組作為函數的參數1)數組元素做函數實參與變量做實參一樣,數組元素做實參是“值傳遞”。例:求10個任意整數中的最大數。2)一維數組與函數參數若函數的形參是數組,對應的實參必須是數組名。說明:(1)實參數組與形參數組的類型必須一致;(2)用數組名做參數時,傳遞的是數組的首地址,因此形參數組也可以不指定大小;(3)數組做函數參數時,形參數組和實參數組共享同一內存單元。3.內容小結(5分鐘)(1)函數的調用(2)數組作為函數參數六、實施步驟通過多媒體與板書結合,在課堂講授過程中采用啟發教學方式,,通過適當的課堂討論來提高學生的積極性。七、課外學習輔導安排及作業布置1.已有函數調用語句c=add(a,b);請編寫add函數,計算兩個實數a和b的和,并返回和值。2.上機練習課本例題。八、總結對于函數調用的理解能夠幫助學生更好地讀懂程序的結構,使程序更加清晰。第15次課教案一、講授內容1.地址和指針的概念2.變量的指針和指向變量的指針變量二、教學目的及要求1.掌握指針變量的定義與引用2.掌握指針與變量的關系三、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論