中等職業(yè)技術(shù)學(xué)校c語言電子教案_第1頁
中等職業(yè)技術(shù)學(xué)校c語言電子教案_第2頁
中等職業(yè)技術(shù)學(xué)校c語言電子教案_第3頁
中等職業(yè)技術(shù)學(xué)校c語言電子教案_第4頁
中等職業(yè)技術(shù)學(xué)校c語言電子教案_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

-.z.中等職業(yè)技術(shù)學(xué)校教案教學(xué)單位:京山縣中等職業(yè)技術(shù)學(xué)校課程名稱:C語言學(xué)習(xí)與應(yīng)用任課班級:計算機(jī)應(yīng)用班任課教師:

教案書寫說明教案又稱課時授課方案,是任課教師的教學(xué)實施方案。任課教師應(yīng)遵循專業(yè)教學(xué)方案制訂的培養(yǎng)目標(biāo),以教學(xué)大綱為依據(jù)、教材為藍(lán)本,在熟悉教材,了解學(xué)生的根底上,結(jié)合教學(xué)實踐經(jīng)歷,提前編寫設(shè)計好每堂課的全部教學(xué)活動。教案書寫應(yīng)包括以下內(nèi)容:⒈課題:授課題〔章節(jié)〕名。⒉課型:分理論講授課、實驗(實訓(xùn))課、實習(xí)(見習(xí))課等。講授課又分新授課或復(fù)習(xí)課。⒊教學(xué)目的:本課題教學(xué)應(yīng)到達(dá)的目的。⒋教學(xué)重點(diǎn):本課題〔章節(jié)〕的教學(xué)重點(diǎn)分別列出。⒌教學(xué)難點(diǎn):本課題〔章節(jié)〕的教學(xué)難點(diǎn)分別列出。⒍教學(xué)方法:指本課題使用的教學(xué)方法和手段。⒎課時安排:本課題〔章節(jié)〕總方案課時數(shù)。⒏教學(xué)內(nèi)容:本課題〔章節(jié)〕主要內(nèi)容。⒐作業(yè)及實踐:包括思考題、討論題、實驗題目、實訓(xùn)題目等。⒑教學(xué)后記:授課完畢后的教學(xué)小結(jié)、心得體會等。

