第一篇:C語言程序設計教案 第五章 選擇結構程序設計
第五章 選擇結構程序設計
課題:
教學目的: 教學重點: 教學難點: 第五章 選擇結構程序設計
1、掌握實現選擇結構的兩種語句、一個運算符
2、學會編寫選擇結構的程序
if-else語句、switch語句、條件運算符
嵌套if-else語句中的if與else匹配問題
步驟一 復習引導
上一次課已經介紹了程序基本結構之一,但在大多數情況下都要用到選擇結構。
步驟二 講授新課
? 在C語言中實現選擇結構的控制語句主要有if語句、switch語句
一、條件語句
1、if語句的三種形式
語法1:if(表達式)語句;如:#include
if(ch>?a?&&ch<=?z?)ch+=?A?-?a?;
putchar(ch);}
語法2:if(表達式)語句1;
else
語句2; 如:#include
main()
{ int a,b;
scanf(“%d%d”,&a,&b);
if(a>b)printf(“max=%dn”,a);
else printf(“max=%dn”,b);
}
語法3:if(表達式1)語句1;
else if(表達式2)語句2;
else
if(表達式3)語句3;
??
else 語句n+1;
例如:從鍵盤上輸入字符,判別其分類:控制符、數字、大寫字母、小寫字母、其他字符。#include “stdio.h” main(){ char c;c=getchar();if(c< 32)printf(“This is a control character.n”);
else if(c>=?0?&&c<=?9?)printf(“This if a digit.n”);
else if(c>=?A?&&c<=?Z?)printf(“This is a capital letter.n”);
else if(c>=?a?&&c<=?z?)printf(“This is a small letter.n”);
else
printf(“This is an other charater.n”);說明:
1、三種形式的 if 語句中,if 關鍵字后均為表達式(邏輯表達式、關系表達式、賦值表達式、變量等);
如:if(a=5)語句;
if(b)語句;
2、if 語句中,條件表達式必須用括號括起來,在語句后必須加分號;
滿足條件需執行一組語句時,該組語句必須用{ }括起來; 如:if(a+b>c&&b+c>a&&a+c>b)
{ s=0.5*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%6.2fn”,area);
}
else
printf(“It is not a trilateral.”);
3、if 語句嵌套時,else 總是與它最靠近的if 匹配;
如:有一數學函數:x<0時,y=-1;x=0時,y=0;x>0時,y=1 編寫程序,輸入x的值,輸出相應y的值 main(){ int x,y;
scanf(“%d”,&x);
if(x<0)y=-1;
else if(x= =0)y=0;
else y=1;
printf(“x=%d,y=%dn”,x,y);}
說明:因為if 語句執行時總是簡單地測試其中作為條件的“表達式”的值是0還是非0,便可利用這種特性來簡化程序設計。如對于:
if(expression!=0)
完全可用
if(expression)來代替;
同理:
if(!exp)語句;等價于:if(exp= =0)語句; 二、三目條件運算符及其表達式
1、條件運算符:?:
2、格式:e1?e2:e3
3、語義:判e1的值,為1時計算e2,否則計算e3;
如:max=(a>b)?a:b 等價于 if(a>b)max=a;
else max=b;
4、說明:
1)條件運算符的結合方向自右至左
如:a>b?a:c>d?c:d 等價于 a>b?a:(c>d?c:d)若int a=1,b=2,c=3,d=4;則表達式的值為________ 例:輸入一個正整數i,輸出第i個英文字母,若i大于26則輸出一個?*?。#include
scanf(“%d”,&i);
i=(i<=26)?(i-1+?a?):?*?;
putchar(i);} 2)條件運算符的優先級僅高于逗號運算符與賦值運算符;
3)只有當if語句的真假均只執行一個賦值語句且給同一變量賦值時,才能用條件表達式取代;
如:if(a>b)max=a;
else max=b;思考:int x=1,y=0;x-->(y+x)?5:25>y++??1?:?2?的值是______
三、switch 語句
語法1:switch(表達式)
{ case C1:語句序列1;
case C2:語句序列2;
……
case Cn:語句序列n;
default:語句序列n+1;
} 語法2:switch(表達式)
{ case C1:語句序列1;break;
case C2:語句序列2;break;
……
case Cn:語句序列n;break;
default: 語句序列n+1;break;
} 其中:
? switch后括號中的表達式可以為任何類型;
? C1至Cn 是常量表達式,一般是整數或字符,與switch中表達式的取值對應; ? default可缺省,當表達式e的值不是C1到Cn的情況。
注意兩種語法的執行順序!
例:switch(grade)
{ case ?A?: printf(“85~100n”);break;
case ?B?: printf(“70~84n”);break;
case ?C?: printf(“60~69n”);break;
case ?D?: printf(“<60n”);break;
default: printf(“errorn”);break;
}
? 允許多個case共用一個執行語句 例:switch(ch){ case ?0?: case ?1?: case ?2?: case ?3?: case ?4?: case ?5?: case ?6?: case ?7?: case ?8?:
case ?9?:digit++;break;
case ? ?: case ?t?: case ?n?: white++;break;
default: character++;}
? break語句只能跳出一層,內外層情況常可相同; 如:
int x=1, y=0;switch(x){ case 1: switch(y)
{case 0: printf(“**1**n”);break;
case 1: printf(“**2**n”);break;
}
case 2: printf(“**3**n”);} 運行結果為:**1**
**3**
五、程序舉例
例:求ax2+bx+c=0方程的根。分析:
(1)a=0,不是二次方程。
(2)b2-4ac=0,有兩個相等的實根。(3)b2-4ac>0,有兩個不等的實根。(4)b2-4ac<0,有兩個共軛的復根。N-S圖:P102
步驟三 課堂小結
1、兩種選擇語句:if-else、switch語句,注意選擇條件的描述;
2、在編寫程序過程中,注意分支的作用范圍,及復合語句的運用。
步驟四 布置作業
1、上機作業(第五章課后練習):5.5、5.6
2、書面作業(第五章課后練習)5.3、5.9
第二篇:VB選擇結構程序設計的教案
《VB
【教學內容分析】
選擇結構程序設計》教案
《程序的選擇結構》是信息技術普通高中課程實驗教科書選修1《算法與程序設計》第二章第三節的內容。主要內容是用選擇結構編寫簡單的程序解決具體問題,在理解了順序結構的前提下使得學生掌握VB語言的條件語句、多重選擇語句的格式、功能和執行過程,學會使用條件語句和多重選擇語句實現選擇控制結構,解決簡單的實際問題,并初步掌握調試、運行程序的方法。【教學對象分析】
高二的學生對事物的分析、綜合能力及獨立思考能力、分析解決問題的能力都達到了一定的水平,在教師的有效引導下,有能力進行自我探究。而且高二的學生已經在數學課上學習了一些算法的知識也已經接觸過一些程序案例,但是經過半年的時間,繁重學業的學生已經對本來在數學上都要求不高的算法知識已經遺忘了不少。而且對于學生來說,在數學課中接觸的主要是純數學問題。這些案例比較抽象,與生活實際相距較遠,不夠具體生動,學生大多是以一種被動接受的態度進行學習。如果能用一種學生比較感興趣的,貼近學生日常生活的例子來分析選擇結構的話,那么學生會比較感興趣,使得學生由“要我學”轉變為“我要學”,使得數學書本中學習的知識很好的幫助信息課《算法與程序設計》的學習。
【教學目標分析】
1、知識與能力
(1)掌握選擇結構的If條件語句的格式、功能和執行過程。(2)關系表達式與邏輯表達式的理解與運用。
(3)學會使用條件語句來實現選擇控制結構,解決實際問題。(4)進一步掌握VB程序調試運行的方法。
2、過程與方法
在老師的指導下,與同學共同探究問題,讓學生體驗自主學習、協助學習的樂趣。
3、情感態度與價值觀(1)培養學生的邏輯思維能力,促進學生對計算機解決問題方法的理解。(2)在自主探究解決問題的過程中,讓學生體驗學習的樂趣。【教學重點】
(1)理解并掌握選擇結構的格式、執行過程及其功能。
(2)理解多重選擇結構語句在解決多重選擇問題上的直觀、優越性。【教學難點】
學生理解并掌握選擇結構的格式、執行過程及其功能,并能動手設計程序解決生活中的實際問題。【教學理念和教學方法】
通過展示有趣的程序案例,來激發學生自主設計程序的興趣。其過程緊緊圍繞程序設計的“分析問題—設計算法—描述算法—設計程序—調試運行”的思想步驟,使學生養成良好的程序設計習慣。
在通過讀程序,改程序等環節的學習與動手實踐,從簡到難,逐步地掌握選擇結構的If語句,最終能夠使用計算機語言來解決實際問題。【教學過程】
一、情境引入
1、問題提出:根據數學公式(x>=0時,y=x;x<0時,y=-x)編寫一個程序
老師引入:通過對這個數學公式的分析請同學們思考用選擇結構中的哪個語句來解決,然后帶著這個問題進入本章內容的學習,課時結束前在回過頭來解決
2、選擇結構的概念了解,并且引出本章重點掌握的內容
二、了解選擇結構的各個環節
1、展示課件并解釋選擇結構的If語句中的單分支結構的基本格式及執行過程。
老師活動:請同學思考回答:如果a>b,要把這兩個數進行交換,你們有那些辦法?
學生回答:a=b,b=a(自我判斷,然后修改)老師活動:請同學們參照上面格式,完成下面的這個例題,獨立思考 學生活動:通過分析寫出程序代碼 老師活動:進入VB程序進行操作驗證 展示課件并解釋選擇結構的If語句中的雙分支結構的基本格式及執行過程。
老師活動:請大家編寫一個程序,判斷給定的成績是否及格。
根據題目帶著學生分析并且逐步寫出程序代碼,并到VB程序中進行操作演示
3、展示課件并解釋選擇結構的If語句中的多分支結構的基本格式及執行過程。
老師活動:了解了多分支結構的一般格式,下面我們就運用此格式來解決學分等級的問題
讀完題目進行分析,老師帶著學生一步一步的寫出代碼
老師活動:我們理解了If語句的三個結構,下面我們再延伸了解一下If語句的嵌套結構好不好?
學生活動:好
4、展示課件并解釋選擇結構的If語句的嵌套結構的基本格式及執行過程。
通過一個例題來理解嵌套結構的運用,老師給學生們分析解答并做相應的演示
老師活動:最后我們來學習選擇結構中的多重選擇語句——Select Case 語句
5、展示課件并解釋選擇結構的Select Case語句的基本格式及執行過程。
三、上機實踐
程序代碼編寫,解決問題
師生互動:學生編寫程序代碼,教師指導教學 Private Sub Command1_Click()Dim x As Integer, y As String x = Val(Text1.Text)Select Case x Case Is >= 90 y = “A” Case 80 To 89 y = “B” Case 70 To 79 y = “C” Case 60 To 69 y = “D” Case Else y = “E” End Select Text2.Text = y End Sub 老師活動:將Select Case語句與雙分支結構作比較
四、回顧測驗
老師活動:到這里我們已經介紹完了選擇結構的相關結構語句,下面我們再回過頭來解決留下的一個問題
請兩個同學到黑板上寫出程序代碼,并叫1-2個同學對其進行判斷修改
五、總結歸納,布置課后作業
1、課堂小結
單分支
if(表達式)
語句
雙分支
選擇結構
if(表達式)
語句1 else
語句2 if(表達式1)語句1
else if(表達式2)語句2 ……
else 語句n
多分支
if 語句的嵌套
Select case語句
2、課后作業:設計一個程序,輸入三角形的三邊,判斷是何類型的三角形,界面設計如下:
第三篇:循環結構程序設計教案
教學內容:循環結構程序設計 教學課時:2課時 【教學目的】
1、循環的基本思想
2、while、do-while和for
3、三種語句特點
4、孰能生巧 【教學重點】 三種循環語句的使用。【教學難點】 三種循環語句區別。【教學方法】 講解、演示、練習
第一課時
一、循環的基本思想
1、循環就是找規律,學習分析問題和解決問題的能力
2、講解案例灰太狼抓羊問題
3、分析抓羊規律,引出循環概念
二、while、do-while和for
1、分析灰太狼抓羊問題,提出解題思路
(一)設灰太狼每次抓羊i只
(二)設灰太狼一共抓到羊sum只
(三)設灰太狼每天抓羊后籠子里有羊sum + i只 其中:i為循環變量,sum + i為循環體
2、介紹while循環的一般形式
3、一邊分析一邊編程
(一)主函數
(二)定義變量
(三)運算過程
(四)輸出結果
4、編寫循環程序必須注意的幾個問題
(一)循環控制變量必須有正確的初值
(二)在循環體內應有改變其值的語句
(三)其值的改變應使得表達式的值最終趨向于零(循環結束條件),否則將形成死循環
5、引出do-while循環
6、介紹do-while循環的一般形式
7、使用do-while循環解決灰太狼抓羊問題
8、說明:while與do-while相似點
9、引出for循環
10、介紹for循環的一般形式
11、使用for循環解決灰太狼抓羊問題
12、說明:for循環中三個表達式使用方法
第二課時 一、三種語句特點
1、while與do-while的區別
2、兩語句與for的區別
二、孰能生巧
1、提出問題姜太公釣魚
2、分析題目中可用循環解決的規律問題
3、分析姜太公釣魚問題,提出解題思路
(一)設太公每次釣魚數量n = n + 2條
(二)設一共釣到魚的數量sum條
(三)設每天釣魚后魚的數量sum + n條
4、一邊分析一邊編程
(一)主函數
(二)定義變量
(三)運算過程
(四)輸出結果
5、課程小結
課后練習
1、概述三種循環語句while、do-while和for之間的區別與聯系。
2、計算無理數e的值,直到1/n!<10-5(P44,第4題)。
3、輸入任意字符串,把字符串中小寫字母轉換成大寫字母,并輸出結果(P44, 第3題)。
4、輸入5個整數,計算其中正數的和(P47,1)
5、編程顯示100以內所有能被3和7整除的整數(P47,6、輸出用戶輸入的兩個整數之間的所有偶數。
7、編程求1!+2!+3!+…+n!的和。
2)。
第四篇:分支結構程序設計教案
感受分支結構程序的作用
一、教學目標 1.知識與技能目標
(1)理解程序的分支結構。(2)了解編程思路。2.過程與方法目標
(1)借助多媒體教學,強化學生的理解力和注意力。(2)能根據問題設計界面和編寫程序。3.情感、態度與價值觀目標
(1)讓學生從無到有的探索過程中感受成功的喜悅。(2)培養學生探究精神與獨立操作能力。
二、教學重點和難點 1.教學重點:
使用visual basic語言的條件語句來實現分支結構,從而解決實際問題。
2、教學難點:
理解程序中流程的代碼描述。
三、教學方法
情境教學法、講授法、任務驅動法
四、教學準備
1、教學環境。多媒體網絡教室。
2、教學資源。
學生用機需要安裝好visual Bastc語言環境。任務卡
五、教學過程
1.創設情境,導入新課
ppt演示導出課題“分支結構”通過鏈接到“體型判斷”小程序,然后讓同學們自己推薦同學來測試是否偏胖或偏瘦或正常。學生的興趣度很高,積極的配合。
設計意圖:引起學生興趣,激發學生的學習熱情,點名課題。2.講授新課
(1)給出標準體重的計算公式,并簡介如何評判體型。
(2)列舉生活中需要進行條件選擇的例子來講解,幫學生理解分支結構程序設計的概念。(3)關系表達式和邏輯表達式的簡介。(4)畫出if語句流程圖,了解簡單的if語句。
(5)教師操作“體型判斷”的案例,介紹框架控件的使用,編寫部分程序,回憶舊知。
設計意圖:師生共同構思,寫出“體型判斷”源程序,讓學生對分支結構的理解更深刻。
3.布置作業,鞏固提高
以書本上的典型案例“體型判斷”讓學生操作,有不懂的看書本或任務卡。(巡回指導,及時幫學生解決操作過程中存在的問題)
4.歸納總結,加強記憶
先讓學生們歸納總結本節課所學的內容,然后教師總結,讓學生有一個更深刻的印象,并強調應注意的幾個問題。
設計意圖:課堂小結的目的是強化認識,可以把課堂傳授的知識盡快地轉化為學生的知識;簡單扼要的課堂小結,可使學生更深刻地理解分支結構程序設計在實際生活中的應用。
六、課后反思
整節課以學生動手為主,學生的興趣濃厚,課堂充滿活力,能夠達到預期目的。學生基本上都完成了課堂作業,但是已經做好的同學還沒能形成先預習下節課要講的內容的好習慣,總體來說這節課是相對成功的。
第五篇:《visual basic 6.0程序設計》選擇結構教案
課題 選擇結構
教學目標: 知識目標:
1、理解選擇結構的思想。
2、掌握IF語句格式和SELECT格式 技能目標:
1、IF語句和SELECT語句的使用方法
2、IIF函數的使用方法
教學重點:利用IF語句和SELECT語句進行選擇結構程序設計 教學難點:IF語句格式的正確理解 教學方法:任務驅動、演示講解
教學用時:講授1課時,實訓2課時 教學過程:
一、導入新課:
程序語言主要有三種結構:順序結構、條件結構、循環結構。順序結構就是按照程序的書寫順序逐條執行下去。這堂課我們開始來學習條件結構語句。
二、講授新課:
任務5 改變窗體的顏色 【任務描述】
在本任務中創建一個應用程序,每當用鼠標單擊窗口時,窗口的背景就變換一種顏色,窗口的背景顏色在紅、綠、藍三色之間循環,如圖2-6所示。
【任務分析】
? 改變窗口背景顏色就是改變窗口的BackColor屬性值。預定義符號常量vbRed、vbGreen和vbBlue分別表示三種顏色,單擊窗口時依次把這些顏色值賦給窗口的BackColor屬性,就可以實現窗口的三色循環。定義一個計數器,在程序運行過程中,單擊窗口時,計數器的值加1,判斷計數器的值,設置相應的顏色。顏色有三種,計數器的取值也只能是1~3,當計數器的值大于3時,使計數器的值歸1。
【設計步驟】
略
【程序測試】略 【知識鏈接】
在日常生活中經常遇到判斷問題,把這些判斷問題編寫成程序,就需要使用到選擇語句(IF語句),IF語句通過對條件的判斷,來選擇執行的語句。1.If語句
? 單行形式:
If 條件 Then [語句1][Else 語句2] ? 塊形式的If語句格式: If <條件1> Then
[語句塊1]
[ElseIf <條件2> Then
[語句塊2].[ElseIf <條件3> Then
[語句塊3]
...[Else
[語句塊n]] End If 2.IIf函數
Result=IIf(條件,True部分,False部分)舉例講解
任務6 值班情況查詢 【任務描述】
在本任務中制作一個學校的電子值班安排表,供師生查詢,運行結果如圖2-7所示。
【任務分析】
一個星期內的值班安排,最多有7種情況,輸入1~7中的一個數字,根據輸入的數字用Select Case 語句進行判斷,并給出相應的提示信息。對于輸入小于
1、大于7的的情況也應進行適當處理。【設計步驟】演示講解 【知識鏈接】
Select Case語句根據測試表達式的值,從多個語句塊中選擇一個符合條件的語句塊執行。語法格式如下: Select Case <測試表達式> Case 表達式列表1
語句塊1 [Case 表達式列表2
語句塊2]
...[Case Else
語句塊n] End Select ? 其中測試表達式可以是數值或字符串表達式;每個“表達式列表”可以是一個表達式、一組用逗號分隔的枚舉值(如1, 2, 3)、表達式1 to 表達式2(如1 to 5)、Is 關系運算符 表達式(如Is < 3)。? Select Case語句執行的流程是:對測試表達式進行測試并檢查表達式列表1,若為真,則執行語句塊1并結束選擇;若為假,繼續檢查下一個條件。如果都不為真,則執行語句塊n。如果沒有語句塊n,則什么也不做就結束選擇。
三、總結實訓
1、任務
5、任務6
2、實訓2(4,5,6)