《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》教案_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》教案_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》教案_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》教案_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)》教案_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言教案教學(xué)課題C程序結(jié)構(gòu)課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)掌握C語(yǔ)言源程序的組成2.掌握C語(yǔ)言源程序結(jié)構(gòu)特征教學(xué)重點(diǎn)掌握C語(yǔ)言源程序的組成掌握C語(yǔ)言源程序結(jié)構(gòu)特征教學(xué)難點(diǎn)掌握C語(yǔ)言源程序結(jié)構(gòu)特征作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入C語(yǔ)言程序的結(jié)構(gòu)有自身的特點(diǎn),在編寫C語(yǔ)言程序時(shí)必須遵守C語(yǔ)言的語(yǔ)法要求,這是編寫正確的C程序的最基本要求。本模塊為大家提供C語(yǔ)言源程序結(jié)構(gòu)的特性描述、在編寫C語(yǔ)言程序時(shí)允許使用的字符集,并介紹如何在C語(yǔ)言程序開(kāi)發(fā)環(huán)境TurboC2.0中快速運(yùn)行C語(yǔ)言程序。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn):進(jìn)入課題:任務(wù)一考察并描述C源程序的組成1.下面的程序完全遵守C語(yǔ)言語(yǔ)法規(guī)則和書寫規(guī)范,請(qǐng)仔細(xì)觀察并分析其組成和結(jié)構(gòu),按要求填空。該程序?qū)崿F(xiàn)從鍵盤輸入2個(gè)整數(shù)a、b,然后輸出兩數(shù)之和的功能。#include"stdio.h"/*預(yù)編譯命令*/main()/*函數(shù)頭*/{/*{函數(shù)體開(kāi)始標(biāo)志*/inta,b,s;/*定義3個(gè)整型變量a,b,s*/printf("輸入兩個(gè)整數(shù)a,b\n");/*輸出提示信息*/scanf("%d%d",&a,&b);/*輸入2個(gè)整數(shù)a,b*/s=a+b;/*計(jì)算a、b的和存入s中*/printf("a+b=%d",s);/*輸出變量s的值*/}/*}函數(shù)體結(jié)束標(biāo)志*/(1)函數(shù)是,由和組成。(2)函數(shù)體中的程序行稱為,它的結(jié)束字符是。2.請(qǐng)分析下面程序的組成,然后解決表中的問(wèn)題。該程序?qū)崿F(xiàn)輸入2個(gè)數(shù)a、b,然后輸出兩數(shù)中較大者的功能。#include"stdio.h"main(){ inta,b,m;scanf("%d%d",&a,&b);學(xué)生回答分析提問(wèn):m=max(a,b);printf("max=%d\n",m);}intmax(intx,inty){ intt;if(x>y)t=x;elset=y;returnt;}(1)用框線標(biāo)出程序中的函數(shù)及它們的函數(shù)頭和函數(shù)體。(2)寫下程序中函數(shù)的函數(shù)頭,進(jìn)行比較,并寫出你的比較結(jié)果。(3)max函數(shù)的函數(shù)體語(yǔ)句行沒(méi)有對(duì)整齊,你認(rèn)為這樣好嗎?(4)在C語(yǔ)言程序中必須要有一個(gè)名為main的函數(shù),此說(shuō)法對(duì)嗎?知識(shí)點(diǎn),提示學(xué)生注意(1)在C程序中/*…*/是注釋符,它用于標(biāo)志程序注釋的開(kāi)始和結(jié)束,注釋可以增強(qiáng)程序的可讀性,它不影響程序語(yǔ)句的執(zhí)行。在程序中添加簡(jiǎn)潔、清晰的注釋是一種良好的編程習(xí)慣。(2)在調(diào)試程序時(shí),可以把暫時(shí)不需要執(zhí)行的語(yǔ)句放在/*…*/之中,C編譯器不會(huì)對(duì)/*…*/的任何內(nèi)容進(jìn)行編譯,需要時(shí)只需刪除語(yǔ)句前后的/*和*/即可,這比不用時(shí)刪除這些語(yǔ)句,需要的時(shí)候再重新錄入有更高的效率。3.根據(jù)你對(duì)C語(yǔ)言源程序的認(rèn)識(shí),與同學(xué)們討論完成填空。(1)C語(yǔ)言源程序是由組成的,它們的數(shù)目可以有個(gè)。(2)在C程序中學(xué)生回答注意記憶討論完成提問(wèn):(是/不是)必須有一個(gè)函數(shù)名為main的函數(shù)。上面例程中main函數(shù)后的小括號(hào)()沒(méi)有任何內(nèi)容,它(可以/不可以)省略。(3)C程序中的語(yǔ)句用結(jié)束,你認(rèn)為在一個(gè)程序行上可以寫個(gè)語(yǔ)句,一個(gè)C語(yǔ)句(能/不能)寫在多個(gè)程序行上。請(qǐng)觀察并分析下面的程序在書寫上存在什么問(wèn)題?完成下面表中提出的要求。該程序?qū)崿F(xiàn)輸入圓的半徑,計(jì)算并輸出圓的面積和周長(zhǎng)的功能。#include"stdio.h"#definePI3.14floatarea_of_circle(floatr);floats;s=PI*r*r;returns;floatgirth_of_circle(floatr)floatc;c=2*PI*r;returnc;}main{floatcsccradius;scanf("%f",&radius)cs=area_of_circle(radius);cc=girth_of_circle(radius);printf("圓的面積是:%f,圓的周長(zhǎng)是:%f\n",cs,cc);}請(qǐng)?jiān)诔绦蛑袠?biāo)出你認(rèn)為有問(wèn)題的地方,并指出在書寫程序時(shí)要特別注意的事項(xiàng):知識(shí)歸納:C語(yǔ)言程序由一個(gè)或多個(gè)函數(shù)組成,函數(shù)是一段具有特定格式的,實(shí)現(xiàn)了一定功能的程序段。函數(shù)是C語(yǔ)言程序的基本單位。其中有且僅有一個(gè)main函數(shù)。C函數(shù)由函數(shù)頭和函數(shù)體2部分組成。函數(shù)名后必須跟有一對(duì)小括號(hào),小括號(hào)是函數(shù)的標(biāo)志;函數(shù)體由一對(duì)大括號(hào)括起來(lái)的語(yǔ)句序列組成。分號(hào)“;”是C語(yǔ)句的結(jié)束符。C編譯器以分號(hào)來(lái)識(shí)別一個(gè)語(yǔ)句是否結(jié)束,因此,一行可寫多個(gè)語(yǔ)句,一個(gè)語(yǔ)句也可以寫在多個(gè)程序行上。做一做識(shí)記C語(yǔ)言教案教學(xué)課題C程序結(jié)構(gòu)課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)學(xué)會(huì)正確使用合法的字符和標(biāo)識(shí)符了解在TurboC2.0中快速地運(yùn)行C語(yǔ)言程序并查看程序結(jié)果教學(xué)重點(diǎn)學(xué)會(huì)正確使用合法的字符和標(biāo)識(shí)符了解在TurboC2.0中快速地運(yùn)行C語(yǔ)言程序并查看程序結(jié)果教學(xué)難點(diǎn)學(xué)會(huì)正確使用合法的字符和標(biāo)識(shí)符作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入上節(jié)課程我們學(xué)習(xí)了C語(yǔ)言的結(jié)構(gòu),那C語(yǔ)言是如何構(gòu)成的呢?構(gòu)成C語(yǔ)言的組成又有什么要求,現(xiàn)在我們一起來(lái)學(xué)習(xí)教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)練習(xí)任務(wù)二分析C語(yǔ)言程序的組成元素1.請(qǐng)觀察并分析程序中用到了哪些字符(你現(xiàn)在不必讀懂這個(gè)程序)。然后完成表中的要求。#include"stdio.h"main(){inttimes15;floatsum_of_num=0,fvar;times15=1;while(times15<=5){scanf("%f",&fvar);if(fvar>0)sum_of_num+=fvar;times15++;}printf("輸入的數(shù)中大于0的數(shù)之和是:%f",sum_of_num);}學(xué)生練習(xí),完成下表:C語(yǔ)言可用字符統(tǒng)計(jì)表字符類別名程序中的示例字符字符集合2.觀察并分析程序中的標(biāo)識(shí)符。填表提問(wèn):歸納在程序中用命令來(lái)表示計(jì)算機(jī)要執(zhí)行的操作,通過(guò)調(diào)用函數(shù)來(lái)完成所需的功能,使用變量來(lái)臨時(shí)存儲(chǔ)待處理的數(shù)據(jù),命令、函數(shù)和變量等是組成程序的基本對(duì)象,每一個(gè)程序?qū)ο蠖夹枰粋€(gè)名字來(lái)標(biāo)識(shí),程序?qū)ο蟮拿Q就是標(biāo)識(shí)符。請(qǐng)列出上面程序中的標(biāo)識(shí)符,試按標(biāo)識(shí)符所表示的對(duì)象不同進(jìn)行分類,完成下表。知識(shí)提醒:標(biāo)識(shí)符必須采用半角西文字符(即純西文字符),不能用全角的西文字符。在中文環(huán)境下要特別注意,避免在中文輸入狀態(tài)下錄入程序。在C語(yǔ)言中標(biāo)識(shí)符分為用戶自定義標(biāo)識(shí)符和系統(tǒng)標(biāo)識(shí)符。用戶自定義標(biāo)識(shí)符是指在程序中由用戶為變量、函數(shù)、數(shù)組等程序?qū)ο竺臉?biāo)識(shí)符;系統(tǒng)標(biāo)識(shí)符是C語(yǔ)言編譯系統(tǒng)內(nèi)部預(yù)定義的用于表示命令、數(shù)據(jù)類型的標(biāo)識(shí)符,又稱為保留字。保留字不能用作用戶標(biāo)識(shí)符。3.請(qǐng)研究用戶標(biāo)識(shí)符的命名規(guī)則。上機(jī)實(shí)驗(yàn)是探索標(biāo)識(shí)符命名規(guī)則的最佳途徑,或請(qǐng)教有經(jīng)驗(yàn)的C語(yǔ)言程序設(shè)計(jì)員以及你的C語(yǔ)言課程教師,完成下表中提出的問(wèn)題。(1)對(duì)下列問(wèn)題進(jìn)行討論①標(biāo)識(shí)符中可允許使用的字符有哪些?②標(biāo)識(shí)符中的第一個(gè)字符有什么要求嗎?③標(biāo)識(shí)符中區(qū)分字母大小寫嗎?如Fab與fab,它們是相同還是不同的標(biāo)識(shí)符?④命名標(biāo)識(shí)符時(shí)要用多少字符才恰當(dāng)?⑤一個(gè)標(biāo)識(shí)符可以隨意用一些字符構(gòu)成嗎?這樣的標(biāo)識(shí)符便于使用嗎?⑥保留字可用于用戶標(biāo)識(shí)符嗎?○能○不能(2)歸納標(biāo)識(shí)符的命名規(guī)則知識(shí)歸納:C語(yǔ)言的基本字符集英文字母:a~z和A~Z識(shí)記學(xué)生回答阿拉伯?dāng)?shù)字:0~9其他符號(hào):()、[]、+、-、*、/、%、<、<=、>、>=、==、!=、!、&&、||、++、--、+=、-=、*=、/=、%=等,它們一般由1~2個(gè)符號(hào)組成用作C語(yǔ)言的運(yùn)算符;還包括空格、換行符、回車符、單雙引號(hào)、大括號(hào)、逗號(hào)、分號(hào)、反斜線等符號(hào)。標(biāo)識(shí)符是用于標(biāo)識(shí)命令、變量、函數(shù)、數(shù)組、數(shù)據(jù)類型等程序?qū)ο蟮拿Q的字符序列。用戶標(biāo)識(shí)符的命名規(guī)則標(biāo)識(shí)符可由字母、數(shù)字、下劃線3種字符組成。標(biāo)識(shí)符的第一個(gè)字符必須是字母或下劃線。保留字不能用作用戶標(biāo)識(shí)符,C語(yǔ)言的關(guān)鍵字請(qǐng)見(jiàn)附錄3。標(biāo)識(shí)符區(qū)分字母的大小寫,time、Time、TIME是3個(gè)完全不同的標(biāo)識(shí)符。標(biāo)識(shí)符由一個(gè)或多個(gè)字符組成,但一般只有前8個(gè)字符有效(TurboC的標(biāo)識(shí)符前32個(gè)字符有效)。標(biāo)識(shí)符宜選取能反映所標(biāo)識(shí)的對(duì)象的有意義的英文單詞(或縮寫),做到見(jiàn)名知意,提高程序的可讀性。標(biāo)識(shí)符的選擇應(yīng)遵循“常用取簡(jiǎn),專用取繁”的原則,一般在6個(gè)字符以內(nèi)就能適應(yīng)各種應(yīng)用的需求。提醒注意:C語(yǔ)言的基本字符都是半角西文字符(即純西文字符)。用戶標(biāo)識(shí)符的命名規(guī)則中前三條用于判定一個(gè)用戶標(biāo)識(shí)符的合法性,后面四條規(guī)則校驗(yàn)標(biāo)識(shí)符的可讀性和易用性。任務(wù)三執(zhí)行一個(gè)C語(yǔ)言程序TurboC是在PC機(jī)上廣泛使用的基于DOS操作系統(tǒng)的C語(yǔ)言處理程序,它向用戶提供了一個(gè)集成的開(kāi)發(fā)環(huán)境,即它把程序的編輯、編譯、連接、運(yùn)行等操作全都集中在一個(gè)界面下完成?,F(xiàn)假定計(jì)算機(jī)的操作系統(tǒng)是Windows2000,TurboC安裝在計(jì)算機(jī)的D盤,安裝目錄為根目錄下的tc文件夾。1.啟動(dòng)TurboC2.0集成開(kāi)發(fā)環(huán)境①單擊“開(kāi)始”—“程序”—“附件”—“命令提示符”,進(jìn)入DOS系統(tǒng)環(huán)境。②在DOS系統(tǒng)提示符后依次輸入“d:”→“cdtc”→“tc”,進(jìn)入TurboC的集成開(kāi)發(fā)環(huán)境。2.編輯C語(yǔ)言源程序記憶理解注意①按功能鍵F10激活菜單,執(zhí)行“File”—“New”新建一個(gè)程序文件,如圖1.2所示。②在編輯窗口中輸入C語(yǔ)言源程序。此處輸入任務(wù)一中第一個(gè)程序代碼。3.保存C程序文件①在編輯狀態(tài)下按功能鍵<F2>。②在彈出的對(duì)話框中輸入程序文件名(擴(kuò)展名“.C”可以不輸入,編輯器會(huì)自動(dòng)添加),然后按回車鍵即可。4.編譯運(yùn)行程序①仔細(xì)檢查程序代碼是否有語(yǔ)法和邏輯錯(cuò)誤。②按快捷鍵<Ctrl>+<F9>,TurboC依次自動(dòng)完成當(dāng)前程序的編譯、連接并運(yùn)行程序。5.查看程序運(yùn)行結(jié)果①按快捷鍵<Alt>+<F5>切換至用戶屏幕觀察程序運(yùn)行結(jié)果。②觀察完畢,按任意鍵返回編輯窗口。6.請(qǐng)根據(jù)實(shí)驗(yàn)完成下面的題目(1)C程序從哪里開(kāi)始執(zhí)行,在哪里結(jié)束程序?①在TurboC中新建一個(gè)程序文件,輸入并運(yùn)行任務(wù)一中第二個(gè)程序,觀察并記錄程序語(yǔ)句執(zhí)行的先后順序。②交換任務(wù)一中第二個(gè)程序中main和max2個(gè)函數(shù)的位置,執(zhí)行修改后的程序,仍關(guān)注程序語(yǔ)句執(zhí)行的先后順序。③根據(jù)這兩次程序執(zhí)行的情況,你的結(jié)論是:

。(2)C語(yǔ)言源程序運(yùn)行的過(guò)程C語(yǔ)言源程序的運(yùn)行要經(jīng)過(guò)、、和,每步生成的文件擴(kuò)展名分別是、、。(4)TurboC編譯器操作①請(qǐng)描述編譯器窗口菜單的操作要點(diǎn)。②快捷鍵能夠提高操作的效率,請(qǐng)找出實(shí)現(xiàn)下面操作的快捷鍵。做一做程序文件存盤:編譯運(yùn)行程序:查看用戶屏幕:打開(kāi)程序文件:退出編譯器:小結(jié):本章節(jié)主要學(xué)習(xí)了C語(yǔ)言程序的結(jié)構(gòu)和組成。學(xué)習(xí)了標(biāo)識(shí)符的命名規(guī)則。了解了C語(yǔ)言執(zhí)行的過(guò)程。C語(yǔ)言教案教學(xué)課題C程序基本數(shù)據(jù)對(duì)象基本數(shù)據(jù)類型課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)掌握C語(yǔ)言基本數(shù)據(jù)類型掌握C語(yǔ)言基本數(shù)據(jù)類型的特性會(huì)正確的使用數(shù)據(jù)類型教學(xué)重點(diǎn)掌握C語(yǔ)言基本數(shù)據(jù)類型掌握C語(yǔ)言基本數(shù)據(jù)類型的特性教學(xué)難點(diǎn)掌握C語(yǔ)言基本數(shù)據(jù)類型的特性作業(yè)布置方法教學(xué)教授法教學(xué)后記復(fù)習(xí)引入程序加工處理的對(duì)象是數(shù)據(jù)。人們用數(shù)據(jù)來(lái)記錄和描述事物及它們的相關(guān)特性,事物不同或描述的方面不同,所采用的數(shù)據(jù)的形式和相關(guān)的處理方法也不同,這就產(chǎn)生了數(shù)據(jù)類型。本模塊將討論C語(yǔ)言程序中的基本數(shù)據(jù)對(duì)象的類型,如何在程序中使用常數(shù)和變量2種形式的數(shù)據(jù)對(duì)象。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)進(jìn)入課題任務(wù)一對(duì)數(shù)據(jù)進(jìn)行分類1.請(qǐng)收集下面所列對(duì)象的相關(guān)數(shù)據(jù),并完成下表提出的要求。在一頁(yè)紙上列出描述下列對(duì)象的數(shù)據(jù):中央電視臺(tái)提供的節(jié)目套數(shù)你的身高(m)和體重(kg)你所在班的人數(shù)一次英語(yǔ)教師為你的作業(yè)評(píng)定的等級(jí)你的身份證號(hào)碼、電話號(hào)碼中國(guó)的英語(yǔ)拼寫形式光的傳播速度……(請(qǐng)你補(bǔ)充)描述對(duì)象屬性數(shù)據(jù)電視臺(tái)節(jié)目套數(shù) 人身高 人體重 班級(jí)人數(shù) 作業(yè)等級(jí) 電話號(hào)碼 收集數(shù)據(jù)補(bǔ)充學(xué)習(xí)練習(xí)教師歸納國(guó)家(中國(guó))英語(yǔ)拼寫形式光傳播速度 2.對(duì)收集到的數(shù)據(jù)進(jìn)行分類,分析數(shù)據(jù)的組成形式、可以進(jìn)行的操作等特性,按要求填寫下表。(1)數(shù)據(jù)的基本特性數(shù)據(jù)組成是否用小數(shù)點(diǎn)能否算術(shù)運(yùn)算描述的對(duì)象屬性單位是否可分知識(shí)歸納:C語(yǔ)言中數(shù)據(jù)的基本類型名稱標(biāo)識(shí)符長(zhǎng)度(字節(jié))取值范圍描述整型數(shù)據(jù)基本整型int2-32768~32767填表注意記憶用于描述事物對(duì)象個(gè)數(shù)、數(shù)目等不可分的屬性的數(shù)據(jù)被稱為整型數(shù)據(jù),簡(jiǎn)稱整數(shù)長(zhǎng)整型long4-2147483648