京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題C語言概述教學(xué)目標(biāo)了解C語言出現(xiàn)的歷史背景正確理解C語言特點(diǎn)熟悉簡單C程序構(gòu)造、特點(diǎn)、執(zhí)行過程掌握運(yùn)行C程序步驟與方法重點(diǎn)難點(diǎn)正確理解C語言特點(diǎn)熟悉簡單C程序構(gòu)造、特點(diǎn)、執(zhí)行過程教學(xué)資源準(zhǔn)備教案、實例教學(xué)活動流程設(shè)計旁注第1章C語言概述§1.1C語言出現(xiàn)的歷史背景程序設(shè)計語言的開展機(jī)器語言:計算機(jī)能直接識別的語言。匯編語言:助記符編寫的語言。高級語言:面向?qū)ο蟪绦蛟O(shè)計語言〔如VB程序設(shè)計語言、JAVA程序設(shè)計語言〕和面向過程程序設(shè)計語言。2、C語言出現(xiàn)歷史背景〔1〕時間:1972–1973〔2〕地點(diǎn):美國貝爾實驗室〔3〕目的:開發(fā)UNI*操作系統(tǒng)§1.2C語言特點(diǎn)語言簡潔、緊湊、靈活運(yùn)算符和數(shù)據(jù)類型豐富程序設(shè)計構(gòu)造化、模塊化生成目標(biāo)代碼質(zhì)量高可移植性好§1.3簡單C程序介紹例1.1第一個程序Hello,World!教學(xué)活動流程設(shè)計旁注#include<stdio.h>main(){printf("Hello,World!〞);}說明:1、#include<stdio.h>是文件包含編譯預(yù)處理命令,stdio.h是標(biāo)準(zhǔn)輸入輸出頭文件main為主函數(shù),每個C程序有且必須有一個主函數(shù),無論其位置在哪,程序總是從main函數(shù)開場執(zhí)行printf是C語言中的輸出函數(shù),雙引號中的字符串原樣輸出;分號是C語言中的語句完畢標(biāo)志例1.2求兩數(shù)之和#include<stdio.h>main(){inta,b,sum;/*Definatethreevariables*/a=123;b=456;sum=a+b;printf("Sumis%d〞,sum);}說明:1、%d是輸出格式字符,控制輸出時的數(shù)據(jù)類型和格式,表示十進(jìn)制整數(shù)2、/**/為注釋例1.3求任意兩數(shù)之和#include<stdio.h>main(){inta,b,sum;scanf("%d,%d〞,&a,&b);sum=add(a,b);printf("Sum=%d〞,sum);}intadd(int*,inty){intz;z=*+y;return(z);}說明:1、scanf是C語言中的輸入函數(shù),從鍵盤讀入兩個十進(jìn)制整數(shù),分別放入變量a和b對應(yīng)的地址單元中2、調(diào)用函數(shù)add,定義函數(shù)add,函數(shù)返回值為整型,形參*和y為整型3、return將z值返回,賦給sumC語言的格式特點(diǎn):習(xí)慣用小寫字母,大小寫敏感不使用行號,無程序行概念可使用空行和空格構(gòu)造特點(diǎn):C程序由函數(shù)構(gòu)成C程序由語句組成/**/為注釋,不產(chǎn)生編譯代碼教學(xué)活動流程設(shè)計旁注§1.4C程序的上機(jī)步驟C程序開發(fā)步驟編輯源程序:擴(kuò)展名為.c編譯目標(biāo)程序:擴(kuò)展名為.obj連接成可執(zhí)行程序:擴(kuò)展名為.e*e2、VC++6.0集成開發(fā)環(huán)境的使用方法〔1〕啟動VC++6.0,建立一工作區(qū)〔2〕在此工作區(qū)中建立一工程〔3〕在此工程中建立一文件〔注意擴(kuò)展名為.c〕編輯后執(zhí)行程序作業(yè)1、簡述C程序的特點(diǎn);2、編寫一個簡單的C程序,在屏幕上顯示"IStudyCProgramming〞板書設(shè)計第一章C語言設(shè)計概述C語言的歷史背景C語言的特點(diǎn)簡單C程序介紹C程序的組成C程序的上機(jī)步驟作業(yè)教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題算法1教學(xué)目標(biāo)算法的表示形式-----流程圖C中數(shù)據(jù)類型的分類常量與變量整型數(shù)據(jù)表示方法、存儲形式、分類重點(diǎn)難點(diǎn)整型數(shù)據(jù)在內(nèi)存中的存放形式如何解決整數(shù)的溢出問題教學(xué)資源準(zhǔn)備教案、實例教學(xué)活動流程設(shè)計旁注算法的概念算法:為解決一個問題而采取的方法和步驟。程序=算法+數(shù)據(jù)構(gòu)造算法是程序的靈魂簡單算法舉例1、求1×2×3×4×5§2.3算法的特性1)有窮性2)確定性3)有0個或多個輸入4)有一個或多個輸出5)有效性怎樣表示一個算法一、算法的表示形式1、用自然語言表示2、用流程圖表示3、用偽代碼表示4、用計算機(jī)語言表示二、流程圖:傳統(tǒng)流程圖、N-S流程圖1、傳統(tǒng)流程圖的表示方法2、三種根本構(gòu)造傳統(tǒng)流程圖與N-S流程圖教學(xué)活動流程設(shè)計旁注一、數(shù)據(jù)與數(shù)據(jù)類型1、數(shù)據(jù):程序加工處理的對象。2、數(shù)據(jù)類型:具有*種性質(zhì)數(shù)據(jù)的集合。二、C中數(shù)據(jù)類型整型字符型單精度型根本類型浮點(diǎn)型雙精度型枚舉型數(shù)組C中數(shù)據(jù)類型構(gòu)造類型構(gòu)造體共用體指針類型空類型常量與變量一、常量1、定義:在程序運(yùn)行過程中其值保持不變的量。2、常量類型數(shù)值型整型(123)、實型(12.3)字符型字符型(‘a(chǎn)’)、字符串型("a〞)符號常量:#definePAI3.1415926二、變量1、定義:在程序運(yùn)行過程中其值可以改變的量。2、變量在內(nèi)存中存放形式:一個變量有一個名字,并在內(nèi)存中占一定的存儲單元,用來存放變量的值。4、變量的定義格式(變量必須先定義后使用)類型說明符變量名1,變量名2,………..,變量名n;例:inta,b,c;3整型數(shù)據(jù)一、整型常量的表示方法1、十進(jìn)制:1232、八進(jìn)制:0123=(123)83、十六進(jìn)制:0*123=(123)16二、整型變量1、整型數(shù)據(jù)在內(nèi)存中的存放形式在內(nèi)存中以二進(jìn)制補(bǔ)碼的形式存放,占用2個字節(jié)的內(nèi)存空間數(shù)的編碼:原碼、反碼、補(bǔ)碼原碼:數(shù)的二進(jìn)制編碼。反碼:正數(shù)等于原碼,負(fù)數(shù)將原碼逐位變反〔符號位為1〕補(bǔ)碼:正數(shù)等于原碼,負(fù)數(shù)將原碼變反末位加1。2、整型變量分類根本型:無符號unsignedint、有符號int短整型:無符號unsignedshortint、有符號shortint長整型:無符號unsignedlongint、有符號longint教學(xué)活動流程設(shè)計旁注3、例題(整型數(shù)據(jù)的溢出問題)main(){inta,b;a=32767;b=a+1;printf("%d,%d〞,a,b);}作業(yè)1、簡述C程序中有哪些常用的數(shù)據(jù)類型;2、P15/3,5板書設(shè)計算法算法的根本概念;C語言中的數(shù)據(jù)構(gòu)造;常量;變量;變量的種類;例題分析教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題浮點(diǎn)型數(shù)據(jù)教學(xué)目標(biāo)浮點(diǎn)型數(shù)據(jù)與字符型數(shù)據(jù)的分類、表示方法與存儲形式變量的賦值形式各種類數(shù)值型數(shù)據(jù)間相互轉(zhuǎn)換的規(guī)則與方法重點(diǎn)難點(diǎn)靈活掌握各種數(shù)據(jù)的存儲形式教學(xué)資源準(zhǔn)備教案、實例教學(xué)活動流程設(shè)計旁注一、浮點(diǎn)型常量的表示方法1、十進(jìn)制小數(shù):數(shù)字+小數(shù)點(diǎn)例:0.123,123.0,.4562、指數(shù)形式:123×102=123e2=1.23e4要求:E前必須有數(shù)字,E后數(shù)字必須為整數(shù)。標(biāo)準(zhǔn)化指數(shù)形式:小數(shù)點(diǎn)左側(cè)有且僅有一位非零數(shù)字。二、浮點(diǎn)型變量1、浮點(diǎn)型數(shù)據(jù)在內(nèi)存中存放形式指數(shù)形式存放,占用4個字節(jié),如下圖小數(shù)符號小數(shù)指數(shù)符號指數(shù)例:1.23e4+1.23+4結(jié)論:小數(shù)位數(shù)越多,精度越高;指數(shù)位數(shù)越多,范圍越大。2、浮點(diǎn)型變量分類單精度:float雙精度:double長雙精度:longdouble3、舍入誤差:見書中例題。教學(xué)活動流程設(shè)計旁注字符型數(shù)據(jù)一、字符常量1、定義:用一對單引號括起來的一個字符或以\開頭的字符序列?!產(chǎn)‘,\n(又稱轉(zhuǎn)義字符)2、轉(zhuǎn)義字符〔見書中表〕例:\101=1*80+1*82=65即表示字母A二、字符變量1、定義格式:charc1,c2;2、作用:存放一個字符4、字符串常量定義:用一對雙引號括起來的字符序列在內(nèi)存中存放形式:末尾加串完畢標(biāo)志\0〔系統(tǒng)自動加〕例:"HELLO〞HELLO\0字符串常量不能賦給一個字符變量。例:charc1;/*字符變量*/c1=〞hello〞/*賦值錯誤*/變量賦初值一、賦值形式1、定義變量時賦值inta=3;floatf=3.56;charc=’a’;2、局部賦值inta,b,c=5;3、賦同一個初值inta=3,b=3,c=3;教學(xué)活動流程設(shè)計旁注浮點(diǎn)型數(shù)據(jù)與字符型數(shù)據(jù)的分類、表示方法與存儲形式變量的賦值形式各種類數(shù)值型數(shù)據(jù)間相互轉(zhuǎn)換的規(guī)則與方法作業(yè)1、P17/1,22、P18/3板書設(shè)計浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型常量的表示方法;浮點(diǎn)型變量的分類〔單精度、雙精度、長雙精度〕;常量;變量;字符常量;字符變量;例題分析;教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題簡單程序的調(diào)試及數(shù)學(xué)運(yùn)算符教學(xué)目標(biāo)通過上機(jī)調(diào)試程序掌握各種數(shù)據(jù)類型的表示方法、存儲形式掌握各種不同數(shù)據(jù)間混合運(yùn)算的運(yùn)算規(guī)則掌握各種運(yùn)算符的使用方法通過程序調(diào)試正確理解各種表達(dá)式的運(yùn)算結(jié)果重點(diǎn)難點(diǎn)掌握各種運(yùn)算符的使用方法教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注上機(jī)按要求調(diào)試下程序輸入并運(yùn)行下程序main(){inta,b;a=32767;b=a+1;printf("%d,%d\n〞,a,b);}輸入并運(yùn)行下程序main(){charc1,c2;c1=’a’;c2=’b’;printf("%c,%c\n〞,c1,c2);}將上面printf語句改成printf("%d,%d\n〞,c1,c2);結(jié)果?將charc1,c2;改成intc1,c2;結(jié)果?將c1=’a’;c2=’b’;改成c1="a〞;c2="b〞;結(jié)果?將c1=’a’;c2=’b’;改成將c1=300;c2=400;改成結(jié)果?3、輸入并運(yùn)行下程序main(){charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf("a%cb%c\tc%c\tabc\n〞,c1,c2,c3);printf("%c%c\n〞,c4,c5);}教學(xué)活動流程設(shè)計旁注輸入并運(yùn)行下程序main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n〞,i,j,m,n);}將m=++i;n=j++;改成m=i++;n=++j;結(jié)果?將m=++i;n=j++;刪除并將printf("%d,%d,%d,%d\n〞,i,j,m,n);改為printf("%d,%d,%d,%d\n〞,i,j,i++,j++);結(jié)果?算術(shù)運(yùn)算符和算術(shù)表達(dá)式一、算術(shù)運(yùn)算符和算術(shù)表達(dá)式1、根本算術(shù)運(yùn)算符+〔加法或正值運(yùn)算〕1+2,+100-〔減法或負(fù)值運(yùn)算〕1-2,-100*〔乘法運(yùn)算符〕1*2/〔除法運(yùn)算符〕1/2兩整數(shù)相除結(jié)果為整數(shù)。?=0%〔模或取余運(yùn)算符〕要求運(yùn)算符兩側(cè)均為整數(shù)如5/3=12、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性1〕算術(shù)表達(dá)式的定義:由算術(shù)運(yùn)算符、括號將操作數(shù)連接起來符合C語法規(guī)則的式子。2〕優(yōu)先級與結(jié)合性*/%高〔左至右結(jié)合〕+-低〔左至右結(jié)合〕例題:*/〔67-〔12+Y〕*A〕判斷計算先后順序?3、強(qiáng)制類型轉(zhuǎn)換運(yùn)算符1〕轉(zhuǎn)換格式:〔類型名〕〔表達(dá)式〕作用:將表達(dá)式轉(zhuǎn)換成所需的格式。main(){float*;intI;*=3.6;I=(int)*;printf("*=%f,I=%d〞,*,I);}4、自增、自減運(yùn)算符1〕++i,--i(先使i的值加1或減1,再使用i)2〕i++,i--〔先使用i,再使i加1或減1〕3〕++與--只能用于變量,不能用于常量或表達(dá)式例:5++,(3*8)++錯誤4〕++與--結(jié)合方向自右向左。-I++=-(I++)I=3;printf("%d,%d〞,I,I++);教學(xué)活動流程設(shè)計旁注賦值運(yùn)算符和賦值表達(dá)式一、賦值運(yùn)算符1、運(yùn)算符:為等號"=〞2、與數(shù)學(xué)運(yùn)算的區(qū)別數(shù)學(xué)運(yùn)算符是判斷等號兩側(cè)的數(shù)值是否相等。賦值運(yùn)算符是將等號右側(cè)的數(shù)值賦給左側(cè)。3、類型轉(zhuǎn)換1)將實數(shù)賦給整數(shù),舍去小數(shù)局部。2)將整數(shù)賦給單雙精度變量時,數(shù)值不變,但以浮點(diǎn)形式存儲到變量中。3)將一個double賦給float時,截取前7位有效數(shù)字。4)將字符型賦給整型時,無符號時高8位補(bǔ)零,有符號時,高8位補(bǔ)15)將一個intshortlong賦給一個char時,只將低8位賦給char4、復(fù)合賦值運(yùn)算符定義:在賦值運(yùn)算符前加其他運(yùn)算符a+=b等價a=a+b*%=y+3等價*=*%(y+3)5、賦值表達(dá)式格式:<變量><賦值運(yùn)算符><表達(dá)式>作業(yè)1、上機(jī)調(diào)試課堂上所學(xué)的實例;2、寫出上機(jī)調(diào)試程序時出現(xiàn)的錯誤及解決方法;3、P19/4,5板書設(shè)計程序調(diào)試及算術(shù)、關(guān)系運(yùn)算符上機(jī)調(diào)試課件中的程序;上機(jī)調(diào)試?yán)?及例2;算術(shù)運(yùn)算符和算術(shù)表達(dá)式;關(guān)系運(yùn)算符及關(guān)系表達(dá)式;理解賦值號與數(shù)學(xué)中等于號的區(qū)別;教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題運(yùn)算符與表達(dá)式詳解教學(xué)目標(biāo)運(yùn)算符的各類表達(dá)式的種類算術(shù)運(yùn)算符自增自減運(yùn)算重點(diǎn)難點(diǎn)算術(shù)運(yùn)算符自增自減運(yùn)算教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注運(yùn)算符與表達(dá)式詳解【問題】日常生活中我們會進(jìn)展各種各樣的數(shù)據(jù)運(yùn)算。在C語言中將如何表示這些運(yùn)算呢?C語言的運(yùn)算符非常豐富。除控制語句、輸入輸出語句以外的幾乎所有的根本操作都作為運(yùn)算符處理的。運(yùn)算符的使用方法也非常靈活,這是C語言的主要特點(diǎn)。C語言運(yùn)算符一般可分為以下幾類:1.算術(shù)運(yùn)算符+-*/%2.關(guān)系運(yùn)算符>>=<<===!=3.邏輯運(yùn)算符!&||4.位運(yùn)算符<<>>~|^&5.賦值運(yùn)算符=及其擴(kuò)展賦值運(yùn)算符6.條件運(yùn)算符":7.逗號運(yùn)算符,8.指針運(yùn)算符*&9.求字節(jié)數(shù)運(yùn)算符sizeof10.類型轉(zhuǎn)換運(yùn)算符〔類型〕教學(xué)活動流程設(shè)計旁注11.分量運(yùn)算符.->12.下標(biāo)運(yùn)算符[]13.其他如函數(shù)調(diào)用運(yùn)算符〔〕本節(jié)將重點(diǎn)介紹算術(shù)運(yùn)算符、賦值運(yùn)算符、逗號運(yùn)算符,其他運(yùn)算符將在以后各章中陸續(xù)介紹。詳細(xì)的運(yùn)算符列表見附錄。算術(shù)運(yùn)算符與算術(shù)表達(dá)式1.算術(shù)運(yùn)算符C語言中根本的算術(shù)運(yùn)算符共有5種:+〔加〕,-〔減〕,*〔乘〕,/〔除〕,%〔取模,或稱求余運(yùn)算符〕C語言規(guī)定:(1)%〔取模運(yùn)算符〕,僅用于整型變量或整型常量的運(yùn)算,如:7%3,其值為1。(2)/(除運(yùn)算符),當(dāng)對兩個整型的數(shù)據(jù)相除時結(jié)果為整數(shù),如:7/3,其值為2,舍去小數(shù)局部,相當(dāng)于整除操作。2.算術(shù)表達(dá)式(1)算術(shù)表達(dá)式定義由算術(shù)運(yùn)算符、括號以及操作對象組成的符合C語言語法規(guī)則的表達(dá)式稱為算術(shù)表達(dá)式。如:a+b-c/d*(a-c)。(2)優(yōu)先級一個表達(dá)式中假設(shè)有多個運(yùn)算符混合在一起,則計算的先后次序為先算括號,再根據(jù)相應(yīng)運(yùn)算符的優(yōu)先級,高的優(yōu)先。乘、除、取模運(yùn)算符的優(yōu)先級高于加、減運(yùn)算符的優(yōu)先級,即先乘、除、取模,后加、減。算術(shù)運(yùn)算符的優(yōu)先級在所有運(yùn)算符中是較高的,僅次于括號、單目運(yùn)算符、類型轉(zhuǎn)換運(yùn)算符和求字節(jié)數(shù)運(yùn)算符。(3)結(jié)合方向當(dāng)一個運(yùn)算對象兩側(cè)的運(yùn)算符的優(yōu)先級別不同時,應(yīng)遵循優(yōu)先級高的先處理的規(guī)則。當(dāng)一個運(yùn)算對象兩側(cè)的運(yùn)算符的優(yōu)先級別一樣時,應(yīng)遵循運(yùn)算符的結(jié)合方向。算術(shù)運(yùn)算符的結(jié)合方向是從左至右。3.自增自減運(yùn)算符C語言中,增1運(yùn)算也可以寫為++運(yùn)算;減1運(yùn)算也可以寫為--運(yùn)算。++和--運(yùn)算是C語言中兩個較為獨(dú)特的單目運(yùn)算符。它們既可以放在操作數(shù)前,也可以放在操作數(shù)后,并且操作對象只能是變量,不能是常量或表達(dá)式。自增自減運(yùn)算符的作用是將操作對象的值增加1或減去1。雖然自增自減運(yùn)算符既可用于前綴運(yùn)算,也可用于后綴運(yùn)算,但其意義不同。i++,i--/*表示在使用i值之后將i的值加(減)1*/++i,--i/*表示在使用i值之前將i的值加(減)1*/例如:設(shè)i的原值為5,則執(zhí)行下面的賦值語句:j=i++;/*先將i的值賦給j,i再自增1,賦值語句執(zhí)行完后i的值為6,j的教學(xué)活動流程設(shè)計旁注值為5*/j=++i;/*先將i的值自增1,再賦給j,賦值語句執(zhí)行完后i的值為6,j的值為6*/【例】輸出下面程序中i的值/*E*2-3.C*/main(){inti=5,j;j=++i+i++;/*一個前增1使i變成6后才進(jìn)展加法運(yùn)算,實際是6+6*/printf("%d%d\n",i,j);j=(++i)+(++i)+(i++);printf("%d%d\n",i,j);printf("%d%d\n",i+j,j++);}運(yùn)行結(jié)果為:71210273827作業(yè):P27/1,2,3P29/3板書設(shè)計運(yùn)算符與表達(dá)式詳解運(yùn)算符的種類;表達(dá)式的種類;常用的算術(shù)運(yùn)算符;自增與自減運(yùn)算習(xí)題分析教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題賦值運(yùn)算符與逗號運(yùn)算符教學(xué)目標(biāo)賦值運(yùn)算逗號表達(dá)式復(fù)合運(yùn)算重點(diǎn)難點(diǎn)賦值運(yùn)算符與數(shù)學(xué)中等號的區(qū)別逗號表達(dá)式教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注一、賦值運(yùn)算1.賦值運(yùn)算符C語言中賦值運(yùn)算符為"=〞,它的作用是將賦值運(yùn)算符右邊表達(dá)式或常量的值賦給其左邊的變量。例如:a=5;/*表示把一個常量5賦給變量a*/*=a+5;/*表示將表達(dá)式a+5的值賦給變量**/【注意】如果賦值運(yùn)算符兩側(cè)的類型不一致,在賦值時要進(jìn)展類型轉(zhuǎn)換。我們將在下一節(jié)"賦值轉(zhuǎn)換〞中給大家作說明。2.復(fù)合賦值運(yùn)算符C語言允許在賦值運(yùn)算符"=〞之前加上其他運(yùn)算符以構(gòu)成復(fù)合的賦值運(yùn)算符。但凡雙目運(yùn)算符,都可以和賦值運(yùn)算符一起組合成復(fù)合的賦值運(yùn)算符。在C語言中,可以使用的復(fù)合賦值運(yùn)算符有:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=例如:a+=5;等價于a=a+5;教學(xué)活動流程設(shè)計旁注a*=b+5;等價于a=a*(b+5);a%=5;等價于a=a%8;C語言中采用這種復(fù)合運(yùn)算符,一是為了簡化程序,使程序精練;二是為了提高編譯效率,產(chǎn)生質(zhì)量較高的目標(biāo)代碼。3.賦值表達(dá)式(1)賦值表達(dá)式的一般形式為:(變量)(賦值運(yùn)算符)(表達(dá)式)其功能是將賦值運(yùn)算符右邊的"表達(dá)式〞的值賦給賦值符號左邊的變量。整個賦值表達(dá)式的值就是被賦值的變量的值。例如:b=4;/*表示把4賦值給變量b,整個賦值表達(dá)式的值為4*/賦值表達(dá)式也可以包含復(fù)合的賦值運(yùn)算符,例如:a+=a-=a*a;設(shè)a的初值為5,其求解步驟為:①先計算表達(dá)式a-=a*a的值,它相當(dāng)于a=a-a*a=5-5*5=-20②再計算a+=-20的值,它相當(dāng)于a=a+(-20)=-20-20=-40賦值表達(dá)式中的"表達(dá)式〞又可以是一個賦值表達(dá)式,例如:a=(b=5);括號內(nèi)的b=5表示一個賦值表達(dá)式,其值為5。整個賦值表達(dá)式相當(dāng)于是由b=5和a=b兩個賦值表達(dá)式組合而成的。因此a的值為變量b的值,也為5。這個賦值表達(dá)式的值為變量a的值,也為5。(2)優(yōu)先級賦值運(yùn)算符的優(yōu)先級較低,在所有運(yùn)算符中,它的優(yōu)先級僅高于逗號運(yùn)算符。例如:a=b+6;/*由于賦值運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符,所以先算b+6再做賦值運(yùn)算*/(3)結(jié)合性賦值表達(dá)式按照自右向左的順序結(jié)合,例如:a=5+(b=6);先做表達(dá)式b=6,得到變量b的值為6,表達(dá)式的值為6;再做a=5+6,由于賦值運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符,所以先算5+6的結(jié)果為11,再做a=11的賦值運(yùn)算。二、逗號運(yùn)算符與逗號表達(dá)式1.逗號運(yùn)算符C語言提供一種特殊的運(yùn)算符—逗號運(yùn)算符。逗號運(yùn)算符為",〞。用逗號運(yùn)算符可以將兩個表達(dá)式連接起來。如:2+3,2+52.逗號表達(dá)式(1)逗號表達(dá)式就是用逗號運(yùn)算符把兩個表達(dá)式連接起來所形成的表達(dá)式。其一般形式為:教學(xué)活動流程設(shè)計旁注(表達(dá)式1),(表達(dá)式2)逗號表達(dá)式的求值過程是:先求表達(dá)式1的值,再求表達(dá)式2的值,表達(dá)式2的值就是整個逗號表達(dá)式的值。如上面的表達(dá)式先求2+3的值為5,再求2+5的值為7,最后整個逗號表達(dá)式的值為表達(dá)式2+5的值7。【例】分析下面程序的運(yùn)行結(jié)果/*E*2-4.C*/main(){inty=3,*=3,z=1;printf("%d%d\n",(++*,y++),z+2);}運(yùn)行結(jié)果為:作業(yè)P29/5,6,7,8上機(jī)調(diào)試程序運(yùn)行結(jié)果板書設(shè)計賦值運(yùn)算符、逗號表達(dá)式賦值運(yùn)算符賦值運(yùn)算與數(shù)學(xué)中等號的區(qū)別逗號表達(dá)式復(fù)合運(yùn)算習(xí)題講解教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題數(shù)據(jù)類型轉(zhuǎn)換教學(xué)目標(biāo)類型的自動轉(zhuǎn)換賦值的轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換重點(diǎn)難點(diǎn)類型自動轉(zhuǎn)換的規(guī)則教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注數(shù)據(jù)類型轉(zhuǎn)換C語言中,各種類型的數(shù)據(jù)可以混合運(yùn)算。字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。不同類型的數(shù)據(jù)在進(jìn)展混合運(yùn)算時,往往需要進(jìn)展類型轉(zhuǎn)換,將不同類型的數(shù)據(jù)轉(zhuǎn)換成同種類型的然后進(jìn)展計算。類型轉(zhuǎn)換有三種方式:類型自動轉(zhuǎn)換;賦值轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。一、類型自動轉(zhuǎn)換不同類型的數(shù)據(jù)可以進(jìn)展混合運(yùn)算,例如:10+'a'+2.5*'b'在進(jìn)展混合運(yùn)算時,不同類型的數(shù)據(jù)首先要轉(zhuǎn)換成同一類型,然后才能進(jìn)展運(yùn)算。自動轉(zhuǎn)換規(guī)則為:(1)單精度浮點(diǎn)型數(shù)據(jù)〔float〕在運(yùn)算時自動轉(zhuǎn)換成雙精度浮點(diǎn)型數(shù)據(jù)〔double〕。(2)字符型數(shù)據(jù)〔char〕和短整型數(shù)據(jù)〔short〕在運(yùn)算時自動轉(zhuǎn)換成整型數(shù)據(jù)〔int〕。(3)整型數(shù)據(jù)〔int〕和無符號型數(shù)據(jù)〔unsigned〕混合運(yùn)算時,將整型數(shù)據(jù)轉(zhuǎn)換成無符號型數(shù)據(jù)。教學(xué)活動流程設(shè)計旁注(4)整型數(shù)據(jù)〔int〕或無符號型數(shù)據(jù)〔unsigned〕和長整型數(shù)據(jù)〔long〕混合運(yùn)算時,都轉(zhuǎn)換成長整型數(shù)據(jù)。(5)整型數(shù)據(jù)〔int〕、無符號型數(shù)據(jù)〔unsigned〕、長整型數(shù)據(jù)〔long〕和浮點(diǎn)型數(shù)據(jù)混合運(yùn)算時,都轉(zhuǎn)換成浮點(diǎn)型數(shù)據(jù)。依次方式類推,轉(zhuǎn)換規(guī)則如圖2-2:高doublefloatlongunsigned低intchar,short圖2-2自動類型轉(zhuǎn)換規(guī)則總之,在自動類型轉(zhuǎn)換時總是按照精度不降低的原則從低級向高級進(jìn)展轉(zhuǎn)換的。例如上面例子中給出的表達(dá)式10+'a'+2.5*'b',在運(yùn)算時,先將所有的字符類型數(shù)據(jù)'a'和'b'轉(zhuǎn)換成整型,再從左向右進(jìn)展運(yùn)算。遇到浮點(diǎn)型數(shù)據(jù)時,將整型數(shù)據(jù)自動轉(zhuǎn)換為浮點(diǎn)型數(shù)據(jù)。最后表達(dá)式的值為浮點(diǎn)型數(shù)據(jù),并且按照浮點(diǎn)型數(shù)據(jù)的運(yùn)算規(guī)則進(jìn)展運(yùn)算。例如:設(shè)有以下變量定義,并已賦確定的值charw;int*;floaty;doublez;則表達(dá)式:w+*+z/y值的數(shù)據(jù)類型為double說明:此表達(dá)式中y為float類型的數(shù)據(jù),所以所有數(shù)據(jù)都自動轉(zhuǎn)換成浮點(diǎn)類型,并且按照浮點(diǎn)型數(shù)據(jù)的運(yùn)算規(guī)則進(jìn)展運(yùn)算。二、賦值轉(zhuǎn)換如果賦值運(yùn)算符兩側(cè)的類型不一致〔但都是數(shù)值型或字符型〕時,在賦值過程中會進(jìn)展類型轉(zhuǎn)換。轉(zhuǎn)換的根本原則是:(1)當(dāng)整型數(shù)據(jù)賦給浮點(diǎn)型變量時,數(shù)值上不發(fā)生任何變化,但有效位增加。如:floatf;f=4;/*內(nèi)存中變量f的值為4.000000*/(2)當(dāng)單、雙精度浮點(diǎn)型數(shù)據(jù)和整型變量混合運(yùn)算時,浮點(diǎn)數(shù)的小數(shù)局部將被舍棄。如:int*;*=4.35;/*內(nèi)存中變量*的值為4*/(3)將字符型數(shù)據(jù)賦給整型變量時,由于字符型數(shù)據(jù)在運(yùn)算時根據(jù)其ASCII碼值自動轉(zhuǎn)化為整型數(shù)據(jù),所以將字符型數(shù)據(jù)的ASCII碼值存儲到變量中。如:int*;*='a';/*內(nèi)存中變量*的值為65*/(4)將有符號的整型數(shù)據(jù)賦給長整型數(shù)據(jù),要進(jìn)展符號擴(kuò)展。將無符號的整型數(shù)據(jù)賦給長整型變量時,只需將高位補(bǔ)0即可。教學(xué)活動流程設(shè)計旁注三、強(qiáng)制類型轉(zhuǎn)換可以利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將一個表達(dá)式強(qiáng)制轉(zhuǎn)換成所需類型。例如:(int)a;/*表示將變量a的類型強(qiáng)制轉(zhuǎn)換為整型*/(float)(a+b);/*表示將表達(dá)式a+b結(jié)果的類型強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型*/強(qiáng)制類型轉(zhuǎn)換的一般形式如下:(強(qiáng)制的類型名)(表達(dá)式)作業(yè)P56/1,2,3,4P58/6板書設(shè)計數(shù)據(jù)轉(zhuǎn)換自動類型轉(zhuǎn)換賦值轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題習(xí)題講解及第二章知識總結(jié)教學(xué)目標(biāo)通過習(xí)題的講解,使學(xué)生深入理解本章所學(xué)的內(nèi)容對本章所學(xué)知識的總結(jié)重點(diǎn)難點(diǎn)理解習(xí)題教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注習(xí)題講解及第二章知識總結(jié)(1)表達(dá)式應(yīng)該用括號括起來。例如:(int)(a+b);/*表示將表達(dá)式a+b結(jié)果的類型強(qiáng)制轉(zhuǎn)換成int型*/(int)a+b;/*表示將變量a的類型強(qiáng)制轉(zhuǎn)換成int型后,再進(jìn)展運(yùn)算*/(2)經(jīng)強(qiáng)制類型轉(zhuǎn)換后,得到的是一個所需類型的中間變量,原來變量的類型并沒有發(fā)生任何變化?!纠?】分析下面程序的運(yùn)行結(jié)果/*E*2-5.C*/main(){inta;floatb=2.5;a=(int)b;printf("a=%d,b=%f",a,b);}運(yùn)行結(jié)果為:a=2,b=2.500000教學(xué)活動流程設(shè)計旁注【例2】分析下面程序的運(yùn)行結(jié)果/*E*2-6.C*/main(){int*,y;*=50;y=(*=*-5,*/5);printf("y=%d",y);}運(yùn)行結(jié)果為:Y=9【分析】因為*的初始值為50,減5后變?yōu)?5,45除5為9賦給y?!纠?】寫出下面程序的運(yùn)行結(jié)果。/*E*2-7.C*/main(){inti=2,j=3,k,n,m;k=i+j;printf("%d",k);k=k+1;printf("%d",k);n=k*3;printf("%d",n);m=n%j;printf("%d",m);m=m-i;printf("%d",m);n=k/j;printf("%d",n);}運(yùn)行結(jié)果為:56180-22【分析】整型數(shù)據(jù)不管進(jìn)展什么樣的算術(shù)運(yùn)算得出的結(jié)果仍為整型數(shù)據(jù)?!纠?】分析下面程序的運(yùn)行結(jié)果。/*E*2-8.C*/main(){intm,n,k;m=5;n=10;k=(--m)+(--n);printf("m=%d,n=%d,k=%d\n",m,n,k);m=5,n=10;k=(m--)+(n--);教學(xué)活動流程設(shè)計旁注printf("m=%d,n=%d,k=%d\n",m,n,k);}運(yùn)行結(jié)果為:m=4,n=9,k=13m=4,n=9,k=15【本章小結(jié)】本章主要介紹了C語言中有關(guān)數(shù)據(jù)與數(shù)據(jù)計算的根本概念和規(guī)則。重點(diǎn)講解了以下幾個方面的內(nèi)容:〔1〕C語言的數(shù)據(jù)類型有四類:根本類型、構(gòu)造類型、指針類型和空類型?!?〕根本數(shù)據(jù)類型包括整型、實型、字符型三種。它們的表示方法、數(shù)據(jù)的取值范圍和數(shù)值的有效位各有特點(diǎn)。作業(yè)上機(jī)調(diào)試本次課所講的所有習(xí)題板書設(shè)計習(xí)題講解及本章知識總結(jié)上機(jī)調(diào)試課件中的程序;上機(jī)調(diào)試?yán)?及例4;3、深入理解習(xí)題中所講到的知識點(diǎn)教學(xué)后記

京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題C語言的根本語句教學(xué)目標(biāo)表達(dá)式語句函數(shù)語句控制語句復(fù)合語句空語句重點(diǎn)難點(diǎn)各種語句的構(gòu)造和特點(diǎn)教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注簡單程序設(shè)計在C語言中,程序構(gòu)造一般分為順序構(gòu)造、選擇構(gòu)造、循環(huán)構(gòu)造。本章節(jié)主要介紹的是:順序程序構(gòu)造、賦值語句、根本的輸入/輸出函數(shù)、格式控制符等。順序構(gòu)造是最簡單的也是最根本的程序構(gòu)造,其特點(diǎn)是語句按書寫的順序依次執(zhí)行。順序構(gòu)造主要由簡單語句、復(fù)合語句及簡單輸入輸出函數(shù)構(gòu)成的語句組成。printf與putchar是輸出函數(shù),scanf與getchar是輸入函數(shù),它們既有一樣點(diǎn)也有不同點(diǎn)。一、C語言語句C語言中語句的作用是向計算機(jī)系統(tǒng)發(fā)出操作命令,從而完成一定的操作任務(wù)。C語句可分為以下5種類型,下面我們進(jìn)展簡單介紹。教學(xué)活動流程設(shè)計旁注1.表達(dá)式語句由表達(dá)式組成的語句稱為表達(dá)式語句,其作用是計算表達(dá)式值或改變變量值。它的一般形式是:表達(dá)式;即在表達(dá)式的末尾加上分號,就變成了表達(dá)式語句。最典型的例子是,由賦值表達(dá)式構(gòu)成一個賦值語句。如:*=5是賦值表達(dá)式,而*=5;是一個賦值語句。注意:分號是C語言中語句的標(biāo)志,一個語句必須要有分號,沒有分號,則一定不是語句。表達(dá)式能構(gòu)成語句是C語言的一個重要特色。2.函數(shù)調(diào)用語句由一個函數(shù)調(diào)用加上一個分號構(gòu)成函數(shù)調(diào)用語句,其作用是完成特定的功能。它的一般形式是:函數(shù)名(參數(shù)列表);例如:printf("goodby!\n");/*調(diào)用庫函數(shù),輸出字符串*/3.控制語句控制語句用于完成一定的控制功能,以實現(xiàn)程序的各種構(gòu)造方式。C語言有9種控制語句,可分為三類:(1)條件判斷語句:if語句、switch語句(2)轉(zhuǎn)向語句:break語句、continue語句、goto語句、return語句(3)循環(huán)語句:for語句、while語句、do-while語句4.復(fù)合語句復(fù)合語句是用花括號將假設(shè)干語句組合在一起,又稱分程序,在語法上相當(dāng)于一條語句。例如下面是一個復(fù)合語句:{i++;printf("%d\n",i);}注意:復(fù)合語句中最后一個語句的分號不能省略不寫。5.空語句只有一個分號的語句稱為空語句。它的一般形式是:;空語句是什么也不執(zhí)行的語句,常用于循環(huán)語句中的循環(huán)體,表示循環(huán)體什么都不做。例如:while(getchar()!='\n');/*空語句*/教學(xué)活動流程設(shè)計旁注該循環(huán)的功能是:直到從鍵盤上鍵入回車才退出循環(huán)。這里的循環(huán)體是空語句。作業(yè)試列出C語言中常見的語句有哪些?P69/2,5,8板書設(shè)計C程序中的各種語句表達(dá)式語句;函數(shù)語句;復(fù)合語句;空語句;控制語句教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題程序構(gòu)造教學(xué)目標(biāo)認(rèn)識程序設(shè)計的三種根本構(gòu)造順序構(gòu)造重點(diǎn)難點(diǎn)順序構(gòu)造教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注程序構(gòu)造一、程序構(gòu)造簡介在C語言中,程序構(gòu)造一般分為順序構(gòu)造、選擇構(gòu)造、循環(huán)構(gòu)造。任何復(fù)雜的程序都是由這三種根本構(gòu)造組成?!疽亢唵蔚某绦驑?gòu)造。main(){int*,y,z;/*定義三個整型變量,是C語言中的聲明局部*/*=123;y=234;/*以下語句是C語言中的語句,是執(zhí)行局部*/z=*-y;printf("*-y=%d\n",z);}該程序的作用是求兩個整數(shù)*和y的差z。第3行是定義變量*、y、z是整型(int)變量。第4行是兩個賦值語句,使*、y的值分別為123和234。第5行也是賦值語句,使z的值等于*-y。第6行是進(jìn)展輸出,輸出變量z的值。因此該程序的輸出信息是:*-y=-111教學(xué)活動流程設(shè)計旁注【引例】由多個函數(shù)構(gòu)成的程序構(gòu)造。main()/*主函數(shù)*/{int*,y,z;/*聲明局部,定義變量的類型*/scanf("%d,%d",&*,&y);/*通過輸入函數(shù),給變量*、y賦值*/z=min(*,y);/*調(diào)用min函數(shù),將函數(shù)值賦給變量z*/printf("min=%d\n",z);/*輸出變量z的值*/}intmin(inta,intb)/*定義一個min的函數(shù),函數(shù)值為整型,虛參a和b是整型*/{intc;/*函數(shù)min中的聲明局部*/if(a>b)c=b;elsec=a;return(c);/*將變量c的值通過返回語句帶回調(diào)用處*/}本程序包含兩個函數(shù):主函數(shù)main和被調(diào)用函數(shù)min。min函數(shù)的作用是將a和b中較小的數(shù)賦給變量c,并通過返回語句return將c的值返回給主函數(shù)main。程序運(yùn)行時,先由scanf()函數(shù)從鍵盤上讀取兩個整型數(shù)據(jù),如從鍵盤上輸入2,7↙(↙表示回車鍵),此時*被賦值2,y被賦值7,然后執(zhí)行第5語句,對min函數(shù)進(jìn)展調(diào)用,調(diào)用的結(jié)果是將較小的數(shù)2賦給變量c,通過return語句將函數(shù)值賦給變量z。第6行語句輸出z的值2。因此程序輸出的信息是:min=2從上面的兩個例子看出:一個C程序可以由假設(shè)干個源程序文件組成,其構(gòu)造如圖3-1所示。SHAPE二、順序構(gòu)造AB順序構(gòu)造是程序設(shè)計中最簡單、最根本的構(gòu)造,其特點(diǎn)是程序運(yùn)行時,按語句書寫的次序依次執(zhí)行,其構(gòu)造如圖3-2AB在圖中,執(zhí)行完A框所指定的操作后,必接著執(zhí)行B框所指定的操作。順序構(gòu)造通常是由簡單語句、復(fù)合語句及輸入輸出函數(shù)語句組成?!纠糠治鱿旅娉绦驑?gòu)造/*E*3-1.C*/#include<stdio.h>main(){inta,b,c;scanf("%d,%d",&a,&b);教學(xué)活動流程設(shè)計旁注c=a+b;預(yù)處理語句變量預(yù)處理語句變量a,b,c聲明輸入變量a,b的值賦值語句c=a+b輸出變量c的值}上述程序顯然是順序構(gòu)造,其語句執(zhí)行的次序如下圖。從例3-1可以看出,順序構(gòu)造的程序框架如下:#開頭的編譯預(yù)處理命令行main(){局部變量聲明語句;可執(zhí)行語句序列;};/*空語句*/作業(yè)程序設(shè)計一般有哪三種根本的構(gòu)造P62/3,4板書設(shè)計程序設(shè)計的根本構(gòu)造程序設(shè)計的構(gòu)造順序構(gòu)造例題講解選擇構(gòu)造循環(huán)構(gòu)造教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題賦值語句與printf語句教學(xué)目標(biāo)理解賦值語句掌握printf語句的根本構(gòu)造;掌握printf語句在程序中的根本用法重點(diǎn)難點(diǎn)賦值語句;Printf語句的根本用法教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注一、賦值語句賦值語句是一個應(yīng)用十分普遍且最簡單的語句。賦值語句的一般形式:變量=表達(dá)式;賦值語句的功能是將賦值號右邊表達(dá)式的值計算出來,再賦給賦值號左邊變量。如:a=3+6;該語句的作用是將表達(dá)式3+6等于9的值賦給了變量a。前面我們已經(jīng)學(xué)過了賦值表達(dá)式,要注意區(qū)分兩者的不同點(diǎn):(1)賦值表達(dá)式不能有分號";〞,而賦值語句一定要有分號";〞,這是最本質(zhì)的區(qū)別。(2)賦值表達(dá)式中的賦值號"=〞可以連用,而賦值語句中的賦值號"=〞不能連用。如:a=b=c=1這是賦值表達(dá)式,其含義是變量a,b,c的值都是1。而a=b=c=1;這是賦值語句。左邊第一個"=〞是賦值語句中的賦值號,其含義是將該賦值號右邊表達(dá)式b=c=1的值1賦給變量a。千萬不要認(rèn)為這三個"=〞都是賦值語句中的賦值號。教學(xué)活動流程設(shè)計旁注(3)賦值表達(dá)式可以包括在其他表達(dá)式之中,如:if((*=y)<0)a=*;其中*=y是賦值表達(dá)式。條件判斷順序是:先將y的值賦給*,然后判斷表達(dá)式的值〔也是*的值〕是否小于0,假設(shè)小于0,則執(zhí)行a=*。顯然這樣寫是合法的。但如果寫成:if((*=y;)<0)a=*;就不正確了,因為在if條件中不能包含賦值語句。二、數(shù)據(jù)輸入printf語句stdio.h是standardinput&output的縮寫,它是以標(biāo)準(zhǔn)的輸入輸出設(shè)備作為輸入輸出對象,包括putchar〔輸出字符〕,getchar〔輸入字符〕,printf〔格式輸出〕,scanf〔格式輸入〕,puts〔輸出字符串〕,gets〔輸入字符串〕等??紤]到printf、scanf使用頻繁,系統(tǒng)允許在使用這兩個函數(shù)時不用#include命令。本章將介紹前4個根本的輸入輸出函數(shù)。格式化輸出函數(shù)printfprintf函數(shù)的功能是向系統(tǒng)指定的設(shè)備輸出假設(shè)干個任意類型的數(shù)據(jù)。1.printf函數(shù)調(diào)用形式printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),其調(diào)用的一般形式:printf〔格式控制字符串,輸出列表〕;括號里格式控制字符串和輸出列表實際上都是函數(shù)的參數(shù)。其中:(1)格式控制字符串是用雙撇號括起來的字符串,它包括兩個信息:①格式說明。由"%〞和格式字符組成,如%d,%c,%f等。它的作用是將要輸出的數(shù)據(jù)轉(zhuǎn)化成指定的格式輸出,格式說明都是由"%〞字符開場的。②一般字符。即按原樣輸出的字符,在顯示時起提示作用。如例題3-1中有:printf("\nc=%d\n",c);/*雙撇號內(nèi)有換行符、字符c=*/(2)輸出列表是需要輸出的變量、函數(shù)、表達(dá)式。2.格式說明符不同類型的數(shù)據(jù)用不同的格式說明符。格式說明符是由"%〞開頭,后面跟假設(shè)干個小寫英文字母,用以說明數(shù)據(jù)輸出的類型、長度、位數(shù)等。在TurboC中格式字符串的一般形式為:%[標(biāo)志][輸出數(shù)據(jù)最小寬度m][.精度n][數(shù)據(jù)長度]類型【說明】[]:表示可選項。[標(biāo)志]:是由字符構(gòu)成的,它表示數(shù)值輸出時按*種格式,常用的字符有-、+、0,其具體含義見表3-1。教學(xué)活動流程設(shè)計旁注[輸出數(shù)據(jù)最小寬度m]:m是十進(jìn)制整數(shù),它表示用十進(jìn)制輸出的最少位數(shù),當(dāng)需要輸出的數(shù)據(jù)長度超過該數(shù)時,該選項不起作用,數(shù)據(jù)按實際位數(shù)進(jìn)展輸出,當(dāng)需要輸出的數(shù)據(jù)長度小于該數(shù)時,則在該數(shù)的左邊補(bǔ)空格或0。[.精度n]:是".〞加上十進(jìn)制整數(shù)n。其含義是:如果輸出的是數(shù)值,則該數(shù)表示小數(shù)位數(shù),假設(shè)實際位數(shù)大于所定義的精度,則截去超過局部;如果輸出的是字符,則表示輸出字符的個數(shù)。[數(shù)據(jù)長度]:是字符,它有兩種形式:h、l。h表示按短整型量輸出,l表示按長整型量輸出。類型:是格式說明符中必須要有的,它表示輸出列表里要輸出的數(shù)據(jù)類型。表3-2給出了常用的類型格式符及含義。作業(yè):P69/1,2,5P65例2,例3請在上機(jī)時調(diào)試程序板書設(shè)計賦值語句與printf語句賦值語句Printf語句的根本構(gòu)造Printf語句中各參數(shù)的意義例題講解教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題Printf語句及例題講解教學(xué)目標(biāo)Printf語句例題講解重點(diǎn)難點(diǎn)通過例題的講解,使學(xué)生進(jìn)一步認(rèn)識printf語句教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注例題1#include<stdio.h>main(){inta,b,c;a=10;b=20;c=-30;printf("a=%d,a=%o,a=%+d\n",a,a,a);printf("b=%d,b=%*,b=%5d\n",b,b,b);printf("c=%d,c=%5d,c=%+d\n",c,c,c);}程序運(yùn)行結(jié)果為:a=10,a=12,a=+10b=-30,c=-30,c=-30教學(xué)活動流程設(shè)計旁注【例2】分析下面程序運(yùn)行結(jié)果。/*E*3-3.C*/#include<stdio.h>main(){inta,b,c;a=123;b=234;c=a+b;printf("\na+b=%d+%d=%d",a,b,c);printf("\na+b=%hd+%hd=%hd",a,b,c);/*用%hd格式輸出*/printf("\na+b=%2d+%2d=%5d",a,b,c);/*用%md格式輸出*/printf("\na+b=%02d+%02d=%05d",a,b,c);/*用%0md格式輸出*/}程序運(yùn)行結(jié)果為:a+b=123+234=357a+b=123+234=357a+b=123+234=357a+b=123+234=00357為什么運(yùn)行結(jié)果中第三行與第四行不完全一樣?【例3】分析下面程序運(yùn)行結(jié)果。/*E*3-4.C*/#include<stdio.h>main(){float*,y,z;*=123.234;y=0.000345;z=-98.567;printf("*=%.4f,*=%.2f,*=%+e\n",*,*,*);/*用%.nf、%+e格式輸出*/printf("y=%f,y=%8.4f,y=%10.3e\n",y,y,y);/*用%f、%m.nf、%m.ne格式輸出*/printf("z=%+f,z=%+e,z=%+g\n",z,z,z);/*注意g格式的使用*/}程序運(yùn)行結(jié)果為:*=123.2340,*=123.23,*=+1.23234e+02y=0.000345,y=0.0003,y=3.45e-04z=-98.567001,z=-9.85670e+01,z=-98.567注意:由于變量*,y,z均是單精度實型變量,因此按f格式輸出7位有效數(shù)字,所以運(yùn)行結(jié)果中第三行第一個z的值中小數(shù)點(diǎn)后第六位的數(shù)值是無效的。在TurboC中,字符與字符串的表示是不同的:單個字符用單撇號括起來,而字符串要用雙撇號括起來,假設(shè)單個字符用雙撇號括起來,則表示是字符串。教學(xué)活動流程設(shè)計旁注在使用printf函數(shù)時,要注意以下幾個問題:(1)可以在格式控制字符串中包含前面所講的"轉(zhuǎn)義字符〞,如'\n'、'\t'、'\r'、'\b'、'\377'等。(2)跟在%后面的格式符除*〔表示輸出的十六進(jìn)制數(shù)用大寫字母輸出〕、E〔表示輸出的指數(shù)e用大寫字母E輸出〕、G〔表示假設(shè)選用指數(shù)形式輸出,則用大寫字母E輸出〕外,其余必須是小寫字母。如%d不能寫成%D。(3)假設(shè)想輸出字符"%〞,則在格式字符串中用連續(xù)兩個%表示。如:printf("%f%%",1.0/4);則輸出:0.250000%作業(yè)P78/3,4P79/5(1)(3)板書設(shè)計Printf語句及習(xí)題講解例1例2例3例4知識點(diǎn)總結(jié)教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題Scanf語句教學(xué)目標(biāo)認(rèn)識程序設(shè)計的輸入輸出語句;Scanf語句的根本構(gòu)造;Scanf語句中各參數(shù)的意義;能用Scanf語句進(jìn)展簡單的輸入程序設(shè)計重點(diǎn)難點(diǎn)Scanf語句的根本構(gòu)造Scanf語句中各參數(shù)的意義教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注scanf函數(shù)的功能是從鍵盤上將數(shù)據(jù)按用戶指定的格式輸入并賦給指定的變量。1.scanf函數(shù)調(diào)用形式scanf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),其調(diào)用的一般形式:scanf〔格式控制字符串,地址列表〕;其中格式控制字符串的定義與使用方法和printf函數(shù)一樣,但不能顯示非格式字符串,即不能顯示提示字符串。地址列表是要賦值的各變量地址。地址是由地址運(yùn)算符"&〞后跟變量名組成,如&*表示變量*的地址。&是取地址運(yùn)算符,其作用是求變量的地址。【引例】scanf函數(shù)的使用。a25b-34a,b地址示意圖#include<stdio.h>main(){inta,b;scanf("%d,%d",&a,&b);printf("\na=%d,b=%d\n",a,b);}教學(xué)活動流程設(shè)計旁注運(yùn)行時按以下方式輸入a、b的值:25,-34↙〔輸入a、b的值〕a=25,b=-34〔輸出a、b的值〕此時scanf函數(shù)的作用是:按照a、b在內(nèi)存的地址將a、b的值存進(jìn)去,如圖3-4所示。變量a、b地址是程序在編譯連接階段分配的。"%d,%d〞表示按十進(jìn)制整數(shù)形式輸入數(shù)據(jù)。輸入時,數(shù)據(jù)間必須用逗號分隔,用空格分隔、回車鍵、tab〔跳格〕鍵都是不正確的。假設(shè)將scanf函數(shù)改寫成:scanf("%d%d",&a,&b);則輸入時,數(shù)據(jù)間不能用逗號",〞分隔,必須用一個或多個空格分隔,也可以用回車鍵、tab鍵。即下述幾種方式輸入均是合法的:①25□□-34↙(數(shù)據(jù)間用空格作為分隔,□代表空格)②25↙(數(shù)據(jù)間用回車鍵作為分隔)-34↙2.格式說明符與printf函數(shù)中的格式說明符相似,以%開場,后面跟一個格式符,中間可以有假設(shè)干個附加字符,格式字符串的一般形式為:%[*][輸入數(shù)據(jù)寬度m][長度]類型【說明】[]:表示可選項*:表示輸入的數(shù)值不賦給相應(yīng)的變量,即跳過該數(shù)據(jù)不讀。[輸入數(shù)據(jù)寬度m]:m是十進(jìn)制正整數(shù),表示按m的寬度輸入數(shù)據(jù)。[長度]:長度格式符為l和h,l表示輸入長整型數(shù)據(jù)或雙精度實型數(shù)據(jù);h表示輸入短整型數(shù)據(jù)。類型:是格式說明符中必須要有的,其格式符的意義與printf函數(shù)根本一樣【例】分析下面程序。/*E*3-9.C*/#include<stdio.h>main(){charstr1,str2;scanf("%c%c",&str1,&str2);/*給字符變量輸入數(shù)據(jù)*/printf("\n%c%c\n",str1,str2);/*輸出字符變量的值*/}程序運(yùn)行時,假設(shè)輸入abc↙則運(yùn)行結(jié)果為:abcab教學(xué)活動流程設(shè)計旁注在使用scanf函數(shù)時,要注意以下幾個問題:(1)scanf函數(shù)中的"格式控制字符串〞后面應(yīng)該是變量的地址,而不應(yīng)是變量名,這是C語言與其他高級語言不同的地方。例如不能將語句scanf("%d,%d",&a,&b);寫成scanf("%d,%d",a,b);,這是初學(xué)者容易出錯的地方。(2)輸入數(shù)據(jù)時不能規(guī)定數(shù)據(jù)的精度。例如scanf("%8.2f",&a);是不合法的。(3)在"格式控制字符串〞中除了格式說明符外,還有其他字符,則在輸入數(shù)據(jù)時在對應(yīng)位置上應(yīng)輸入與這些字符一樣的字符。例如scanf("a=%d,b=%d",&a,&b);則輸入時應(yīng)輸入:a=12,b=-2↙其他任何輸入形式都不正確。(4)輸入數(shù)據(jù)時,遇以下情況認(rèn)為該數(shù)據(jù)輸入完畢:①按指定的寬度完畢;②遇空格,或"回車〞鍵,或"Tab〞鍵;③遇非法輸入。作業(yè):1、P79/2,72、編程:由鍵盤輸入任意三個整數(shù),試輸出這三個數(shù)的和與積板書設(shè)計Scanf語句分析什么是程序輸入語句Scanf語句的根本構(gòu)造Scanf語句中各參數(shù)的意義使用scanf語句時應(yīng)注意的問題例題分析知識點(diǎn)總結(jié)教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題if語句教學(xué)目標(biāo)1.掌握條件選擇語句if的三種形式。2.掌握三種if語句的執(zhí)行過程。3.會運(yùn)用if語句的三種形式解決實際問題。重點(diǎn)難點(diǎn)if語句的三種形式三種if語句的執(zhí)行過程的理解。三種if語句的運(yùn)用。教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注【復(fù)習(xí)提問】運(yùn)算符的優(yōu)先級,表達(dá)式的種類【講授新課】if語句〔板書〕一.if語句的第一種形式〔板書〕1.語句格式〔板書〕if(表達(dá)式)語句〔板書〕其中"表達(dá)式〞一般為邏輯表達(dá)或關(guān)系表達(dá)式,可以是任意的數(shù)據(jù)類型。例如,①if(a>b&&a>c)printf("%d\n",a);其中的表達(dá)式是邏輯表達(dá)式。②if('a')printf("%d\n",'a');其中的表達(dá)式是字符表達(dá)式。③if(3.8)printf("%d\n",'a');其中的表達(dá)式是實型表達(dá)式。2.語句執(zhí)行流程〔板書〕系統(tǒng)首先判斷表達(dá)式的值,如果為非0〔真〕,則執(zhí)行表達(dá)式后跟的語句,然后執(zhí)行本if語句的后續(xù)語句;如果為0〔假〕,則不執(zhí)行表達(dá)式后跟的語句,直接執(zhí)行本if語句的后續(xù)語句。教學(xué)活動流程設(shè)計旁注3.程序舉例【例題5-1】編寫程序,從鍵盤輸入兩個整數(shù),分別送給變量a和b,比擬a、b的大小,如果a>b輸出字符串"yes〞,否則什么也不輸出?!痉治觥扛鶕?jù)程序設(shè)計的"三步曲〞,解決本問題的流程圖如下圖。a>ba>bprintf("yes")真假定義a,b,并賦值程序完畢〔板書〕源程序如下:main(){inta,b;scanf("%d,%d",&a,&b);if(a>b)printf("yes");}二.if語句的第二種形式〔板書〕1.語句格式〔板書〕if(表達(dá)式)語句1else語句2其中"表達(dá)式〞同第一種形式一樣。例如,if(a>b)printf("%d\n",a);elseprintf("%d\n",b);2.語句執(zhí)行流程〔板書〕系統(tǒng)首先判斷表達(dá)式的值,如果為非0〔真〕,則執(zhí)行語句1,然后執(zhí)行本if語句的后續(xù)語句;如果為0〔假〕,則語句2,然后執(zhí)行本if語句的后續(xù)語句。3.程序舉例【例題5-2】編寫程序,從鍵盤輸入兩個整數(shù),分別送給變量a和b,比擬a、b的大小,如果a>b輸出字符串"yes",否則輸出字符串"no"。教學(xué)活動流程設(shè)計旁注三.if語句的第三種形式〔板書〕if語句的第三種形式,是第二種形式的拓展,如果第二種形式中的語句1、語句2,有一個或者兩個又是一條if語句〔即if語句的嵌套〕,就構(gòu)成了if語句的第三種形式。為了簡化學(xué)習(xí),在這里我們討論兩種常用的模式。1.模式〔一〕〔板書〕〔1〕根本形式if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2else語句3也就是將第二種形式中的語句2,換成一條if語句。〔2〕它的執(zhí)行流程如下圖?!舶鍟乘模甶f語句應(yīng)用舉例[課堂練習(xí)]【例題5-5】用if語句編寫比擬a、b兩個整數(shù)的大小,且把大者賦給*的程序?!纠}5-6】用if語句編寫比擬a、b兩個整數(shù)的大小,且把大者賦給*,小者賦給y的程序。[課堂小結(jié)]用if語句編程,主要用來解決兩路或三路分支的問題,如果問題的很多路分支,還用if語句來編程,程序就顯得很亂,而且板書設(shè)計教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題switch語句教學(xué)目標(biāo)1.掌握switch語句的格式。2.掌握switch語句的執(zhí)行過程。3.會運(yùn)用switch語句解決實際問題。重點(diǎn)難點(diǎn)switch語句的格式和switch語句的執(zhí)行過程。switch語句運(yùn)用教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注【復(fù)習(xí)提問】三種if語句的格式,課后題【講授新課】switch語句〔板書〕一.一般格式及執(zhí)行流程〔板書〕1.一般形式〔板書〕switch語句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語句局部1case常量表達(dá)式2:語句局部2···case常量表達(dá)式n:語句局部ndefault:語句局部n+1}2.執(zhí)行流程〔板書〕switch語句的執(zhí)行過程是:首先對switch語句括號中的表達(dá)式進(jìn)展計算,得到一個值。然后程序用這個值從上至下依次與各個case后的常量表達(dá)式進(jìn)展比擬,如果找到相匹配的常量表達(dá)式,就以此為入口,將程序轉(zhuǎn)移到這個入口的第一條語句處,再順序往下執(zhí)行。假設(shè)沒有相匹配的常量表達(dá)式,這時如果switch語句中存在default:,則程序就轉(zhuǎn)到此處教學(xué)活動流程設(shè)計旁注執(zhí)行,如果沒有default:,程序就跳出switch構(gòu)造,轉(zhuǎn)而執(zhí)行switch構(gòu)造后面的語句。switch語句中,default局部是可選的。3.程序舉例【例題5-7】寫出程序的執(zhí)行結(jié)果。main(){inti=7;switch(i){case6:i=i+1;case7:i=i+1;case8:i=i+1;case9:i=i+1;default:i=i+10;}printf("%d\n",i);}【分析】程序首先對switch語句括號中的表達(dá)式〔i〕進(jìn)展計算,得到一個值是〔7〕。然后程序用這個值〔7〕從上至下依次與各個case后的常量表達(dá)〔6、7、8、9〕式進(jìn)展比擬,找到相匹配的常量表達(dá)式〔7〕,就以此為入口,將程序轉(zhuǎn)移到這個入口的第一條語句處〔i=i+1〕,再順序往下執(zhí)行即后面的賦值語句都被執(zhí)行一了遍,所以i加了三次1,一次10,最后i的值為20。如果要i找到常量表達(dá)式7這個入口后,只執(zhí)行"7:〞后的語句局部,不執(zhí)行"8:〞之后的語句,就應(yīng)在"7:〞后面語句局部最后,加一條中止語句break;例如,上述程序如果改寫成如下形式:main(){inti=7;switch(i){case6:i=i+1;break;case7:i=i+1;break;case8:i=i+1;break;case9:i=i+1;break;default:i=i+10;}printf("%d\n",i);}則程序的執(zhí)行結(jié)果是:i=8也就是說程序執(zhí)行完"7:〞之后的語句局部后,就直接跳出了switch構(gòu)造。[課堂練習(xí)]教學(xué)活動流程設(shè)計旁注【例題5-9】編寫一程序,打印*年*月的有天數(shù)【分析】〔1〕我們知道,一年中各個月份的天數(shù)不盡一樣,特別是2月份還與該年是否閏年有關(guān),故采用switch構(gòu)造?!?〕*年〔y〕是閏年,應(yīng)滿足以下兩個條件之一:①該年份能被4整除,但不能被100整除〔y%4==0&&y%100!=0〕②該年份能被400整除〔y%400==0〕?!菊f明】①switch后面的"表達(dá)式〞,可以是整型表達(dá)式或字符表達(dá)式,也可以是枚舉型數(shù)據(jù)。②每個case的常量表達(dá)式的值不能一樣。③多個case可以共用一組執(zhí)行語句,如例題5.9中所示。[課堂小結(jié)]switch語句是多分支選擇語句,也叫開關(guān)語句。它主要用來解決多路選擇問題。[布置作業(yè)]板書設(shè)計教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題for語句教學(xué)目標(biāo)1.掌握for語句的一般格式。2.掌握for語句的執(zhí)行過程。3.會運(yùn)用for語句解決實際問題。重點(diǎn)難點(diǎn)for語句的一般格式和for語句的執(zhí)行過程。運(yùn)用for語句解決實際問題教學(xué)資源準(zhǔn)備啟發(fā)式,講練結(jié)合教學(xué)活動流程設(shè)計旁注【復(fù)習(xí)提問】switch語句的執(zhí)行過程,分析課后題【講授新課】for語句〔板書〕一.一般形式及執(zhí)行流程〔板書〕1.一般形式〔板書〕for語句的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句for(i=1;i<5;i++)s=s+i;for(i=1;i<5;i++)s=s+i;表達(dá)式1表達(dá)式2表達(dá)式3語句2.執(zhí)行流程〔板書〕3.幾點(diǎn)說明①for語句中,表達(dá)式1可以為循環(huán)變量賦初值,也可以與循環(huán)變量無關(guān)。教學(xué)活動流程設(shè)計旁注②表達(dá)式1和表達(dá)式3可以是一個簡單表達(dá)式,也可以是逗號表達(dá)式。如:for(m=0,n=50;m<=n;m++,j--)k=m+n;③表達(dá)式2一般是關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是任意表達(dá)式,只要其值是非0,就執(zhí)行循環(huán)體。如,for(m=0;(c=getchar()))!='\n';m+=c)purchar(c);④for語句的一般形式中"表達(dá)式1〞可以省略,此時應(yīng)在for語句前給循環(huán)變量賦初值,但其后的分號不能省略。⑤表達(dá)式2也可以省略,此時不判斷循環(huán)條件,循環(huán)無限制地進(jìn)展下去,除非在循環(huán)體內(nèi)有跳出語句break;⑥表達(dá)式3,一般用來修改循環(huán)變量的值,使循環(huán)趨于完畢。如果省略表達(dá)式3,應(yīng)另外設(shè)法保證循環(huán)能正常完畢。如,for(i=1;i<5;){s=s+i;i++;}該例題中,循環(huán)體有兩條語句,所以應(yīng)用大括號括起來,構(gòu)成復(fù)合語句。⑦表達(dá)式1和表達(dá)式3可以同時省略。如,inti=1;···for(;i<5;){s=s+i;i++;}⑧三個表達(dá)式可以都省略,但分號不能省略。如:for(;;)語句此時,便構(gòu)成一個死循環(huán),除非循環(huán)體中有跳出語句break;二.for單重循環(huán)程序舉例【例題】用循環(huán)控制分行輸出count=100,count=200,count=300。[課堂練習(xí)]三.雙重循環(huán)【例題】用雙重循環(huán),打印出九九乘法表。main(){inti,j;for(i=1;count<=9;i++){for(j=1;j<=i;j++)printf("%d",i*j);printf("\n");/*打印完一行后,輸出一個換行*/}}這就是用for語句構(gòu)成的雙重循環(huán),當(dāng)然后面要講到的while循環(huán)、do—while循環(huán)也可以構(gòu)成雙重循環(huán)。這三個循環(huán)語句既可以自身構(gòu)成嵌套,也可以互相嵌套。[課堂練習(xí)]教學(xué)活動流程設(shè)計旁注【例題】把例題用雙重循環(huán)改寫程序。main(){intn,i;floate=1.0,p=1.0;for(n=1;count<=10;n++){for(i=1;i<=n;i++)p*=i;e=e+1.0/p;}printf("e=%f\n",e);}[課堂小結(jié)]循環(huán)語句是算法中應(yīng)用最普遍也是最重要的語句。C語言一共提供了三種循環(huán)語句。本節(jié)講解的for語句,主要用于循環(huán)次數(shù)的循環(huán)。[布置作業(yè)]板書設(shè)計教學(xué)后記京山縣中等職業(yè)技術(shù)學(xué)校備課用紙技能計算機(jī)應(yīng)用授課日期授課節(jié)次教學(xué)課題while語句教學(xué)目標(biāo)1.掌握while語句的一般格式。2.掌握while語句的執(zhí)行過程。3.會運(yùn)用while語句解決實際問題重點(diǎn)難點(diǎn)while語句的一般格式和while語句的執(zhí)行過程。運(yùn)用while語句解決實際問題。教學(xué)資源準(zhǔn)備教案、實例、上機(jī)操作教學(xué)活動流程設(shè)計旁注【復(fù)習(xí)提問】for語句的執(zhí)行過程,分析程序執(zhí)行過程【講授新課】while語句〔板書〕一.一般形式及執(zhí)行流程〔板書〕1.一般形式〔板書〕whiel語句的一般格式為:while(表達(dá)式)語句其中表達(dá)式是循環(huán)能否繼續(xù)重復(fù)的條件,語句局部〔即循環(huán)體〕可以是單一語句或復(fù)合語句。一個小例子如下,while(i<5)s=s+i;中,表達(dá)式是"i<5〞,語句是"s=s+i〞2.執(zhí)行流程〔板書〕首先計算表達(dá)式的值,假設(shè)其值非0,則執(zhí)行循環(huán)體并重新計算表達(dá)式,至到表達(dá)式的值變?yōu)?為止,然后從該語句的下一條語句繼續(xù)執(zhí)行下去。二.程序舉例【例題】用while循環(huán)改寫程序。程序1:main(){intcount=100;while(count<=300){printf("count=%d\n",count);count=count+100;}}教學(xué)活動流程設(shè)計旁注程序2:main(){intcount=1;while(count<=3)printf("count=%d\n",count++*100);}【說明】①循環(huán)體假設(shè)是復(fù)合語句,需要用大括號括起來,不然,while的作用范圍只到其后的第一個分號,這與for語句的規(guī)定是一樣的。②在循環(huán)體應(yīng)有使循環(huán)趨向于完畢的語句。如程序1中的"count=count+100;〞和程序2中的"count++〞都是起到這個作用。③while語句可以用for語句來代替。for語句的一般形式可以改寫為如下形式:表達(dá)式1;while(表達(dá)式2){語句表達(dá)式3;}[課堂練習(xí)]【例題】編程求1+2+…+10的值。main(){intsum,i;sum=0;/*變量sum作為累加器,必須置初值,否則結(jié)果不準(zhǔn)確*/i=1;while(i<=10){sum=sum+i;i++;}printf("sum=%d\n",sum);}【例題】華氏溫度f與攝氏溫度c的關(guān)系是:c=5.0/9*(f-32),如果f為-10,20,50,…,320,用C程序求出各華氏溫度所對應(yīng)的攝氏溫度。main(){intf,c;f=-10;while(f<=320){c=(5.0/9.0)*(f-32);printf("%4.0f%6.1f\n",f,c);i++;}}教學(xué)活動流程設(shè)計旁注【例題】從鍵盤依次輸入學(xué)生的成績,并進(jìn)展計數(shù)、累加,當(dāng)輸入-1時,停頓輸入,輸出學(xué)生的數(shù)量、總成績和平均成績?!痉治觥窟@是一個"使用終止標(biāo)志〞的問題,把"-1〞作為輸入學(xué)生成績

溫馨提示

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

最新文檔

評論

0/150

提交評論