~2147483647無(wú)符號(hào)整型unsigned20~65535只能表示非負(fù)整數(shù)實(shí)型單精度實(shí)型float43.4e-38~3.4e+38記錄事物對(duì)象的長(zhǎng)度、重量等屬性的帶小數(shù)點(diǎn)的數(shù)據(jù)被稱為實(shí)型數(shù)據(jù),簡(jiǎn)稱實(shí)數(shù)雙精度實(shí)型double81.7e-308~1.7e+308字符型char1事物對(duì)象的名稱、代號(hào)以及其他屬性的文字性描述被稱為字符型數(shù)據(jù)本章節(jié)主要學(xué)習(xí)了C語(yǔ)言的基本數(shù)據(jù)類型,了解了他們的特性。學(xué)會(huì)了怎樣正確的使用數(shù)據(jù)。小結(jié)C語(yǔ)言教案教學(xué)課題C程序基本數(shù)據(jù)對(duì)象常量書寫規(guī)則課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)了解常量的概念在語(yǔ)言程序中正確規(guī)范書寫各種類型的常量教學(xué)重點(diǎn)了解常量的概念在語(yǔ)言程序中正確規(guī)范書寫各種類型的常量教學(xué)難點(diǎn)在語(yǔ)言程序中正確規(guī)范書寫各種類型的常量作業(yè)布置教學(xué)方法教學(xué)后記復(fù)習(xí)引入常量是指從字面上即可直接識(shí)別該數(shù)據(jù)的類型和數(shù)據(jù)值的數(shù)據(jù)對(duì)象。它在程序的整個(gè)運(yùn)行過(guò)程中其值不會(huì)發(fā)生變化。每種類型的數(shù)據(jù)都有常量形式,它們?cè)诔绦蛑卸加邢鄳?yīng)的書寫要求。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)進(jìn)入課題提問(wèn)任務(wù)二正確書寫C程序中的常量1.請(qǐng)觀察下面程序中出現(xiàn)的整型常量,并描述它們的組成和書寫格式。#include"stdio.h"main(){intpn,ox,adr;pn=-563;ox=037;adr=0x3f4d;printf("%d",pn+ox-adr);}(1)在程序中標(biāo)出常量對(duì)象。(2)這些常量中有小數(shù)點(diǎn)嗎?○有○沒(méi)有(3)請(qǐng)描述整型常量的書寫要求形式組成元素書寫規(guī)則十進(jìn)制八進(jìn)制十六進(jìn)制(4)請(qǐng)寫幾個(gè)正確的整型常量:做一做提示提問(wèn)(5)請(qǐng)寫幾個(gè)錯(cuò)誤的整型常量:在整型常量后面加字母l或L表示這是一個(gè)長(zhǎng)整型常量,如56l或56L。這種書寫格式常用于函數(shù)的調(diào)用中,C語(yǔ)言要求調(diào)用函數(shù)時(shí)實(shí)參類型必須與形參類型相同,如果函數(shù)的形參是long型,則要求實(shí)參也為long型,此時(shí)若用整型常量345作實(shí)參就不行,而要用345l作實(shí)參。2.請(qǐng)運(yùn)行下面的程序,觀察程序中出現(xiàn)的實(shí)型常量,并描述它們的組成和正確書寫格式。#include"stdio.h"main(){floatfv1,fv2;doubledv1,dv2;fv1=5.672;fv2=321E-24;dv1=-.125;dv2=2.97e5;printf("%f%f\n",fv1,fv2);printf("%f%f",dv1,dv2);}提問(wèn):(1)在程序中標(biāo)出常量對(duì)象。(2)這些常量中有小數(shù)點(diǎn)嗎?○有○沒(méi)有(3)小數(shù)點(diǎn)的一側(cè)可以不寫數(shù)字嗎?○可以○不可以(4)有的常量中出現(xiàn)了字符,它相當(dāng)于數(shù)學(xué)上的記數(shù)法。(5)請(qǐng)描述實(shí)型常量的書寫要求(6)請(qǐng)用TurboC編譯器編譯下面的程序,分析其他出錯(cuò)的原因,然后描述書寫實(shí)型常量的注意事項(xiàng)。#include"stdio.h"main(){floatr1,r2,r3.r4;r1=9.5.6;注意記憶練習(xí),做一做討論完成提問(wèn):r2=6.2E3.5;r3=200e;r4=e10;printf("%f",r1+r2+r3+r4);}①指出實(shí)型常量書寫錯(cuò)誤的地方:②請(qǐng)描述正確書寫實(shí)型常量的注意事項(xiàng):3.請(qǐng)觀察下面程序中出現(xiàn)的字符型常量,并描述它們的組成和正確書寫格式。#include"stdio.h"main(){charcs;cs=getchar();if(cs=='1')puts("Best");esleif(cs=='2')puts("Better");elseif(cs=='3')puts("Good");elseputs("Error!");}(1)在程序中標(biāo)出常量對(duì)象。(2)這些字符型常量在書寫時(shí)使用了什么作為定界符?(3)請(qǐng)為字符常量和字符串常量下定義。字符是字符串是(4)請(qǐng)描述字符型常量的書寫要求(5)請(qǐng)按書寫要求寫幾個(gè)正確的字符型常量。字符:字符串:做一做提醒注意記憶知識(shí)提示:有的字符不能像字母、數(shù)字等字符那樣能在程序中直接輸入,它們中有的是“控制字符”,代表一種操作且不能在屏幕上顯示,如換行符、退格符等;還有一些字符在C語(yǔ)言中有別的含義也不能直接輸入,如單引號(hào)、雙引號(hào)等。在C語(yǔ)言中這類字符采用一種稱為“轉(zhuǎn)義字符”的特殊形式來(lái)表示。轉(zhuǎn)義字符是以反斜線“\”字符開(kāi)頭的字符序列。如換行符不是按回車鍵來(lái)輸入而是輸入’\n’,C語(yǔ)言編譯程序會(huì)把反斜線后的字符解釋為另一個(gè)字符,這里’\n’中的字符n就不是字母n而作為換行符。轉(zhuǎn)義字符表示的是一個(gè)字符。常用的轉(zhuǎn)義字符轉(zhuǎn)義字符代表的字符ASCII碼\n換行符(使光標(biāo)移到下一行開(kāi)頭)10\r回車符(使光標(biāo)回到本行開(kāi)頭)13\b退格符(使光標(biāo)左移一列)8\t水平制表符9\v垂直制表符11\'單引號(hào)39\"雙引號(hào)34\\反斜線92\dddddd:1~3位八進(jìn)制數(shù)形式的ASCII碼所代表的字符\xhhhh:1~2位十六進(jìn)制數(shù)形式的ASCII碼所代表的字符C語(yǔ)言編譯器通過(guò)常量形式來(lái)識(shí)別它們的類型而不管其數(shù)學(xué)意義。如2e3的數(shù)據(jù)類型是實(shí)型而不是整型。注意要求閱讀在C語(yǔ)言中,字符串未尾會(huì)自動(dòng)加上一個(gè)空字符作為結(jié)束符,其書寫格式為'\0',在存儲(chǔ)字符串時(shí)要同時(shí)存儲(chǔ)字符串結(jié)束符。組成字符串的字符的個(gè)數(shù),稱為字符串的長(zhǎng)度。計(jì)算字符串長(zhǎng)度時(shí)不計(jì)定界符和結(jié)束符。4.閱讀下面的程序,觀察在程序中如何使用標(biāo)識(shí)符來(lái)表示常量,完成表中提出的要求。當(dāng)在程序中需要多次用到一個(gè)常量時(shí),C語(yǔ)言中可以用一個(gè)標(biāo)識(shí)符來(lái)代表這個(gè)常量,這個(gè)代表常量的標(biāo)識(shí)符稱為符號(hào)常量。#include"stdio.h"#defineMW"hello!"#defineTIME3#definePI3.14main(){intr=6;floatl,s;l=2*PI*r;s=PI*r*r;printf(“l(fā)=%f,s=%f\n”,l,s);}(1)指出程序中使用的符號(hào)常量及所代表的值。(2)請(qǐng)寫出定義符號(hào)常量的一般格式。(3)在程序中用標(biāo)識(shí)符PR表示2500,請(qǐng)你給出相關(guān)的定義。(4)如果要使用圓周率3.14159來(lái)進(jìn)行計(jì)算,你認(rèn)為有程序中要做幾處修改?○1處○2處(5)如果程序中有100個(gè)地方要使用圓周率,你是愿意直接使用圓周率的值,還是為它定義相應(yīng)的符號(hào)常量,談?wù)勀愕南敕?。?)使用符號(hào)常量時(shí)的注意事項(xiàng):閱讀程序做一做理解記憶(7)請(qǐng)說(shuō)出在程序中使用符號(hào)常量的好處。知識(shí)歸納:常量的書寫規(guī)則①凡不帶小數(shù)點(diǎn)或指數(shù)的數(shù)就是整型常量,它有十進(jìn)制、八進(jìn)制、十六進(jìn)制3種形式:十進(jìn)制形式:遵循數(shù)學(xué)上的書寫要求,如128、-49、+356等。八進(jìn)制形式:由0開(kāi)頭后跟(0∽7)中的數(shù)字組成的數(shù)字串,如010、0657、-036等。十六進(jìn)制形式:由0x或0X開(kāi)頭后跟(0∽9,a∽f或A∽F)中的數(shù)字組成的數(shù)字串,如0xac、0x78d6、0X101、0X6C6C等。②實(shí)型常量有十進(jìn)制小數(shù)和指數(shù)2種形式,十進(jìn)制小數(shù)形式中必須有且只有一個(gè)小數(shù)點(diǎn),且小數(shù)點(diǎn)的左右至少一邊有數(shù)字;書寫指數(shù)形式注意字母e(或E)之前必須有數(shù)字,其后面的指數(shù)必須為整數(shù)。③字符常量是用單引號(hào)('')括起的一個(gè)字符,轉(zhuǎn)義字符例外,轉(zhuǎn)義字符仍是一個(gè)字符;字符串常量是用雙引號(hào)("")括起字符序列(字符串中的字符可以是轉(zhuǎn)義字符)。定義符號(hào)常量①一般格式:#define標(biāo)識(shí)符常量②注意事項(xiàng):定義符號(hào)常量的命令是預(yù)編譯命令,放在源程序的最前面;標(biāo)識(shí)符中的字母一般采用大寫形式;命令行后沒(méi)有分號(hào),命令中各部分用空格分隔。③符號(hào)常量帶來(lái)的好處是提高了程序的可讀性,便于程序的修改。C語(yǔ)言教案教學(xué)課題C程序基本數(shù)據(jù)對(duì)象變量課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)識(shí)記變量的概念在C語(yǔ)言程序中正確使用變量教學(xué)重點(diǎn)識(shí)記變量的概念在C語(yǔ)言程序中正確使用變量教學(xué)難點(diǎn)在C語(yǔ)言程序中正確使用變量作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入變量是程序中數(shù)據(jù)對(duì)象的一種重要形式。為了在程序中有效組織和處理數(shù)據(jù),你需要理解變量這種數(shù)據(jù)形式,掌握在程序中使用變量的要求和操作方法。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)教師提問(wèn)任務(wù)三在程序中使用變量1.請(qǐng)運(yùn)行下面的程序,記錄程序結(jié)果,并完成提出的問(wèn)題。#include"stdio.h"main(){floatpay=0.0;printf("1:pay=%f\n",pay);pay=6*1.5; printf("2:pay=%f\n",pay);}(1)程序中涉及哪幾個(gè)數(shù)據(jù)對(duì)象?其中哪些數(shù)據(jù)對(duì)象發(fā)生了變化?思考后回答教師歸納(2)請(qǐng)為變量下定義。變量是。(3)你認(rèn)為變量包含哪幾個(gè)方面的要素?(4)程序中的變量好似存儲(chǔ)數(shù)據(jù)的容器,你贊同這個(gè)比方嗎?○贊同○不贊同(5)根據(jù)你對(duì)計(jì)算機(jī)基礎(chǔ)知識(shí)的了解,你認(rèn)為變量和計(jì)算機(jī)的內(nèi)存儲(chǔ)器有聯(lián)系嗎?請(qǐng)談一談你的看法。知識(shí)歸納:變量是在程序運(yùn)行過(guò)程中其值可以發(fā)生變化的數(shù)據(jù)對(duì)象。變量包括變量名、數(shù)據(jù)類型和變量值3個(gè)要素。變量名必須是合法的自定義標(biāo)識(shí)符。變量對(duì)應(yīng)于計(jì)算機(jī)的一段內(nèi)存單元,編譯器根據(jù)變量的數(shù)據(jù)類型為變量分配相應(yīng)的內(nèi)存單元,數(shù)據(jù)類型決定了所分配給變量?jī)?nèi)存單元的多少。變量名是對(duì)應(yīng)內(nèi)存單元的符號(hào)化地址。2.閱讀并運(yùn)行下面2個(gè)程序,程序2在運(yùn)行時(shí)輸入p,根據(jù)程序的運(yùn)行結(jié)果,描述在程序中變量的使用要求,完成提出的問(wèn)題。程序1:#include"stdio.h"main(){intpn,tn;floatw1=3.2,w2,w3=0.369;charch;pn=100;tn=pn-1;w2=w1+w3;ch='K';理解記憶請(qǐng)學(xué)生對(duì)比回答printf("%d%d\n",pn,tn);printf("%f+%f=%f\n",w1,w3,w2);printf("%c",ch);}程序2:#include"stdio.h"main(){intpn,tn;floatw1=3.2,w2,w3;charch;pn=100;tn=pn-1;w2=w1+w3;scanf("%d",&ch);printf("%d%d\n",pn,tn);printf("%f+%f=%f\n",w1,w3,w2);printf("%c",ch);}(1)在程序中使用變量必須要。(2)定義變量要指出和,其一般格式為:(3)變量定義后的值:○確定○不確定(4)為變量預(yù)置初始值有2種方法,在上面左側(cè)的程序中找出,并進(jìn)行歸納。①②知識(shí)提示:符號(hào)“=”的作用是給變量賦值,它被稱為賦值號(hào)。賦值號(hào)把它右邊的值賦值給它左邊的變量。關(guān)于賦值號(hào)的更多信息請(qǐng)參見(jiàn)模塊三。思考后回答注意未賦值的變量其值不確定,不確定的值不能參加運(yùn)算。因此,變量在參加運(yùn)算前一定要賦初值或者為它輸入值。知識(shí)歸納:在C語(yǔ)言程序中使用變量必須遵守“先定義,后使用”的原則。定義變量的一般格式為:類型標(biāo)識(shí)符變量名列表;類型標(biāo)識(shí)符即數(shù)據(jù)類型的名稱,如int,float,char等。變量名列表是用逗號(hào)(,)分隔的變量名組成。為變量預(yù)置初始值有初始化和賦初值2種形式。變量初始化是在定義變量時(shí)預(yù)置它的初始數(shù)據(jù);賦初值是指定義變量后,在使用之前的賦值操作。初始化:intx=1,y=2,z=3;賦初值:intx,y,z;x=1;y=2;z=3;理解記憶C語(yǔ)言教案教學(xué)課題C語(yǔ)言數(shù)據(jù)運(yùn)算課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)1.掌握各種常用運(yùn)算符的運(yùn)算規(guī)則2.掌握各種運(yùn)算符的優(yōu)先級(jí)和結(jié)合性3.能正確將數(shù)學(xué)表達(dá)式與C語(yǔ)言表達(dá)式相互轉(zhuǎn)換教學(xué)重點(diǎn)掌握各種常用運(yùn)算符的運(yùn)算規(guī)則掌握各種運(yùn)算符的優(yōu)先級(jí)和結(jié)合性教學(xué)難點(diǎn)掌握各種運(yùn)算符的優(yōu)先級(jí)和結(jié)合性能正確將數(shù)學(xué)表達(dá)式與C語(yǔ)言表達(dá)式相互轉(zhuǎn)換作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入數(shù)據(jù)的運(yùn)算處理是程序運(yùn)行中的重要操作。在C語(yǔ)言中用運(yùn)算符來(lái)表達(dá)在數(shù)據(jù)對(duì)象上進(jìn)行的運(yùn)算操作,參加運(yùn)算的數(shù)據(jù)對(duì)象(常量、變量或函數(shù))被稱為操作數(shù)。運(yùn)算符和操作數(shù)連接起來(lái)組成表達(dá)式,為了能在程序中表達(dá)對(duì)數(shù)據(jù)的運(yùn)算處理,必須要理解運(yùn)算符的特定的運(yùn)算規(guī)則。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)進(jìn)入課題任務(wù)一計(jì)算算術(shù)表達(dá)式的值算術(shù)運(yùn)算是數(shù)據(jù)處理中的基本運(yùn)算。算術(shù)運(yùn)算符的運(yùn)算規(guī)則大多數(shù)與數(shù)學(xué)上的運(yùn)算規(guī)則相同,但也有個(gè)別運(yùn)算符具有與數(shù)學(xué)上不同的處理要求。1.請(qǐng)分析下面程序運(yùn)行結(jié)果,并通過(guò)上機(jī)驗(yàn)證,歸納在C語(yǔ)言中算術(shù)運(yùn)算符的運(yùn)算規(guī)則和特定的要求。#include"stdio.h"main()要求學(xué)習(xí)練習(xí)提醒學(xué)生注意{intm=19,n=5;floatf1=5.6,f2=9.5;printf("%d%d\n",m+n,m-n);printf("%d%d\n",m/n,n/m);printf("%f%f\n",19/5.0,19.0/5);printf("%d%d\n",m*n,-m);printf("%f%f\n",f1+f2,f1-f2);printf("%f%f%f\n",f1*f2,f1/f2,-f1);printf("%c%c\n",'B'-1,'B'+32);}學(xué)生練習(xí)(1)請(qǐng)?jiān)诔绦蜃詈筇砑酉铝姓Z(yǔ)句行,再執(zhí)行程序,然后分析出現(xiàn)的情況。printf("%d%f\n",19%5.0,f1%f2);(2)分析程序運(yùn)行結(jié)果,完成下表。寫出各運(yùn)算符的規(guī)則知識(shí)提示:字符型數(shù)據(jù)在計(jì)算機(jī)中存儲(chǔ)形式是它的ASCII編碼。ASCII碼是整型數(shù)據(jù),因此,字符可以加上或減去一個(gè)整數(shù)。雖然字符和整數(shù)之間可以進(jìn)行其他的算術(shù)運(yùn)算而不違背C語(yǔ)言語(yǔ)法規(guī)則,但卻沒(méi)有實(shí)際意義,在程序設(shè)計(jì)中應(yīng)避免出現(xiàn)這樣的運(yùn)算。2.請(qǐng)根據(jù)你在數(shù)學(xué)課程所學(xué)到的算術(shù)運(yùn)算符的運(yùn)算規(guī)則,計(jì)算下面程序中的表達(dá)式的值,并上機(jī)驗(yàn)證,然后完成提出的要求。#include"stdio.h"main(){intm=16,n=5;printf("%d\n",m+6-n);printf("%d\n",m+5*2-n);printf("%d\n",(m+5)*(2-n));printf("%d\n",m/n*n);做一做理解記憶提問(wèn)教師提示printf("%d\n",m%n*10);}學(xué)生練習(xí):(1)請(qǐng)描述什么是算術(shù)表達(dá)式?(2)當(dāng)在算術(shù)表達(dá)式中出現(xiàn)多個(gè)運(yùn)算符時(shí),你是如何確定它們運(yùn)算的先后順序?(3)表達(dá)式中的小括號(hào)有何作用?知識(shí)提示:優(yōu)先級(jí)是指在一個(gè)表達(dá)式中運(yùn)算符執(zhí)行的先后順序。結(jié)合性是指操作數(shù)與運(yùn)行符結(jié)合的方向,它分為左結(jié)合、右結(jié)合2種。左結(jié)合是指從左向右結(jié)合執(zhí)行運(yùn)算,右結(jié)合是指從右向左結(jié)合執(zhí)行運(yùn)算。結(jié)合性決定了優(yōu)先級(jí)相同的運(yùn)算符的執(zhí)行先后順序。在C語(yǔ)言中,不同類型的數(shù)據(jù)可以進(jìn)行混合運(yùn)算,但在運(yùn)算時(shí)運(yùn)算符的操作數(shù)要轉(zhuǎn)換成同一種數(shù)據(jù)類型。C語(yǔ)言提供了2種數(shù)據(jù)轉(zhuǎn)換方式。①由編譯器自動(dòng)完成的類型轉(zhuǎn)換,其轉(zhuǎn)換操作如下所示。double←double←float↑long↑unsigned↑int←char,short箭頭方向所指的是級(jí)別較高的數(shù)據(jù)類型←表示在運(yùn)算時(shí)總要進(jìn)行的轉(zhuǎn)換?!硎静僮鲾?shù)類型不同時(shí)的轉(zhuǎn)換方向。類型轉(zhuǎn)換是一步到位的,不經(jīng)過(guò)中間類型。做一做理解記憶②C語(yǔ)言通過(guò)類型轉(zhuǎn)換運(yùn)算符來(lái)完成將表達(dá)式的值轉(zhuǎn)換成所需的數(shù)據(jù)類型,較高類型向低類型強(qiáng)制轉(zhuǎn)換時(shí)會(huì)丟失信息。一般格式為:(類型標(biāo)識(shí)符)表達(dá)式如(int)fv的值為int型,(float)x/y是把x的值轉(zhuǎn)換成實(shí)數(shù)后再除以y。3.請(qǐng)把下面的數(shù)學(xué)表達(dá)式改寫成C語(yǔ)言表達(dá)式,并完成下面的問(wèn)題。(1)數(shù)學(xué)表達(dá)式 C語(yǔ)言表達(dá)式3x2+x-1(2)為了寫出符合C語(yǔ)言語(yǔ)法規(guī)則又能保持原數(shù)學(xué)表達(dá)式的運(yùn)算要求的表達(dá)式,你采取了什么措施?(3)請(qǐng)描述算術(shù)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。(4)請(qǐng)歸納將數(shù)學(xué)表達(dá)式改寫成C語(yǔ)言表達(dá)式的要點(diǎn):①②做一做C語(yǔ)言教案教學(xué)課題C語(yǔ)言中的賦值表達(dá)式課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)能正確的寫出C語(yǔ)言的表達(dá)式掌握賦值表達(dá)式的計(jì)算方法3.能正確的為變量賦值教學(xué)重點(diǎn)掌握賦值表達(dá)式的計(jì)算方法能正確的為變量賦值教學(xué)難點(diǎn)掌握賦值表達(dá)式的計(jì)算方法能正確的為變量賦值作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入變量是在程序中臨時(shí)存儲(chǔ)數(shù)據(jù)的程序?qū)ο螅绦蛑写幚淼臄?shù)據(jù)、程序運(yùn)行的中間結(jié)果以及數(shù)據(jù)處理的結(jié)果都要由變量來(lái)保存。因此賦值成為C語(yǔ)言中的重要運(yùn)算教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)進(jìn)入課題1.請(qǐng)運(yùn)行下面程序,根據(jù)運(yùn)行結(jié)果,考察程序中的賦值操作,完成表中提出的問(wèn)題。#include"stdio.h"main(){intpl,mny,ttl=10;floatm1,m2;doubleewt,mnt;charsyb,sgn;pl=521;mny=78.926;ttl+=5;提問(wèn)教師提示m1=34.5;m2=669;ewt=100;mnt=3.5E+32;syb='A';sng=97;printf("pl=%d,mny=%d,ttl=%d\n",pl,mny,ttl);printf("m1=%f,m2=%f\n",m1,m2);printf("ewt=%f,mnt=%f\n",ewt,mnt);printf("syb=%c,sgn=%c",syb,sgn);}學(xué)生練習(xí):(1)實(shí)現(xiàn)賦值操作的運(yùn)算符是,它的正確讀法是:○等號(hào)○賦值號(hào)。它的作用是。(2)可以把與變量數(shù)據(jù)類型不同的數(shù)據(jù)賦值給變量嗎?可以○不可以。當(dāng)給變量賦予不同于它的類型的數(shù)據(jù)時(shí),有哪些情況?C語(yǔ)言是怎樣處理的?(3)請(qǐng)描述賦值運(yùn)算ttl+=5的工作過(guò)程。(4)賦值運(yùn)算操作的順序是:○從左到右○從右到左。賦值運(yùn)算符的結(jié)合性是。(5)可以把一個(gè)字符串賦值給一個(gè)字符變量嗎?請(qǐng)上機(jī)實(shí)驗(yàn)后做出決定?!鹉堋鸩荒苤R(shí)提示:賦值操作改變變量的值,變量值的變化遵守“新來(lái)舊去”的原則。未重新賦值的變量保持它原來(lái)的值。把與變量類型不同的數(shù)據(jù)賦值給變量,賦值運(yùn)算符自動(dòng)把該數(shù)據(jù)轉(zhuǎn)換成變量的數(shù)據(jù)類型,然后把轉(zhuǎn)換后的數(shù)據(jù)值賦給變量。當(dāng)把一個(gè)實(shí)數(shù)賦值給一個(gè)整型變量時(shí),將只把實(shí)數(shù)的整數(shù)部分賦值給變量。做一做理解記憶要求學(xué)生閱讀提問(wèn)字符型數(shù)據(jù)在計(jì)算機(jī)中存儲(chǔ)形式是它的ASCII編碼。ASCII碼是整型數(shù)據(jù),因此,可以把一個(gè)字符賦值給一個(gè)整型變量,也可以把一個(gè)整數(shù)賦值給一字符變量(該整數(shù)要是一個(gè)有效的ASCII,即在ASCII碼的有效范圍內(nèi)0~127)。在沒(méi)有特殊需要的情況,請(qǐng)不要把與變量類型不同的數(shù)據(jù)賦值給變量,以免出現(xiàn)數(shù)據(jù)處理誤差或造成內(nèi)存空間的浪費(fèi)。形如+=的運(yùn)算符是一個(gè)其他運(yùn)算符(算術(shù)運(yùn)算符)和基本運(yùn)算符(=)的組合,稱為復(fù)合賦值運(yùn)算符。它兼有其他運(yùn)算符的運(yùn)算功能和給變量賦值的功能。其他常用的復(fù)合賦值運(yùn)算符還有:-=、*=、、/=、%=。2.請(qǐng)運(yùn)行下面的程序,根據(jù)程序運(yùn)行結(jié)果,描述C語(yǔ)言對(duì)賦值表達(dá)式的值的規(guī)定。#include"stdio.h"#definePR125main(){intpl,ttl=10;floatl1;charsyb;printf("%d%d\n",pl=521,ttl+=5);printf("%f\n",l1=34.5);printf("%c",syb='A');}學(xué)生練習(xí):(1)若在程序中加一行PR=250;運(yùn)行程序時(shí)出現(xiàn)了什么情況?(2)請(qǐng)描述什么是賦值表達(dá)式,在C語(yǔ)言中賦值表達(dá)式的值的規(guī)定。①②(3)在賦值表達(dá)式中賦值號(hào)左邊必須是,右邊可以是。符號(hào)常量使用了標(biāo)識(shí)符,可以給符號(hào)常量賦值嗎?○可以○不可以(4)請(qǐng)分析下面賦值表達(dá)式的運(yùn)算過(guò)程和表達(dá)式的值以及各變量的值。做一做①floatx,y,z;②inta,b=3,c=2;x=y=z=5.79;a+=b*=c+=2;任務(wù)三計(jì)算自增自減表達(dá)式的值自增自減運(yùn)算是C語(yǔ)言中一種比較特別的運(yùn)算。請(qǐng)分析并運(yùn)行下面的程序,記錄程序的運(yùn)行結(jié)果,完成下面的問(wèn)題。#include"stdio.h"main(){intx,y;x=1;y=x++;printf("%d%d\n",x,y);x=1;y--;printf("%d%d\n",x,y);x=1;y=++x;printf("%d%d\n",x,y);x=1;y=--x;printf("%d%d\n",x,y);}學(xué)生練習(xí):(1)分析程序運(yùn)行結(jié)果,填寫下表(以變量x為例)運(yùn)算符表達(dá)式形式表達(dá)式值變量值++前綴后綴——前綴后綴(2)請(qǐng)根據(jù)填表描述自增自減表達(dá)式的取值規(guī)則。①前綴表達(dá)式:②后綴表達(dá)式:(3)請(qǐng)通過(guò)上機(jī)實(shí)驗(yàn)考察++、--運(yùn)算符的操作數(shù)的類型和數(shù)據(jù)對(duì)象的類型①可以參加自增自減運(yùn)算的操作數(shù)的數(shù)據(jù)類型是。②常量和表達(dá)式能進(jìn)行自增自減運(yùn)算嗎?○能○不能知識(shí)提示:做一做確定自增自減運(yùn)算表達(dá)式的簡(jiǎn)單方法是:觀察表達(dá)式中變量和運(yùn)算符的位置關(guān)系,凡變量在前,則表達(dá)式的值為變量自增(或自減)之前的值;凡變量在后,則表達(dá)式的值為變量自增(或自減)之后的值。自增自減運(yùn)算操作中包含有賦值操作,因此,不能對(duì)常量和表達(dá)式進(jìn)行自增自減運(yùn)算。自增自減運(yùn)算符的優(yōu)先級(jí)和結(jié)合性請(qǐng)參見(jiàn)本模塊后“日積月累”中的表。理解記憶C語(yǔ)言教案教學(xué)課題C語(yǔ)言中的關(guān)系,邏輯表達(dá)式課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)1.掌握關(guān)系表達(dá)式的計(jì)算方法2.掌握邏輯表達(dá)式的計(jì)算方法3.能正確的計(jì)算關(guān)系邏輯表達(dá)式教學(xué)重點(diǎn)掌握關(guān)系表達(dá)式的計(jì)算方法掌握邏輯表達(dá)式的計(jì)算方法教學(xué)難點(diǎn)能正確的計(jì)算關(guān)系邏輯表達(dá)式作業(yè)布置教學(xué)方法教授法教學(xué)后記復(fù)習(xí)引入計(jì)算機(jī)程序能根據(jù)不同的條件作出不同的處理,兩個(gè)數(shù)的大小關(guān)系常用來(lái)表達(dá)問(wèn)題中的簡(jiǎn)單條件。在C語(yǔ)言中,比較兩個(gè)數(shù)據(jù)大小關(guān)系的運(yùn)算稱為關(guān)系運(yùn)算?,F(xiàn)在我們就來(lái)一起學(xué)習(xí)教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)進(jìn)入課題上機(jī)運(yùn)行下面的程序,完成下表中提出的要求。#include"stdio.h"main(){inta,b,c;floatx1,x2;charc1,c2;a=3;b=6;c=9;x1=3.6;x2=-9.97;c1='1';c2='a';printf("%d,%d\n",a>b,b<9);提問(wèn)教師提示printf("%d,%d\n",x1>=3,x2<=0);printf("%d,%d\n",c1==1,c2!='A');printf("%d,%d\n",a<b<c,a<b==1);printf("%d,%d",c>b>a,1!=1<c1);}學(xué)生練習(xí):(1)分析程序結(jié)果并填寫下表(2)關(guān)系表達(dá)式是表示的表達(dá)式,關(guān)系表達(dá)式的運(yùn)算結(jié)果有種取值情況。(3)在C語(yǔ)言中怎樣表示關(guān)系運(yùn)算的結(jié)果。(4)根據(jù)對(duì)程序運(yùn)行結(jié)果的分析(或自行設(shè)計(jì)關(guān)系表達(dá)式上機(jī)實(shí)驗(yàn))描述關(guān)系運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。(5)字符參加關(guān)系運(yùn)算,如何比較它們的大小關(guān)系?(6)把語(yǔ)句printf("%d","abc"<"ABC");添加到程序中并編譯運(yùn)行程序,根據(jù)程序出現(xiàn)的狀況作出結(jié)論。(7)你能測(cè)試空字符('',單引號(hào)中沒(méi)有任何字符)的ASCII的大小嗎?請(qǐng)描述你的方法,并寫出測(cè)試用的關(guān)系表達(dá)式,然后寫出空字符的轉(zhuǎn)義字符形式。知識(shí)提示:任何C語(yǔ)言表達(dá)式的結(jié)果都可以判定真假。C語(yǔ)言規(guī)定:“非0值”為“真”,“0值”為假。字符串不能直接用關(guān)系運(yùn)算符進(jìn)行大小關(guān)系的比較運(yùn)算。知識(shí)歸納:關(guān)系運(yùn)算是指兩個(gè)數(shù)據(jù)對(duì)象進(jìn)行大小關(guān)系比較的運(yùn)算。用關(guān)系運(yùn)算符連接而成的式子稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式表示的關(guān)系成立,結(jié)果為“真”,否則結(jié)果為“假”。在C語(yǔ)言中,關(guān)系表達(dá)式的結(jié)果為“真”其值為1,結(jié)果為“假”其值為0。人們把“真”、“假”兩種值稱為邏輯值。做一做理解記憶理解記憶要求學(xué)生填表數(shù)值數(shù)據(jù)(整型和實(shí)型)按數(shù)值大小進(jìn)行比較,字符以它的ASCII碼大小進(jìn)行比較。關(guān)系運(yùn)算符的優(yōu)先級(jí)分為兩組:高優(yōu)先級(jí)組:>、>=、<、<=低優(yōu)先級(jí)組:==、!=。關(guān)系運(yùn)算符的結(jié)合性為左結(jié)合。請(qǐng)運(yùn)行并分析下表中的程序,然后完成表中提出的要求。#include"stdio.h"main(){intm=7;n=12;charch1='r',ch2='R';printf("%d\n",m>=0&&m<=10);printf("%d\n",n>=0&&n<=10);printf("%d\n",m<=0||m>=10);printf("%d\n",n<=0||n>=10);printf("%d\n",ch1>='a'&&ch1<='z');printf("%d\n",ch2>='a'&&ch2<='z');printf("%d\n",!(ch1>='a'&&ch1<='z'));printf("%d\n",!(ch2>='a'&&ch2<='z'));}(1)根據(jù)程序運(yùn)行結(jié)果填寫下表邏輯運(yùn)算符名稱運(yùn)算規(guī)則&&||!2)邏輯運(yùn)算符的操作數(shù)除了關(guān)系表達(dá)式外,還可以是其他類型的表達(dá)式嗎?請(qǐng)自行設(shè)計(jì)實(shí)驗(yàn),并作出結(jié)論。(3)邏輯表達(dá)式的運(yùn)算結(jié)果是怎樣表示的。(4)請(qǐng)你分析下面邏輯表達(dá)式的值并上機(jī)驗(yàn)證,然后歸納邏輯運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。①4||7&&0②!5&&79你的結(jié)論:(5)寫出表達(dá)下面條件的表達(dá)式。做一做①ch是數(shù)字字符:教師提示教師歸納②ch是英文字母:③整數(shù)x不是偶數(shù):(6)分析下面表達(dá)式執(zhí)行后,變量x的值,歸納C語(yǔ)言對(duì)這類表達(dá)式的處理方法。intx=4,y=2,z=7;①y>z&&x++y<z&&z>7&&x++y<z&&z>=7&&x++結(jié)論:②y<z||x++y>z||z>=7||x++y>z||z>7||x++結(jié)論:知識(shí)提示:在C語(yǔ)言中,邏輯運(yùn)算符不僅能連接關(guān)系表達(dá)式,還能連接其他類型的表達(dá)式。形如A&&B&&C用&&連接成的串聯(lián)表達(dá)式,如果表達(dá)式A為假,則不再計(jì)算表達(dá)式B和C,依次類推。形如A||B||C用||連接成的串聯(lián)表達(dá)式,如果表達(dá)式A為真,則不再計(jì)算表達(dá)式B和C,依次類推。知識(shí)歸納:邏輯運(yùn)算符的運(yùn)算規(guī)則:AB!AA&&BA||B00100011011000111011說(shuō)明!A的結(jié)果是對(duì)A取反A,B同時(shí)為真A與B結(jié)果為真A,B同時(shí)為假A或B結(jié)果為假邏輯運(yùn)算符的優(yōu)先級(jí)由高到低的順序是:!,&&,||理解記憶理解記憶在C語(yǔ)言中,邏輯表達(dá)式結(jié)果為真,其值為1;結(jié)果為假,其值為0C語(yǔ)言教案教學(xué)課題為程序輸出數(shù)據(jù)課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)掌握printf函數(shù)的一般格式理解printf函數(shù)的工作過(guò)程掌握printf函數(shù)使用時(shí)的注意事項(xiàng)4.掌握字符輸出函數(shù)putchar的用法教學(xué)重點(diǎn)1.掌握printf函數(shù)的一般格式2.理解printf函數(shù)的工作過(guò)程教學(xué)難點(diǎn)1.掌握printf函數(shù)使用時(shí)的注意事項(xiàng)作業(yè)布置教學(xué)后記復(fù)習(xí)引入程序界面是用戶與程序交互的窗口,是用戶輸入數(shù)據(jù)和程序輸出數(shù)據(jù)的地方?,F(xiàn)代程序設(shè)計(jì)非常重視程序界面的美觀和操作的易用性,因此數(shù)據(jù)的輸入輸出就成了程序設(shè)計(jì)中的一個(gè)重點(diǎn)。C語(yǔ)言沒(méi)有專門的輸入輸出命令,它使用標(biāo)準(zhǔn)的輸入輸出庫(kù)函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出操作。數(shù)據(jù)處理的結(jié)果必須要輸出才能被用戶使用,一個(gè)程序必須有數(shù)據(jù)的輸出操作,簡(jiǎn)潔、直觀的輸出將大大提高程序使用者的工作效率。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn)一、printf函數(shù)的一般格式和工作過(guò)程1.請(qǐng)上機(jī)運(yùn)行下面的程序,記錄下程序的運(yùn)行結(jié)果,然后結(jié)合程序完成提出的問(wèn)題。#include"stdio.h"#definestring"HelloIt`sC\n"main(){intm=6,n=65;floatfv1=3.64,fv2=76;doubledv=0.12345678;charch='A';printf("%d%d\n",m,n);printf("m=%d,n=%d\n",m,n);printf("fv1=%f,fv2=%f\n",fv1,fv2);printf("dv=%f\n",dv);printf("ch=%c,ch=\'%c\'\n",ch,ch);printf("ch=%c,ch=%d\n",ch,ch);printf("n=%c,n=%d\n",n,n);printf("HelloIt`sC\n");printf(string);}(1)請(qǐng)寫出正確使用printf()函數(shù)的一般格式:(2)printf()函數(shù)的參數(shù)的第一部分是由組成的格式控制串,第二部分是由組成的輸出列表。①請(qǐng)描述printf()函數(shù)中格式轉(zhuǎn)換說(shuō)明符的作用,填寫下表。格式轉(zhuǎn)換字符作用適用的變量數(shù)據(jù)類型②在格式控制串出現(xiàn)的普通字符處理方法是學(xué)生回答知識(shí)歸納。③表達(dá)式列表中的輸出項(xiàng)可以是。(3)請(qǐng)描述printf()函數(shù)的執(zhí)行過(guò)程。(4)輸出字符和字符串時(shí),會(huì)輸出它們的定界符嗎?○會(huì)○不會(huì)(5)在輸出實(shí)數(shù)時(shí),默認(rèn)情況下printf()做了什么處理?(6)你認(rèn)為在printf()函數(shù)的格式控制串中使用普通字符對(duì)程序的輸出界面設(shè)計(jì)有益嗎?談?wù)勀愕目捶?。?)字符可以用格式轉(zhuǎn)換說(shuō)明符%d輸出嗎?○可以○不可以。輸出的結(jié)果是。(8)整數(shù)可以用格式轉(zhuǎn)換說(shuō)明符%c輸出嗎?○可以○不可以。輸出的結(jié)果是,有什么限制嗎?輸出函數(shù)printf()的一般格式:printf(格式控制串,數(shù)據(jù)項(xiàng)列表);格式控制串由格式轉(zhuǎn)換說(shuō)明符和普通字符組成,它規(guī)定了數(shù)據(jù)輸出時(shí)的格式;數(shù)據(jù)項(xiàng)列表由要輸出的數(shù)據(jù)對(duì)象組成,它們可以是常量、變量和表達(dá)式。格式轉(zhuǎn)換說(shuō)明功能格式轉(zhuǎn)換字符作用數(shù)據(jù)項(xiàng)類型%d把數(shù)據(jù)項(xiàng)轉(zhuǎn)換成有符號(hào)十進(jìn)制形式的整數(shù)int、long、char%f把數(shù)據(jù)項(xiàng)轉(zhuǎn)換成十進(jìn)制形式的小數(shù)float、double學(xué)生記憶提問(wèn)提示注意%c把數(shù)據(jù)項(xiàng)轉(zhuǎn)換成一個(gè)字符char%s把數(shù)據(jù)項(xiàng)轉(zhuǎn)換成一個(gè)字符中字符數(shù)組printf()的工作過(guò)程:掃描格式控制串,遇到格式轉(zhuǎn)換說(shuō)明符時(shí),把對(duì)應(yīng)的數(shù)據(jù)項(xiàng)按指定的格式輸出;若遇到普通字符則原樣輸出,依次類推,直到掃描完整個(gè)格式控制串。二、printf函數(shù)使用中應(yīng)注意的問(wèn)題2.請(qǐng)閱讀并上機(jī)執(zhí)行下面的程序,記錄并分析程序的運(yùn)行情況,然后完成問(wèn)題。#include"stdio.h"main(){intm=35;floatx=5.69;charch='W'printf("%d\n",m,x);printf("%d%f\n",m);printf("%f%d\n",m,x);printf("%c%f",x,m);}(1)程序中的printf()函數(shù)語(yǔ)句有語(yǔ)法錯(cuò)誤嗎?○有○沒(méi)有(2)該程序?qū)崿F(xiàn)了相應(yīng)變量值的正確輸出嗎?請(qǐng)你分析其中的原因。(3)為了能正確輸出各種數(shù)據(jù)類型表達(dá)式的值,你認(rèn)為格式轉(zhuǎn)換說(shuō)明符與輸出列表中的輸出項(xiàng)表達(dá)式應(yīng)滿足怎樣的對(duì)應(yīng)關(guān)系。在printf()函數(shù)的格式控制串中出現(xiàn)的普通字符,將原樣輸出到顯示器屏幕上,可以利用這些普通字符來(lái)設(shè)計(jì)數(shù)據(jù)的輸出格式。格式轉(zhuǎn)換說(shuō)明符%s用于輸出字符串。實(shí)數(shù)在輸出的時(shí)候,printf()函數(shù)自動(dòng)保留6位小數(shù),不足6位小數(shù)補(bǔ)0,超過(guò)6位,進(jìn)行四舍五入。格式轉(zhuǎn)換說(shuō)明符與表達(dá)式列表中的數(shù)據(jù)項(xiàng)要一一對(duì)應(yīng),即個(gè)數(shù)相同,類型一致。如果沒(méi)有格式轉(zhuǎn)換說(shuō)明符,也不應(yīng)有輸出列表項(xiàng)。學(xué)生回答學(xué)生記憶提問(wèn)基本輸入設(shè)備是鍵盤,基本輸出設(shè)備是顯示器。要使用標(biāo)準(zhǔn)的輸入輸出庫(kù)函數(shù),需要在程序開(kāi)始處加上#include"stdio.h"預(yù)處理命令,以通知C編譯器。擴(kuò)展名為h的頭文件包含庫(kù)函數(shù)的原型說(shuō)明。三、字符輸出函數(shù)putchar3.請(qǐng)執(zhí)行下面的程序,比較程序的輸出結(jié)果,完成提出的問(wèn)題。#include"stdio.h"main(){charch='G';putchar(ch);printf("%c",ch);}(1)請(qǐng)根據(jù)示例程序?qū)懗鍪褂胮utchar()函數(shù)的一般格式:(2)請(qǐng)根據(jù)對(duì)程序運(yùn)行結(jié)果的分析寫出與putchar(ch);具有相同功能的printf()函數(shù)語(yǔ)句。(3)根據(jù)你對(duì)getchar()函數(shù)的認(rèn)識(shí),在使用putchar()時(shí)可能犯的錯(cuò)誤有哪些情況,并說(shuō)明錯(cuò)誤的原因。本章節(jié)主要學(xué)習(xí)了printf函數(shù)的一般格式和工作過(guò)程,以及printf函數(shù)在使用中應(yīng)注意的問(wèn)題。另外學(xué)習(xí)了putchar這個(gè)專門的字符輸出函數(shù)學(xué)生回答C語(yǔ)言教案教學(xué)課題為程序輸入數(shù)據(jù)課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)掌握scanf函數(shù)的一般格式理解scanf函數(shù)的工作過(guò)程掌握scanf函數(shù)使用時(shí)的注意事項(xiàng)4.掌握字符輸入函數(shù)getchar的用法教學(xué)重點(diǎn)1.掌握scanf函數(shù)的一般格式2.理解scanf函數(shù)的工作過(guò)程3.掌握字符輸入函數(shù)getchar的用法教學(xué)難點(diǎn)1.掌握scanf函數(shù)使用時(shí)的注意事項(xiàng)作業(yè)布置教學(xué)后記復(fù)習(xí)引入程序界面是用戶與程序交互的窗口,是用戶輸入數(shù)據(jù)和程序輸出數(shù)據(jù)的地方。現(xiàn)代程序設(shè)計(jì)非常重視程序界面的美觀和操作的易用性,因此數(shù)據(jù)的輸入輸出就成了程序設(shè)計(jì)中的一個(gè)重點(diǎn)。C語(yǔ)言沒(méi)有專門的輸入輸出命令,它使用標(biāo)準(zhǔn)的輸入輸出庫(kù)函數(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出操作。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn)一、為程序輸入數(shù)據(jù):1.請(qǐng)閱讀并運(yùn)行下面的程序,然后操作程序,按要求完成提出的問(wèn)題。#include"stdio.h"main(){intm;floatx,y,z;charch,ch1,ch2;scanf("%d",&m);scanf("%f%f%f",&x,&y,&z);scanf("%c",&ch);scanf("%c%c",&ch1,&ch2);printf("m=%d\n",m);printf("x=%f,y=%f,z=%f\n",x,y,z);printf("ch=%c,ch1=%c,ch2=%c\n",ch,ch1,ch2);}(1)通過(guò)你對(duì)程序的觀察,請(qǐng)描述使用scanf()函數(shù)的一般使用格式:(2)scanf()函數(shù)的參數(shù)為用分隔的2部分,第一部分是一個(gè),稱為格式控制串;其中的字符由一個(gè)和一個(gè)組成,被稱為格式轉(zhuǎn)換說(shuō)明符,第二部分由形如組成的地址列表。①請(qǐng)描述格式轉(zhuǎn)換說(shuō)明符的作用:格式轉(zhuǎn)換字符作用轉(zhuǎn)換后的數(shù)據(jù)類型②取變量地址的一般格式為,請(qǐng)你通過(guò)實(shí)驗(yàn)考察常量和表達(dá)式這兩種形式的數(shù)據(jù)對(duì)象能否進(jìn)行取地址操作,并談?wù)勛龀鲞x擇的理由。學(xué)生回答(4)請(qǐng)描述scanf()函數(shù)的執(zhí)行過(guò)程:(5)使用一個(gè)scanf()可以同時(shí)為多個(gè)變量輸入數(shù)據(jù)嗎?○能○不能。在輸入數(shù)據(jù)時(shí)你用了什么字符來(lái)分隔數(shù)據(jù),請(qǐng)分情況說(shuō)明。二、scanf函數(shù)的注意事項(xiàng)2.修改下面程序中有錯(cuò)誤的地方,使程序能正常運(yùn)行,然后完成提出的問(wèn)題。#include"stdio.h"main(){intm,a,b,c;floatx,y,z;charch,ch1,ch2;scanf("請(qǐng)輸入一個(gè)整數(shù):%d",&m);printf("m=%d\n",m);scanf("%f,%f,%f,&x,&y,&z");printf("請(qǐng)輸入3個(gè)實(shí)數(shù)::\n");scanf("x=%f,y=%f,z=%f",&x,&y,&z);scanf("ch1=%cch2=%c"&ch1,&ch2);printf("ch1=%c,ch2=%c\n",ch1,ch2);scanf("%f%d%c",m,x,ch);printf("m=%d,x=%f,ch=%c",m,c,ch);scanf("%c",&m);printf("m=%d\n",m);scanf("%f",&m);printf("m=%d\n",m);scanf("%d",&ch);printf("ch=%c",ch);}提問(wèn)提示注意(1)通過(guò)上機(jī)實(shí)驗(yàn),你認(rèn)為在scanf()函數(shù)的格式控制串中可否使用除格式轉(zhuǎn)換說(shuō)明符之外的普通字符?○可以○不可以。(2)請(qǐng)描述C語(yǔ)言對(duì)出現(xiàn)在scanf()格式控制串中的普通字符的處理方法。(3)請(qǐng)給出在scanf()函數(shù)格式控制串中使用普通字符的合理化建議。(4)格式轉(zhuǎn)換說(shuō)明符能夠正確為與它表示的數(shù)據(jù)類型不同的變量輸入數(shù)據(jù)嗎?請(qǐng)談一談你的看法。(5)請(qǐng)你描述格式控制串中的格式轉(zhuǎn)換說(shuō)明符與地址配合列表中的變量之間的對(duì)應(yīng)關(guān)系。(6)在輸入數(shù)據(jù)時(shí),為實(shí)型變量輸入整數(shù),為整型變量輸入實(shí)數(shù),有語(yǔ)法錯(cuò)誤嗎?C語(yǔ)言是如何處理的?在輸入數(shù)據(jù)時(shí),數(shù)據(jù)都是以字符的形式輸入的,經(jīng)過(guò)格式轉(zhuǎn)換說(shuō)明符轉(zhuǎn)換成對(duì)應(yīng)的數(shù)據(jù)類型;分隔非字符型數(shù)據(jù)的字符有空格、水平制表符、換行符,它們統(tǒng)稱為空白字符。為多個(gè)字符變量輸入數(shù)據(jù)時(shí),如果格式控制串中沒(méi)有使用任何普通字符,則輸入字符時(shí)不使用任何分隔符。建議在scanf()的格式控制串中只使用格式轉(zhuǎn)換說(shuō)明符,有限制地使用普通字符,如果要使用普通字符,請(qǐng)給用戶以明確的操作提示。格式轉(zhuǎn)換說(shuō)明符與地址列表中的變量要一一對(duì)應(yīng),即個(gè)數(shù)相同,類型一致。格式轉(zhuǎn)換說(shuō)明符遇到輸入的非法字符即停止轉(zhuǎn)換三、字符輸入函數(shù)3.請(qǐng)執(zhí)行下面的程序,比較程序的操作和輸出結(jié)果,完成下列問(wèn)題。#include"stdio.h"學(xué)生回答學(xué)生記憶提問(wèn)知識(shí)歸納main(){charch1,ch2;printf("請(qǐng)按字母y,然后回車\n");ch1=getchar();printf("請(qǐng)按字母y,然后回車\n");scanf("%c",&ch1);printf("ch1=%c,ch2=%c",ch1,ch2);}(1)請(qǐng)根據(jù)示例程序?qū)懗鰃etchar()函數(shù)的一般格式。(2)請(qǐng)根據(jù)對(duì)程序運(yùn)行結(jié)果的分析寫出與ch=getchar()具有相同功能的scanf()函數(shù)語(yǔ)句。(3)根據(jù)你對(duì)getchar()函數(shù)的認(rèn)識(shí),在使用getchar()時(shí)容易犯的錯(cuò)誤有哪些情況,并說(shuō)明錯(cuò)誤的原因。輸入函數(shù)scanf()的一般格式:scanf(格式控制串,變量地址列表);格式控制串由格式轉(zhuǎn)換說(shuō)明符和普通字符組成,它規(guī)定數(shù)據(jù)輸入的格式;變量地址列表由接收輸入的變量地址組成,取變量地址的一般格式為:&變量名。格式轉(zhuǎn)換說(shuō)明功能格式轉(zhuǎn)換字符作用變量類型%d把輸入的字符序列轉(zhuǎn)換為有符號(hào)的十進(jìn)制形式的整數(shù)int%f把輸入的字符序列轉(zhuǎn)換為十進(jìn)制小數(shù)形式的實(shí)數(shù)floatdouble%c把輸入的字符轉(zhuǎn)換成字符型數(shù)據(jù)char%s把輸入的字符序列轉(zhuǎn)換為字符串字符數(shù)組scanf()學(xué)生回答學(xué)生記憶小結(jié)的工作過(guò)程:掃描格式控制串,遇到格式轉(zhuǎn)換說(shuō)明符時(shí),把鍵盤輸入轉(zhuǎn)換為相應(yīng)類型的數(shù)據(jù)存入對(duì)應(yīng)地址所指的變量中;若遇到普通字符則要原樣輸入,依次類推,直到掃描完整個(gè)格式控制串。本章節(jié)主要學(xué)習(xí)了scanf函數(shù)的一般格式,工作過(guò)程,以及在使用中應(yīng)注意的問(wèn)題。C語(yǔ)言教案教學(xué)課題算法的表示課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)描述c語(yǔ)言語(yǔ)句類別和作用描述流程圖符號(hào)的名稱和所表示的操作用流程圖表示解決問(wèn)題的算法4.描述結(jié)構(gòu)化程序的基本結(jié)構(gòu)的特點(diǎn)并用流程圖表示教學(xué)重點(diǎn)1.描述c語(yǔ)言語(yǔ)句類別和作用2.描述流程圖符號(hào)的名稱和所表示的操作3.用流程圖表示解決問(wèn)題的算法教學(xué)難點(diǎn)1.描述結(jié)構(gòu)化程序的基本結(jié)構(gòu)的特點(diǎn)并用流程圖表示作業(yè)布置教學(xué)后記復(fù)習(xí)引入關(guān)于什么是程序有一個(gè)很經(jīng)典的公式,即:程序=數(shù)據(jù)結(jié)構(gòu)+算法,它是由著名的計(jì)算機(jī)科學(xué)家N.Wirth提出的。在程序設(shè)計(jì)中,算法是指加工處理數(shù)據(jù)對(duì)象的方法和步驟,算法是程序的靈魂。如何表示算法是一個(gè)程序設(shè)計(jì)人員必須面對(duì)的問(wèn)題。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn)描述c語(yǔ)言語(yǔ)句類別和作用1.請(qǐng)閱讀并分析下面程序中的語(yǔ)句,按要求填寫下表。#include"stdio.h"main(){intm=2,n=50,s=0;floatx,y,z;charch='x',ch1;floatfmax(float,float);while(m<=n){s+=m;m=m+5;n++;}scanf("%f%f",&x,&y)z=fmax(x,y);ch1=ch-32;printf("m=%d,n=%d,s=%d\n",m,n,s);printf("x=%f,y=%f,z=%f\n",x,y,z);printf("ch=%c,ch1=%c",ch,ch1);}floatfmax(floata,floatb){floatfm;if(a>=b)fm=a;elsefm=b;returnfm;}學(xué)生回答提示注意(1)請(qǐng)?jiān)谏厦娴某绦蛑姓页鯟語(yǔ)言程序中用到的語(yǔ)句,填寫下表。(2)請(qǐng)根據(jù)你對(duì)程序語(yǔ)句的認(rèn)識(shí),評(píng)價(jià)直接用程序語(yǔ)句表示算法的利弊。(3)在程序設(shè)計(jì)的算法分析階段,用程序語(yǔ)句表示算法是:○利大于弊○弊大于利C語(yǔ)言中的語(yǔ)句:說(shuō)明語(yǔ)句:用于定義變量或說(shuō)明函數(shù)。表達(dá)式語(yǔ)句:在表達(dá)式后加上分號(hào)就成了表達(dá)式語(yǔ)句,它的功能是完成運(yùn)算,有用的表達(dá)式語(yǔ)句能夠在執(zhí)行后改變變量的值。空語(yǔ)句:?jiǎn)为?dú)的一個(gè)分號(hào),執(zhí)行它計(jì)算機(jī)不會(huì)有任何操作。常用于構(gòu)成循環(huán)體。函數(shù)調(diào)用語(yǔ)句:用于對(duì)函數(shù)實(shí)現(xiàn)調(diào)用。塊語(yǔ)句:用花括號(hào)括起來(lái)的多條語(yǔ)句,在語(yǔ)法上視作一條語(yǔ)句處理。控制語(yǔ)句:實(shí)現(xiàn)程序流程轉(zhuǎn)向控制的語(yǔ)句,如:if、switch、while、for、break、retrun、continue等。二、描述流程圖符號(hào)的名稱和所表示的操作流程圖是表示程序算法的常用方法,你可在不具備任何程序語(yǔ)言知識(shí)的情況下,使用流程圖符號(hào)來(lái)設(shè)計(jì)算法。請(qǐng)分析實(shí)現(xiàn)下表問(wèn)題的方法和相應(yīng)流程圖的算法表示,完成下表。輸入一個(gè)數(shù)x,然后輸出它的絕對(duì)值,其算法流程圖表示如下:結(jié)束結(jié)束NY開(kāi)始輸入xx<0x=-x輸出x絕對(duì)值學(xué)生記憶提問(wèn)提示注意請(qǐng)描述流程圖所示的每一個(gè)操作步驟:(1)請(qǐng)描述流程圖符號(hào)及作用。流程圖符號(hào)圖形名稱符號(hào)名稱表示的算法操作○小圓圈連接點(diǎn)分別置于兩條流程線的端接處,內(nèi)注相同的數(shù)字,表示它們是連接在一起的流程線(2)請(qǐng)描述流程圖符號(hào)的使用要點(diǎn)。(3)請(qǐng)?jiān)u價(jià)用流程圖表示算法的優(yōu)勢(shì)。(4)試用流程表示下面問(wèn)題的算法。輸入一個(gè)整數(shù)x,然后判斷并輸出它是否是奇數(shù)。學(xué)生填表學(xué)生記憶學(xué)生記憶知識(shí)歸納在算法分析、設(shè)計(jì)階段用程序語(yǔ)句表示算法不可取。因?yàn)槟菢幽惆丫Ψ旁谧⒊绦蛟O(shè)計(jì)語(yǔ)言中語(yǔ)句的語(yǔ)法細(xì)節(jié)上,而不能把精力集中在算法設(shè)計(jì)上,也不能和用戶就應(yīng)用需求進(jìn)行有效的溝通。表示算法的常用工具有自然語(yǔ)言、流程圖、偽代碼等。流程圖因直觀、易于理解,得到廣泛使用。在編寫程序代碼之前,用流程圖正確、準(zhǔn)確地表示出算法,將有利于提高程序代碼的質(zhì)量和編碼速度。在規(guī)范的流程圖中,豎直方向的流程線被稱為主流程線,可不畫出向下的箭頭。其它的流程線稱為分支流程線,分支流程線的末端必須畫上箭頭。三、描述結(jié)構(gòu)化程序的基本結(jié)構(gòu)的特點(diǎn)并用流程圖表示結(jié)構(gòu)程序設(shè)計(jì)的思想興起于20世紀(jì)六、七十年代,結(jié)構(gòu)化程序中采用了少量簡(jiǎn)單、清晰的程序結(jié)構(gòu)大大地消除了復(fù)雜軟件內(nèi)部的混亂。請(qǐng)利用你對(duì)流程圖的了解,分析下面基本程序結(jié)構(gòu)的流程圖表示的含義并完成下表。:模塊化程序設(shè)計(jì)要求在軟件設(shè)計(jì)開(kāi)始時(shí)把待開(kāi)發(fā)的系統(tǒng)劃分成若干相互獨(dú)立的、簡(jiǎn)單容易實(shí)現(xiàn)模塊。這種化大為小,化復(fù)雜為簡(jiǎn)單的方法被稱為“自頂而下,逐步細(xì)化”學(xué)生記憶的程序設(shè)計(jì)分析方法。C語(yǔ)言中函數(shù)是實(shí)現(xiàn)程序模塊的工具。程序設(shè)計(jì)的一般步驟小結(jié)分析問(wèn)題→確定算法→編寫程序→調(diào)試程序基本程序結(jié)構(gòu)的特點(diǎn)是:只有一個(gè)入口;只有一個(gè)出口;結(jié)構(gòu)內(nèi)沒(méi)有執(zhí)行不到的語(yǔ)句;結(jié)構(gòu)內(nèi)沒(méi)有無(wú)限循環(huán)。本章節(jié)主要學(xué)習(xí)了c語(yǔ)言語(yǔ)句的類別和功能,算法的表示方法,流程圖的畫法以及結(jié)構(gòu)化程序設(shè)計(jì)的三中基本結(jié)構(gòu)的特點(diǎn)教學(xué)課題順序結(jié)構(gòu)程序設(shè)計(jì)課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)正確描述順序結(jié)構(gòu)執(zhí)行的特點(diǎn)根據(jù)順序結(jié)構(gòu)流程圖寫出程序能設(shè)計(jì)簡(jiǎn)單的順序結(jié)構(gòu)程序教學(xué)重點(diǎn)1.正確描述順序結(jié)構(gòu)執(zhí)行的特點(diǎn)2.根據(jù)順序結(jié)構(gòu)流程圖寫出程序教學(xué)難點(diǎn)1.能設(shè)計(jì)簡(jiǎn)單的順序結(jié)構(gòu)程序作業(yè)布置教學(xué)后記復(fù)習(xí)引入順序結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)3種基本結(jié)構(gòu)之一,本模塊將討論順序結(jié)構(gòu)程序的執(zhí)行特點(diǎn),以及如何設(shè)計(jì)順序結(jié)構(gòu)程序。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn)知識(shí)歸納一、考察順序結(jié)構(gòu)程序的執(zhí)行特點(diǎn)請(qǐng)運(yùn)行下面的程序,輸入10,觀察程序的運(yùn)行結(jié)果,完成表中提出的問(wèn)題。#include"stdio.h"main(){floatr,s;printf("請(qǐng)輸入圓的半徑:");scanf("%f",&r);s=3.14*r*r;printf("圓面積是:%f\n",s);}(1)根據(jù)程序運(yùn)行結(jié)果,按執(zhí)行的先后順序列出程序中的執(zhí)行語(yǔ)句。(2)根據(jù)程序,畫出相應(yīng)的流程圖。(3)請(qǐng)描述順序結(jié)構(gòu)程序的執(zhí)行特點(diǎn)。順序結(jié)構(gòu)程序的執(zhí)行特點(diǎn)是按照語(yǔ)句在程序中排列的先后順序依次執(zhí)行。順序結(jié)構(gòu)程序中的的每條語(yǔ)句必須執(zhí)行且只能執(zhí)行一次,沒(méi)有執(zhí)行不到或重復(fù)執(zhí)行的語(yǔ)句二、根據(jù)流程圖寫出順序結(jié)構(gòu)程序流程圖學(xué)生回答學(xué)生記憶提問(wèn)開(kāi)始開(kāi)始結(jié)束輸入a,b輸出a,b的值輸出a,b的值(1)請(qǐng)參考日常生活中交換兩個(gè)杯子中的液體的辦法,尋找交換兩個(gè)變量值的方法。請(qǐng)描述你所想到的方法,寫下來(lái)。(2)完成流程圖中的空缺,然后根據(jù)流程圖,寫出源程序。(3)如果不借助中間變量t能使變量a、b的值交換嗎?如果能,該如何編程?學(xué)生回答提問(wèn)2.請(qǐng)?jiān)O(shè)計(jì)程序?qū)崿F(xiàn):輸入一個(gè)大寫字母,轉(zhuǎn)換成小寫字母后輸出。請(qǐng)分析問(wèn)題的要求,解決表中提出的問(wèn)題。開(kāi)始開(kāi)始結(jié)束輸入大寫字母ch1輸出小寫字母ch2(1)字符以形式存儲(chǔ)在計(jì)算機(jī)中,字符變量在存放字符時(shí),實(shí)際保存的是,通過(guò)改變字符變量中的值,能改變它保存的字符嗎?○能○不能,請(qǐng)查閱本教材附錄1中的ASCII碼表,找到大小寫字母相互轉(zhuǎn)換的方法。(2)請(qǐng)完成流程圖,并寫出相應(yīng)的源程序。(3)運(yùn)行程序,分別輸入A,a,1,記錄并分析程序的輸出結(jié)果,然后談一談你對(duì)本程序的想法。學(xué)生回答提示注意(4)如果輸入的字符不是大寫字母,這樣的轉(zhuǎn)換還有意義嗎?怎樣才能避免輸入非大寫字母?交換兩個(gè)變量a,b值的關(guān)鍵代碼是:t=a;a=b;b=t;也可以不使用中間變量來(lái)完成,關(guān)鍵代碼為:a=a+b;b=a-b;a=a-b;在C語(yǔ)言中字母大小寫轉(zhuǎn)換很簡(jiǎn)便,方法是:大寫字母=小寫字母-32,反之,小寫字母=大寫字母+32。分離一個(gè)三位的整數(shù)x的個(gè)十百位上數(shù)字的關(guān)鍵代碼是:

d0=x%10;d1=x/10%10;d2=x/100學(xué)生記憶教學(xué)課題分支結(jié)構(gòu)程序設(shè)計(jì)—if語(yǔ)句課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)正確描述if語(yǔ)句執(zhí)行的特點(diǎn)掌握if語(yǔ)句的一般格式能正確的使用if語(yǔ)句設(shè)計(jì)程序教學(xué)重點(diǎn)1.正確描述if語(yǔ)句執(zhí)行的特點(diǎn)2.掌握if語(yǔ)句的一般格式教學(xué)難點(diǎn)1.能正確的使用if語(yǔ)句設(shè)計(jì)程序作業(yè)布置教學(xué)后記復(fù)習(xí)引入分支程序結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計(jì)3種基本結(jié)構(gòu)之一。分支流程控制可以使程序根據(jù)不同的條件選擇不同的處理方法,從而增強(qiáng)了程序的靈活性和實(shí)用性。本模塊將討論分支結(jié)構(gòu)程序的執(zhí)行特點(diǎn)和設(shè)計(jì)方法。教師活動(dòng)教學(xué)過(guò)程師生互動(dòng)活動(dòng)設(shè)計(jì)提問(wèn)知識(shí)歸納一、考察if語(yǔ)句執(zhí)行的特點(diǎn)1.請(qǐng)觀察并分析下面的流程圖,完成表中提出的問(wèn)題。(1)請(qǐng)?jiān)诹鞒虉D中用虛線框標(biāo)出分支流程部分。(2)決定流程分支的條件是什么?(3)x的為什么數(shù)輸出Yes,x的為什么數(shù)輸出No。能同時(shí)輸出Yes和No嗎?請(qǐng)舉例并說(shuō)明理由。(4)請(qǐng)對(duì)照流程圖,描述分支結(jié)構(gòu)程序的執(zhí)行特點(diǎn)。分支結(jié)構(gòu)程序中有多個(gè)流程支路,在執(zhí)行分支結(jié)構(gòu)程序時(shí),流程控制將根據(jù)分支條件選擇執(zhí)行一條流程支路上的語(yǔ)句,而跳過(guò)其他去路上的語(yǔ)句。C語(yǔ)言使用if學(xué)生回答學(xué)生記憶提問(wèn)知識(shí)歸納語(yǔ)句和switch語(yǔ)句來(lái)實(shí)現(xiàn)程序的分支流程控制。2.考察if語(yǔ)句的使用及執(zhí)行過(guò)程(1)請(qǐng)分析下面的程序并上機(jī)驗(yàn)證,完成下表提出的提問(wèn)。源程序:#include"stdio.h"main(){intx;scanf("%d",&x);if(x>0)printf("%d\n",x);}①多次運(yùn)行本程序,隨意輸入一些整數(shù),記錄下每次的輸入數(shù)據(jù)和對(duì)應(yīng)的輸出結(jié)果。輸入輸出②參照程序結(jié)果,對(duì)于每次輸入都有對(duì)應(yīng)的輸出嗎?○有○沒(méi)有,為什么?請(qǐng)描述程序中if語(yǔ)句的執(zhí)行過(guò)程。③在程序中標(biāo)出實(shí)現(xiàn)流程分支的語(yǔ)句,畫出該分支語(yǔ)句的流程圖。④參考源程序,試寫出使用if語(yǔ)句的一般格式并畫省略流程圖。教學(xué)要點(diǎn):if語(yǔ)句的一般形式:if(表達(dá)式)語(yǔ)句if和它控制的語(yǔ)句一起被稱為if語(yǔ)句。if語(yǔ)句的流程圖:學(xué)生記錄學(xué)生記憶提示注意if語(yǔ)句的執(zhí)行過(guò)程:if語(yǔ)句執(zhí)行時(shí),首先計(jì)算if后面括號(hào)中的“表達(dá)式”,然后判斷其值的真假,如果表達(dá)式為“真”,則執(zhí)行if控制的“語(yǔ)句”,否則跳過(guò)“語(yǔ)句”,流程轉(zhuǎn)到if語(yǔ)句后面的語(yǔ)句去執(zhí)行。注意:if命令后的“表達(dá)式”可以是任何合法的C語(yǔ)言表達(dá)式加,但通常使用的是關(guān)系表達(dá)式和邏輯表達(dá)式。if命令控制的“語(yǔ)句”必須是語(yǔ)法上的一條語(yǔ)句,它可以是一條簡(jiǎn)單語(yǔ)句也可以是一個(gè)塊語(yǔ)句。在語(yǔ)法上一個(gè)if語(yǔ)句被視為一條語(yǔ)句。學(xué)生記憶教學(xué)課題分支結(jié)構(gòu)程序設(shè)計(jì)—ifelse語(yǔ)句課題類型理論課時(shí)安排2上課時(shí)間教學(xué)目標(biāo)1.正確描述ifelse語(yǔ)句執(zhí)行的特點(diǎn)2.掌握ifelse語(yǔ)句的一般格式3.能正確的使用ifelse語(yǔ)句設(shè)計(jì)程序教學(xué)重點(diǎn)1.正確描述ifelse語(yǔ)句執(zhí)行的特點(diǎn)2.掌握ifelse語(yǔ)句的一

溫馨提示

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

評(píng)論

0/150

提交評(píng)論