教學(xué)課件·C語言程序設(shè)計(jì)教程_第1頁
教學(xué)課件·C語言程序設(shè)計(jì)教程_第2頁
教學(xué)課件·C語言程序設(shè)計(jì)教程_第3頁
教學(xué)課件·C語言程序設(shè)計(jì)教程_第4頁
教學(xué)課件·C語言程序設(shè)計(jì)教程_第5頁
已閱讀5頁,還剩514頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)時安排總學(xué)時:64學(xué)時周學(xué)時:4學(xué)時理論教學(xué):32學(xué)時實(shí)踐教學(xué):32學(xué)時課程類型:必修課(期中、期末均上機(jī)考試)平時:期中:期末40:20:40注意:每曠課一次從成績中扣除6分,每遲到或早退一次從成績中扣除3分C語言的學(xué)習(xí)內(nèi)容C語言的學(xué)習(xí)內(nèi)容專業(yè)技能(學(xué)什么知識)基礎(chǔ)語法知識、三大程序設(shè)計(jì)結(jié)構(gòu)、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體、文件相關(guān)內(nèi)容以項(xiàng)目驅(qū)動形式組織學(xué)習(xí)過程職業(yè)能力(掌握什么與職業(yè)相關(guān)的能力)理解簡單算法的編程思想并用C語言實(shí)現(xiàn)之熟練掌握在VC環(huán)境下調(diào)試程序的能力養(yǎng)成良好的編程習(xí)慣和編程風(fēng)格培養(yǎng)一定的團(tuán)隊(duì)協(xié)作及溝通能力怎樣學(xué)習(xí)C語言怎樣學(xué)習(xí)C語言 讀、仿、改、編四字訣多讀關(guān)鍵:理解程序思路模

2、仿關(guān)鍵:復(fù)制程序思路改寫關(guān)鍵:不改變程序思路,只改變思路中的某個具體步驟編寫關(guān)鍵:重組思路,創(chuàng)造新的產(chǎn)品通過小組合作,共同學(xué)習(xí),多和別人交流,這樣才能碰撞出思想的火花來態(tài)度決定一切,增強(qiáng)信心,努力會使一切成為現(xiàn)實(shí)怎樣學(xué)習(xí)C語言怎樣學(xué)習(xí)C語言多讀大量閱讀別人寫的程序,代碼量由小到大,初學(xué)時讀簡單的程序,慢慢過渡到讀一些經(jīng)典的算法程序。關(guān)鍵是要邊讀邊理解別人解決問題的思路,并記住這種思路。模仿讀完別人的程序后,模仿著寫出同樣的程序。在模仿的過程中也是要根據(jù)你讀程序時理解到的思路來寫程序。怎樣學(xué)習(xí)C語言怎樣學(xué)習(xí)C語言改寫能夠比較熟練地模仿后,就可以自問自答,“如果要加一個什么功能,我應(yīng)該怎么去編寫程

3、序?”、“如果要實(shí)現(xiàn)那個功能,應(yīng)該怎么做?”等,寫完后進(jìn)行調(diào)試。編寫根據(jù)所掌握的一些常見編程思路,獨(dú)立編寫簡單的程序,或者將幾個簡單的功能通過某種方法組合到一個程序中。不斷地訓(xùn)練這種能力,就能夠?qū)懗鲈絹碓綇?fù)雜的程序了。編程環(huán)境Visual C+ 6.0Visual C+ 6.0環(huán)境使用演示創(chuàng)建工作區(qū)創(chuàng)建項(xiàng)目創(chuàng)建.c源文件編輯源代碼,并保存編譯鏈接執(zhí)行演示項(xiàng)目演示項(xiàng)目一在屏幕上顯示“你好,歡迎使用Visual C+ 6.0”字樣。/*本程序?qū)⒃谄聊簧巷@示“你好,歡迎使用Visual C+ 6.0”字樣*/#include main( )printf(“你好,歡迎使用Visual C+ 6.0n”

4、);演示項(xiàng)目演示項(xiàng)目詳解在屏幕上顯示“你好,歡迎使用Visual C+ 6.0”字樣。/*本程序?qū)⒃谄聊簧巷@示“你好,歡迎使用Visual C+ 6.0”字樣*/#include main( )printf(“你好,歡迎使用Visual C+ 6.0n”);程序注釋(/*/是段注釋,/是行注釋)預(yù)編譯語句,包含stdio.h文件到程序中函數(shù)首部。main是主函數(shù),每個C程序有且只能有一個main函數(shù):函數(shù)代碼的起始處:函數(shù)代碼的結(jié)束處printf:系統(tǒng)提供的輸出函數(shù)演示項(xiàng)目演示項(xiàng)目一詳解程序架構(gòu)/*程序注釋*/#include 預(yù)編譯語句main( )主函數(shù)頭左括號一條或多條語句;右括號演示項(xiàng)

5、目演示項(xiàng)目詳解printf函數(shù)講解printf(“你好,歡迎使用Visual C+ 6.0n”);函數(shù)名雙引號內(nèi)是想要輸出的文字n是要輸出換行符,即換行語句末尾必須要有分號結(jié)束printf的使用格式為:printf(“想要輸出的文字及換行符”);演示項(xiàng)目從鍵盤上輸入兩個整數(shù),計(jì)算并輸出它們的乘積。/*本程序?qū)逆I盤上輸入兩個整數(shù),計(jì)算并輸出它們的乘積*/#include main( )int x, y, fac; printf(“請輸入兩個整數(shù):”);scanf(“%d%d”, &x, &y);fac = x * y;printf(“兩個數(shù)的積 %d * %d = %dn”, x, y, fa

6、c);:函數(shù)代碼的結(jié)束處:函數(shù)代碼的開始處注釋預(yù)編譯語句主函數(shù)頭部語句項(xiàng)目實(shí)踐1、在屏幕上輸出”hello, neusoft!”字樣。2、在屏幕上輸出如下的圖形: 3、在屏幕上列出自己的以下信息:姓名:NNN專業(yè):MMMMM班級:CCCCC住址:AAAAAAAAAAA4、想個辦法,用printf語句,在屏幕上拼出一個簡單的字符圖形。課后項(xiàng)目完成VC6.0的環(huán)境安裝將課堂練習(xí)編寫的程序輸入到計(jì)算機(jī)中,編譯、鏈接、執(zhí)行,觀察結(jié)果是否符合要求。C語言的應(yīng)用范圍C語言UNIX操作系統(tǒng)動畫制作軟件中的腳本嵌入式系統(tǒng)計(jì)算機(jī)游戲機(jī)器人工廠電影特效計(jì)算機(jī)語言開發(fā)硬件驅(qū)動程序2008年在51job上對北京、上海

7、、大連三地各IT公司進(jìn)行的調(diào)查數(shù)據(jù)2008年10月TIOBE編程語言排行榜發(fā)布,前三甲依然被Java、C和C+占據(jù),占比分別為20.949%、15.565%、10.954%. 整型數(shù)據(jù)輸入輸出目錄回顧計(jì)算器項(xiàng)目簡介數(shù)據(jù)類型介紹變量定義和使用輸出變量的值輸入變量的值項(xiàng)目小結(jié)課后項(xiàng)目回顧VC的使用C程序的基本架構(gòu)printf函數(shù)的簡單使用計(jì)算器項(xiàng)目簡介項(xiàng)目名稱:計(jì)算器項(xiàng)目項(xiàng)目簡介:使用C語言,編寫一個字符界面的計(jì)算器程序,包括加、減、乘、除等基本的算術(shù)運(yùn)算。后期還需要加上累加、階乘等運(yùn)算。本項(xiàng)目涉及的的C語言知識數(shù)據(jù)類型變量定義和引用變量值的輸出變量值的輸入無參無返回值的函數(shù)分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)數(shù)據(jù)

8、類型C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef字符類型char枚舉類型enum整 型實(shí)型單精度型float雙精度型double數(shù)組結(jié)構(gòu)體struct共用體union短整型short長整型long整型int數(shù)據(jù)類型C語言的數(shù)據(jù)類型的常量表示整型:-999 10000 0 55浮點(diǎn)型:1.53.141597.84210. .25 字符型:A B X m t 3 7 # ,*n 0 t b變量定義和使用變量:程序執(zhí)行過程中,存儲會改變值的標(biāo)識符,稱為變量。標(biāo)識符的命名規(guī)則:標(biāo)識符僅由大小寫英文字母、數(shù)字字符和下劃線組合而成。數(shù)字不允許放在標(biāo)識符的首位。系統(tǒng)提供的關(guān)鍵字不能

9、作為標(biāo)識符。標(biāo)識符練習(xí):合法的標(biāo)識符:num x2 time_for_exec _minid Double For不合法的標(biāo)識符:2m ttime.xy abcert int for float double 變量定義和使用變量定義單變量定義格式:數(shù)據(jù)類型變量名;多變量定義格式:數(shù)據(jù)類型變量名1, 變量名2,變量名3;注意:多個變量名之間用逗號隔開。 幾種常用的基本數(shù)據(jù)類型的關(guān)鍵字:整型:int長整型:long單精度浮點(diǎn)型:float雙精度浮點(diǎn)型:double字符型:char變量定義和使用變量定義整型變量定義:int a;/定義了一個整型變量aint num1, num2;/定義了兩個整型變量

10、num1, num2單精度浮點(diǎn)型變量定義:float fNumber;/定義了一個單精度浮點(diǎn)型變量float x, y, t, k; /定義了四個單精度浮點(diǎn)型變量 字符型變量定義:char cx; /定義了一個字符型變量char m , n ,zck; /定義了三個字符型變量變量定義和使用變量定義練習(xí)定義兩個雙精度浮點(diǎn)型變量,變量名請自定定義三個長整型變量,變量名自定定義兩個單精度浮點(diǎn)型變量hight和weight分別表示一個人的身高和體重變量定義和使用變量初始化和賦值初始化:在定義變量的同時,給變量賦相應(yīng)的值。int s_c = 77; /定義了整型變量s_c,并賦初始值77相當(dāng)于以下兩步操

11、作:int s_c;s_c = 77; / = 代表賦值,并非數(shù)學(xué)上的“相等”變量初始化練習(xí):修改前面的各個變量定義,對其初始化相應(yīng)的值。演示項(xiàng)目/*本程序在屏幕上顯示兩個變量的值*/#include main( )float hight=172.7, weight=70.4; /定義變量并初始化printf(“您好:n”); /輸出固定的字符串printf(“您的身高是:%fn”, hight);/輸出變量hight的值printf(“您的體重是:%fn”, weight); /輸出變量weith的值/printf(“ %f , %f n “, hight, weight);/一次將兩個變量

12、的值輸出演示項(xiàng)目演示項(xiàng)目詳解使用printf函數(shù)輸出變量的值格式:printf(“ %f , %f n “, hight, weight);要輸出變量值的地方用“格式修飾符”占住位置,不同變量需要使用不一樣的格式修飾符除格式修飾符外的普通字符原樣輸出轉(zhuǎn)義字符按照轉(zhuǎn)義字符的真實(shí)意義輸出“”后面的變量表用于將變量的值替換對應(yīng)的格式修飾符。演示項(xiàng)目演示項(xiàng)目詳解幾種基本數(shù)據(jù)類型對應(yīng)的格式修飾符整型:%d長整型:%ld單精度浮點(diǎn)型:%f雙精度浮點(diǎn)型:%lf字符型:%c演示項(xiàng)目定義兩個整型變量s_c, s_math,分別代表C語言和數(shù)學(xué)成績,然后將其值顯示在屏幕上。/*本程序在屏幕上顯示兩個變量的值*/#

13、include main( )int s_c, s_math; /定義變量s_c=76;s_math=98;printf(“your c score is:%dnyour math score is: %dn”, s_c , s_math);/一次將兩個成績輸出演示項(xiàng)目定義單精度浮點(diǎn)型變量hight和weight,代表身高和體重,從鍵盤上輸入身高和體重,然后將其值顯示在屏幕上。/*本程序從鍵盤上輸入兩個變量的值,然后顯示兩個變量的值*/#include main( )float hight, weight; /定義變量scanf(“%f%f”, &hight, &weight); /輸入兩個值

14、到變量中去printf(“您好:n”); /輸出固定的字符串printf(“您的身高是:%fn”, hight);/輸出變量hight的值printf(“您的體重是:%fn”, weight); /輸出變量weith的值/printf(“ %f , %f n “, hight, weight);/一次將兩個變量的值輸出演示項(xiàng)目演示項(xiàng)目詳解使用printf函數(shù)輸出變量的值格式:scanf(“ %f %f “, &hight, &weight);要輸入變量值的地方用“格式修飾符”占住位置,不同變量需要使用不一樣的格式修飾符“”后面的變量地址表用于將變量的值保存起來。演示項(xiàng)目定義兩個整型變量s_c,

15、 s_math,分別代表C語言和數(shù)學(xué)成績,從鍵盤上輸入這兩門成績,然后將其值顯示在屏幕上。/*本程序在屏幕上顯示兩個變量的值*/#include main( )int s_c, s_math; /定義變量scanf(“%d %d”, &s_c, &s_math ); /輸入兩門成績printf(“your c score is:%dnyour math score is: %dn”, s_c , s_math);/一次將兩個成績輸出項(xiàng)目實(shí)踐實(shí)踐:編寫符合下列要求的C程序1:定義一個整型變量age代表年齡,從鍵盤上輸入一個年齡值,然后將其顯示在屏幕上。2:定義一個雙精度變量radius代表圓的半

16、徑,從鍵盤上輸入一個半徑,然后將其顯示在屏幕上。3:定義一個長整型變量length代表距離,從鍵盤上輸入大連到東京的距離,然后將其顯示在屏幕上。4:定義兩個字符變量cUpper和cLower分別代表大寫和小寫字母,從鍵盤上分別輸入一個大寫和小寫字母存儲到這兩個變量中,然后將它們輸出到屏幕上。教師提示:兩個字符的分隔字符輸入輸出的其它形式(getchar、putchar等)項(xiàng)目小結(jié)小結(jié)本項(xiàng)目的知識點(diǎn)及技能要求1:掌握基本數(shù)據(jù)類型及其變量的定義2:掌握基本數(shù)據(jù)類型對應(yīng)的關(guān)鍵字和格式修飾符3:熟悉VC6.0的簡單使用4:掌握printf語句的靈活使用評價總結(jié)項(xiàng)目完成質(zhì)量及情況課后項(xiàng)目編寫程序達(dá)到以下

17、要求:1、定義兩個整型變量a和b,從鍵盤上輸入它們的值,并將其值顯示在屏幕上。2、定義兩個單精度浮點(diǎn)型變量m和n,從鍵盤上輸入它們的值,試著計(jì)算它們的和(sum)、差(diff)、積(multi)、商(div),然后并將結(jié)果顯示在屏幕上。運(yùn)算符目錄回顧運(yùn)算符總覽算術(shù)運(yùn)算符賦值運(yùn)算符類型轉(zhuǎn)換自加/自減運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符項(xiàng)目小結(jié)課后項(xiàng)目回顧變量的定義和引用printf函數(shù)的靈活使用scanf函數(shù)的靈活使用項(xiàng)目導(dǎo)引問題:要計(jì)算兩個數(shù)的和、差、積、商,該怎么編寫程序?qū)崿F(xiàn)?答案:需要使用C提供的算術(shù)運(yùn)算符和賦值運(yùn)算符。運(yùn)算符總覽C運(yùn)算符算術(shù)運(yùn)算符:(+ - * / % + -)關(guān)系運(yùn)算符:( =

18、 !=)邏輯運(yùn)算符:(! & |)位運(yùn)算符 :( | &)賦值運(yùn)算符:(= 及其擴(kuò)展)條件運(yùn)算符:(?:)逗號運(yùn)算符:(,)指針運(yùn)算符:(* &)求字節(jié)數(shù) :(sizeof)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:(. -)下標(biāo)運(yùn)算符:()其它 :(( ) -)運(yùn)算符總覽學(xué)習(xí)運(yùn)算符應(yīng)注意的問題:運(yùn)算符的功能運(yùn)算符的運(yùn)算規(guī)則運(yùn)算符的優(yōu)先級運(yùn)算數(shù)的個數(shù)結(jié)合方向運(yùn)算結(jié)果的數(shù)據(jù)類型算術(shù)運(yùn)算符、/、%均是兩個運(yùn)算數(shù),自左向右結(jié)合注意:/:整數(shù)/整數(shù)結(jié)果為整數(shù),其余情況下為浮點(diǎn)數(shù)。例: 5/3結(jié)果為1,2/5結(jié)果為012/5結(jié)果為25.0/3結(jié)果為1.666667 2/5.0結(jié)果為0.40000012.0/5.

19、0結(jié)果為2.400000%:求余運(yùn)算左右兩邊的運(yùn)算數(shù)均只能是整數(shù)例:7%4結(jié)果為38%4結(jié)果為07%5結(jié)果為27.2%3錯誤算術(shù)運(yùn)算符是賦值運(yùn)算符賦值運(yùn)算符的含義:將賦值運(yùn)算符右邊表達(dá)式的值送到左邊變量名所代表的存儲單元中。如:a=b+1; x=x+1; 求值規(guī)則:賦值表達(dá)式的值就是賦值號右邊表達(dá)式的值,如:a=(b=3*2)+1; 優(yōu)先級:14 賦值運(yùn)算符的優(yōu)先級小于算術(shù)運(yùn)算符,如:a=b+1;結(jié)合性:賦值運(yùn)算符的結(jié)合性是自右至左,如:int a,b=2; a=b=3;運(yùn)算符實(shí)踐編寫程序:從定義兩個變量,從鍵盤輸入它們的值,然后分別計(jì)算其和、差、積、商及余數(shù),并輸出結(jié)果。#include m

20、ain( )float a,b;/兩個變量float sum, diff, multi, div, res; /各種計(jì)算值scanf(“%f%f”, &a, &b);/輸入a,b的值sum = a + b;/求和diff = a b;/求差multi = a * b;/求積div = a / b;/求商res = (int) a % (int) b;/求余數(shù)。(int)這是什么玩意?/輸出結(jié)果(自己用printf函數(shù)試試)強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換是要把某種類型的數(shù)據(jù)轉(zhuǎn)換為其他類型格式(要轉(zhuǎn)換成的類型)表達(dá)式例如:想把一個int類型的值轉(zhuǎn)換為float類型int x=7;x / 3 (結(jié)果為?)

21、(float) x / 3 (結(jié)果為?)(float) (x/3) (結(jié)果為?)隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是指系統(tǒng)根據(jù)運(yùn)算規(guī)則,自動將某些數(shù)據(jù)類型轉(zhuǎn)換為其他類型的處理方式。隱式類型轉(zhuǎn)換由下面的轉(zhuǎn)換方向決定,隱式轉(zhuǎn)換只能由低等級轉(zhuǎn)換為高等級charintlongdoublefloat級別高級別低隱式類型轉(zhuǎn)換隱式類型轉(zhuǎn)換是指系統(tǒng)根據(jù)運(yùn)算規(guī)則,自動將某些數(shù)據(jù)類型轉(zhuǎn)換為其他類型的處理方式。float f,g;int i, j; f=5/2; /f的值為2.000000i=3.5; /i的值為3g=f+i; /g的值為5.000000j=g/2; /j的值為2自加/自減運(yùn)算符:自加運(yùn)算符,每次給變量自增1

22、:自減運(yùn)算符,每次給變量自減1使用格式后綴用法:變量+ 或 變量前綴用法: +變量或變量例:int m=9, x, y;x=m+; (x為?m為?)y= +m; (x為?m為?)逗號運(yùn)算符語法: e1,e2,e3求值規(guī)則:從左至右依次計(jì)算各個表達(dá)式的值,最后一個表達(dá)式的值是整個逗號表達(dá)式的值優(yōu)先級:15 最低結(jié)合性:左結(jié)合例1: 3+2,5-4,5*3例2:int i=2 ,j=5 ; j=(i =5,i +5,i *4);項(xiàng)目實(shí)踐按照要求完成以下程序:1、求一元二次方程 3.2X2+2.1X-8.4=0 兩個實(shí)根。2、求任意一元二次方程度兩個實(shí)根。關(guān)系運(yùn)算符、=、b (ab)=cb+cbf=

23、abc注意:C語言中連續(xù)比較可能會產(chǎn)生意想不到的結(jié)果如:974的結(jié)果為0邏輯運(yùn)算符&(與)、|(或)、!(非)運(yùn)算數(shù)分為兩類:0即是“假”,非0即是“真”運(yùn)算結(jié)果亦兩類:結(jié)果為真,用1表示;結(jié)果為假,用0表示運(yùn)算規(guī)則如下:aba&ba|b!a!b真真真真假假真假假真假真假真假真真假假假假假真真邏輯運(yùn)算符邏輯運(yùn)算符之間的優(yōu)先級: !(最高) 、&(次之)、|(低)查看正面運(yùn)算的優(yōu)先級,用括號標(biāo)識出來a=x & xb&xya=b|x=y!a|ab計(jì)算下列各式的值a=4;b=5;!aa&ba|b!a|b4&0|253&2|8b)&(n=cd)項(xiàng)目小結(jié)小結(jié)本項(xiàng)目的知識點(diǎn)及技能要求1:掌握基本運(yùn)算符2:

24、掌握簡單程序編寫的方法評價總結(jié)項(xiàng)目完成質(zhì)量及情況課后項(xiàng)目編寫程序達(dá)到以下要求:1、編寫程序求任意半徑的圓的面積。2、定義一個身高變量hight和一個體重變量weight,從鍵盤上輸入hight的值,根據(jù)公式 體重(身高100)計(jì)算weight的值,然后輸出結(jié)果。順序結(jié)構(gòu)及無參無返回值函數(shù)目錄回顧順序結(jié)構(gòu)編程思路計(jì)算器項(xiàng)目功能實(shí)現(xiàn)無參無返回值函數(shù)實(shí)現(xiàn)計(jì)算器項(xiàng)目項(xiàng)目小結(jié)課后項(xiàng)目回顧常用的運(yùn)算符算術(shù)運(yùn)算自加/自減運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符各運(yùn)算符的具體符號及運(yùn)算規(guī)則?順序結(jié)構(gòu)編程思想所有現(xiàn)實(shí)中的問題通過 順序、選擇(分支)、循環(huán)三種基本程序結(jié)構(gòu)的不同組合,均可得到解決方案。順序結(jié)構(gòu):順序結(jié)構(gòu)程序設(shè)計(jì)

25、適合于只需要按照先后(從上到下)的順序來執(zhí)行語句,即可解決問題的情形。順序結(jié)構(gòu)也是計(jì)算機(jī)編程中最基礎(chǔ)的編程結(jié)構(gòu)。順序結(jié)構(gòu)編程思想順序結(jié)構(gòu)編程的基本思想:按照解決問題的先后順序,寫出每一步的語句。一個順序結(jié)構(gòu)的C程序的基本思路(四步曲)定義變量(非常簡單的問題也可能不需要定義變量)輸入某個(些)變量的值(也可能是用賦值語句直接賦值)計(jì)算其他變量的值輸出計(jì)算結(jié)果分析講解項(xiàng)目項(xiàng)目一 計(jì)算長方形的面積和周長項(xiàng)目構(gòu)思:從鍵盤上輸入長方形的長和寬,然后計(jì)算面積和周長,最后將結(jié)果輸出 項(xiàng)目設(shè)計(jì)(1)定義變量chang, kuang, mianji, zhouchang(2)輸入chang和kuang的值(3

26、)計(jì)算mianji和zhouchang的值(4)輸出mianji和zhouchang的值分析講解項(xiàng)目項(xiàng)目一 計(jì)算長方形的面積和周長項(xiàng)目實(shí)現(xiàn)/*計(jì)算長方形的面積和周長*/#include main( )double chang, kuang, mianji, zhouchang;printf(“請輸入長和寬的值:”);scanf(“%lf %lf”, &chang, &kuang);mianji = chang * kuang;zhouchang = 2 * ( chang + kuang );printf(“面積為:%lfn周長為:%lfn”, mianji, zhouchang);項(xiàng)目運(yùn)行輸

27、入長寬分別為 55.5 20 試試分析講解項(xiàng)目項(xiàng)目二 溫度轉(zhuǎn)換項(xiàng)目構(gòu)思:從鍵盤上輸入一個攝氏溫度c,將它轉(zhuǎn)化為華氏溫度f。轉(zhuǎn)化的公式為 f = 9(c+32)/5 。項(xiàng)目設(shè)計(jì)(1)定義變量c和f(2)輸入變量c的值(3)計(jì)算變量f的值(4)輸出結(jié)果分析講解項(xiàng)目項(xiàng)目二 溫度轉(zhuǎn)換項(xiàng)目實(shí)現(xiàn)/*由攝氏溫度轉(zhuǎn)化為華氏溫度*/#include main( )double c, f;printf(“請輸入一個攝氏溫度:”);scanf(“%lf”, &c);f = 9 * ( c + 32 ) / 5;printf(“轉(zhuǎn)換后的華氏溫度為:%lfn” , f);項(xiàng)目運(yùn)行輸入幾個攝氏溫度,并查看結(jié)果實(shí)踐項(xiàng)目 項(xiàng)

28、目三 簡單計(jì)算器項(xiàng)目構(gòu)思:從鍵盤上輸入兩個整數(shù),分別計(jì)算它們的和、差、積、商、求余,并將結(jié)果輸出在屏幕上。項(xiàng)目設(shè)計(jì)(1)定義變量x, y, he, cha, ji, shang, yu(2)輸入x,y的值(3)計(jì)算和、差、積、商、余數(shù)(4)輸出結(jié)果實(shí)踐項(xiàng)目 項(xiàng)目實(shí)現(xiàn):#include main( )int x, y, he, cha, ji, shang, yu;printf(“請輸入兩個整數(shù):”);scanf(“%d%d”, &x, &y);he = x + y;cha = x y;ji = x * y ;shang = x / y;yu = x % y;printf(“he=%d, cha

29、=%d, ji=%dn”, he, cha, ji);printf(“shang=%d, yu=%dn”, shang, yu);項(xiàng)目運(yùn)行輸入幾組x,y查看結(jié)果分析講解項(xiàng)目項(xiàng)目四 用函數(shù)來實(shí)現(xiàn)簡單計(jì)算器當(dāng)碰到某個問題比較復(fù)雜時,通常會將問題細(xì)化到很容易解決的每一步,然后將這些步驟有機(jī)組合起來,就可以解決整個問題了。在C語言中,需要用到函數(shù)來細(xì)化問題項(xiàng)目構(gòu)思:用函數(shù)來實(shí)現(xiàn)簡單計(jì)算器。把加、減、乘、除、求余運(yùn)算分別寫成一個函數(shù),然后再在main函數(shù)中調(diào)用它們,從而實(shí)現(xiàn)與之前一樣的簡單計(jì)算器 。分析講解項(xiàng)目項(xiàng)目四 用函數(shù)來實(shí)現(xiàn)簡單計(jì)算器項(xiàng)目設(shè)計(jì):在C語言中,所有的函數(shù)與main函數(shù)的編程思路都是類似

30、的。本項(xiàng)目 中,我們設(shè)計(jì)五個函數(shù)來分別計(jì)算和、差、積、商、求余,每個函數(shù)都遵循與main函數(shù)類似的“四步曲”編程思路。加法函數(shù): void add( );減法函數(shù): void sub( );乘法函數(shù): void multiply( );除法函數(shù): void divide( );求余函數(shù): void remain( );分析講解項(xiàng)目項(xiàng)目四 用函數(shù)來實(shí)現(xiàn)簡單計(jì)算器函數(shù)基礎(chǔ)C語言中函數(shù)用下面的格式來定義:返回值類型 函數(shù)名( 參數(shù) );返回值類型 是指這個函數(shù)執(zhí)行完后,是否要帶回一個指定值給調(diào)用它的函數(shù)(如main函數(shù))。返回值類型可以是任何已知類型,例如:int代表返回整型數(shù)據(jù)double代表返回

31、雙精度浮點(diǎn)型數(shù)據(jù)char代表返回字符型數(shù)據(jù) 等void代表沒有返回值(就這個是特殊的)函數(shù)名與變量名命名規(guī)則一樣括號中的東西稱為參數(shù):若括號里沒有東西,就稱為無參數(shù)。void add( )這類函數(shù)稱為無參數(shù)無返回值函數(shù)。分析講解項(xiàng)目項(xiàng)目四 用函數(shù)來實(shí)現(xiàn)簡單計(jì)算器項(xiàng)目實(shí)現(xiàn)一個函數(shù)(如add函數(shù))的實(shí)現(xiàn)(其他函數(shù)類似)/*加法函數(shù)的實(shí)現(xiàn)*/void add( )int a, b, s;printf(“請輸入兩個整數(shù):”);scanf(“%d%d”, &a, &b);s = a + b;printf(“%d + %d = %dn”, a, b, s );分析講解項(xiàng)目項(xiàng)目實(shí)現(xiàn)一個函數(shù)(如add函數(shù))的

32、調(diào)用/*實(shí)現(xiàn)了加法函數(shù)的計(jì)算器*/#include void add( ); /*加法函數(shù)的聲明*/*分別聲明減、乘、除、求余函數(shù)*/main( )add( ); /*調(diào)用加法函數(shù)*/*分別調(diào)用減、乘、除、求余函數(shù)*/void add( )/*加法函數(shù)定義*/int a, b, s;printf(“請輸入兩個整數(shù):”);scanf(“%d%d”, &a, &b);s = a + b;printf(“%d + %d = %dn”, a, b, s );/*分別編寫減、乘、除、求余函數(shù)*/請?jiān)谙鄳?yīng)位置補(bǔ)充全其他函數(shù)項(xiàng)目實(shí)踐1、完善用無參無返回值函數(shù)編寫的簡單計(jì)算器。2、分別編寫無參無返回值的函數(shù),

33、實(shí)現(xiàn)從鍵盤上輸入圓的半徑,計(jì)算圓的面積和圓的周長。項(xiàng)目設(shè)計(jì)計(jì)算圓的面積的函數(shù)可定義為:void mianji_circle( );計(jì)算圓的周長的函數(shù)可定義為:void zhouchang_circle( );3、編寫無參無返回值的函數(shù),實(shí)現(xiàn)從鍵盤上三角形的三邊,計(jì)算三角形的面積。項(xiàng)目設(shè)計(jì)計(jì)算三角形的面積的函數(shù)可定義為:void mianji_triangle( );三角形面積計(jì)算方法為,若a,b,c為三邊,則計(jì)算公式為:s = ( a+b+c)/2, 面積sqrt( s * ( s a ) * ( s b ) * ( s c ) )另外,因?yàn)橛玫搅藄qrt函數(shù),需要在程序開頭增加 #inclu

34、de 語句項(xiàng)目小結(jié)小結(jié)本項(xiàng)目的知識點(diǎn)及技能要求1:掌握順序結(jié)構(gòu)程序設(shè)計(jì)的基本思路2:掌握無參無返回值函數(shù)的使用方法函數(shù)聲明函數(shù)定義函數(shù)調(diào)用課后項(xiàng)目將簡單計(jì)算器修改為可以對浮點(diǎn)數(shù)進(jìn)行計(jì)算的計(jì)算器。(提示:求余運(yùn)算需要用到強(qiáng)制類型轉(zhuǎn)換)分支結(jié)構(gòu)程序設(shè)計(jì)目錄回顧分支結(jié)構(gòu)的引入分支結(jié)構(gòu)計(jì)算器項(xiàng)目功能完善分支結(jié)構(gòu)程序設(shè)計(jì)項(xiàng)目小結(jié)課后項(xiàng)目回顧無參無返回值函數(shù)的應(yīng)用函數(shù)聲明函數(shù)定義(編寫)函數(shù)調(diào)用簡單分析講解 函數(shù)的調(diào)用過程main( ) add( ); sub( ); multiply( ); divide( ); remain( );void add( ) int a, b , s; scanf(“%d

35、%d”,&a, &b); s = a + b; printf(“%d+%d=%dn”, a , b, s );void sub( ) int a, b , s; scanf(“%d%d”,&a, &b); s = a - b; printf(“%d-%d=%dn”, a , b, s );分支結(jié)構(gòu)的引入運(yùn)行計(jì)算器程序,在執(zhí)行除法時,輸入 22 0 兩個數(shù),看會出現(xiàn)什么結(jié)果?引出:在程序中要通過代碼來處理類似出錯的這種情況,例如上面的 除數(shù)為0 的錯誤。這種情況下,就要判斷 除數(shù)是否為0,根據(jù)判斷結(jié)果進(jìn)行相應(yīng)的處理。這時要用到 分支結(jié)構(gòu)。出錯!得不到正確結(jié)果!分支結(jié)構(gòu)分支結(jié)構(gòu)是三種程序設(shè)計(jì)結(jié)構(gòu)中

36、的一種。分支結(jié)構(gòu)的形式雙分支結(jié)構(gòu)( if else )單分支結(jié)構(gòu)( if )多分支結(jié)構(gòu)( if else if 、switch)分支結(jié)構(gòu)主要是要判斷條件,條件可以是關(guān)系表達(dá)式,也可以是邏輯表達(dá)式或其他任意的表達(dá)式。分支結(jié)構(gòu)雙分支結(jié)構(gòu)( if else )格式: if ( e ) /e是一個表達(dá)式A;/e為真時執(zhí)行 elseB;/e為假時執(zhí)行eAB真假執(zhí)行流程分支結(jié)構(gòu)單分支結(jié)構(gòu)( if )格式: if ( e ) /e是一個表達(dá)式A;/e為真時執(zhí)行 eA真假執(zhí)行流程分析講解項(xiàng)目項(xiàng)目一 修改計(jì)算器項(xiàng)目中的除法函數(shù)項(xiàng)目構(gòu)思:修改計(jì)算器項(xiàng)目中的除法函數(shù),使其能夠分辨出除數(shù)為0的情況,若除數(shù)為0,則輸出

37、“除數(shù)不能為0”的提示信息,若除數(shù)不為0,則輸出正常的除式。 項(xiàng)目設(shè)計(jì)(1)定義a,b變量(2)輸入a和b的值(3)用表達(dá)式 0 = b判斷b是否為0,若是,則輸出錯誤提示, 若不是,則輸出除式分析講解項(xiàng)目項(xiàng)目實(shí)現(xiàn)實(shí)現(xiàn)divide函數(shù)#include void divide( )int a, b;printf(“請輸入兩個整數(shù):”);scanf(“%d%d”, &a, &b);if ( 0 = b )printf(“ 0 不能作除數(shù)!n”);elseprintf(“ %d / %d = %d n”, a, b, a / b);項(xiàng)目實(shí)踐項(xiàng)目二 修改求余函數(shù)求余函數(shù)remain也有類似的不能除0的

38、問題, 請用if-else分支結(jié)構(gòu)修改求余函數(shù)項(xiàng)目三 修改求三角形面積的函數(shù)在mianji_triangle函數(shù)中,考慮三邊是否能構(gòu)成三角形,若可以,則正常計(jì)算三角形面積,若不能構(gòu)成三角形,則輸出錯誤提示”你輸入的三邊不能構(gòu)成三角形“。(提示:構(gòu)成三角形的條件是 a + b c & a + c b & b + c a )用if else 結(jié)構(gòu)改寫函數(shù)項(xiàng)目實(shí)踐項(xiàng)目四 偶數(shù)輸出項(xiàng)目構(gòu)思:從鍵盤上輸入一個整數(shù),若它為偶數(shù),則輸出在屏幕上,否則,不作任何處理。項(xiàng)目設(shè)計(jì)(1)定義變量num(2)輸入變量num的值(3)用 表達(dá)式 num % 2 = 0 判斷num是否為偶數(shù),若是則輸出項(xiàng)目實(shí)現(xiàn)#incl

39、ude main( ) int num;printf(“請輸入一個整數(shù):”);scanf(“%d”, &num);if ( num % 2 = 0 ) printf(“你輸入的是偶數(shù),它是:%dn”, num);請將程序修改為無參無返回值的函數(shù)形式項(xiàng)目實(shí)踐項(xiàng)目五 比較兩個數(shù)的大小項(xiàng)目構(gòu)思從鍵盤上輸入兩個數(shù),輸出其中較大的一個。項(xiàng)目設(shè)計(jì)定義兩個變量num1和num2輸入num1和num2的值比較 num1 num2的關(guān)系,若成立,則輸出num1,否則就輸出num2項(xiàng)目實(shí)現(xiàn)用無參無返回值的函數(shù)編寫代碼項(xiàng)目 運(yùn)行項(xiàng)目實(shí)踐項(xiàng)目六 兩個數(shù)排序項(xiàng)目構(gòu)思從鍵盤上輸入兩個數(shù),將它們按從大到小的順序輸出在屏幕上

40、。項(xiàng)目設(shè)計(jì)定義兩個變量num1和num2輸入num1和num2的值比較 num1 =18,則輸出”你已經(jīng)是成人,應(yīng)該規(guī)劃好自己的未來“的提示,否則,輸出“你還不到18,要準(zhǔn)備學(xué)習(xí)如何規(guī)劃自己了”的提示。(注意:以上均寫成無參無返回值的函數(shù)形式)課后項(xiàng)目寫一程序,從鍵盤上輸入一年份year(為十進(jìn)制數(shù)),判斷其是否為閏年。(閏年的條件是:能被4整除、但不能被100整除,或者能被400整除),條件表達(dá)式為: (0=year % 4 and 0 !=year % 100) | ( 0 = year % 400 )從鍵盤輸入x的值,求y的值并輸出。 3x3+x2+2x+5 (x 0)分支結(jié)構(gòu)程序設(shè)計(jì)目

41、錄回顧(if-else, if結(jié)構(gòu))分支結(jié)構(gòu)(if-else-if,switch結(jié)構(gòu))if嵌套語句使用switch語句使用項(xiàng)目小結(jié)課后項(xiàng)目94回顧if-else結(jié)構(gòu)if ( e ) /e是一個表達(dá)式A;/e為真時執(zhí)行 elseB;/e為假時執(zhí)行if結(jié)構(gòu)if ( e ) /e是一個表達(dá)式A;/e為真時執(zhí)行分支結(jié)構(gòu)(if嵌套)當(dāng)某個問題用一個簡單的if-else或if無法一次解決時,就可能要用到多次判斷。如:成績等級問題。從鍵盤上輸入一個學(xué)生的成績,判斷其成績所對應(yīng)的級別是什么。成績和級別之間的對應(yīng)關(guān)系如下表所示:解決辦法:用多個if-else嵌套起來判斷各個對應(yīng)關(guān)系(記住,一個if-else只能

42、將問題一分為二)。成績級別90100A8089B7079C6069D059E小于0或大于100非法輸入if-else和if結(jié)構(gòu)之間可以相互嵌套,嵌套可以出現(xiàn)在if分支中,也可以出現(xiàn)在else分支中。嵌套形式可能出現(xiàn)以下幾種:if ( e1 ) if ( e2 ) s1; elses2;if ( e1 ) s1; elseif ( e2 ) s2; if ( e1 ) if ( e2 ) s1; else s2; elses3;if ( e1 ) s1;else if ( e2 ) s2; else s3; if ( e1 ) if ( e2 ) s1; if ( e1 ) if ( e2 )

43、s1; else s2; 分支結(jié)構(gòu)(if嵌套)if嵌套中要注意的問題:養(yǎng)成良好的編程習(xí)慣,在每個分支上加。若有的程序在嵌套分支上未加,則嵌套的規(guī)則為:else與最近的未與其他else配對的if進(jìn)行配對。(這種法則實(shí)際上與()的匹配規(guī)則一樣,只需要把if當(dāng)成“(”,把else當(dāng)成“)”就可以正確找到與某個else配對的if,從而正確理解整個程序的結(jié)構(gòu)。分支結(jié)構(gòu)(if嵌套)例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”)

44、; 實(shí)現(xiàn)if else 正確配對方法:加 分支結(jié)構(gòu)(if嵌套)例 考慮下面程序輸出結(jié)果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); 結(jié)果:-1分支結(jié)構(gòu)(if嵌套)一種特殊的if嵌套形式( if else if )格式: if ( e1 )s1; else if ( e2 ) s2; else if ( e3 ) s3; else if ( e4 ) s4; elsesn;e1e2e3e4s1s2s3s4s5if-

45、else-if后的其他語句真假真假真假真假分析講解項(xiàng)目項(xiàng)目一:用if-else-if語句解決成績等級問題(自己改寫成函數(shù)形式)/*成績等級問題*/#include main( ) int score;printf(“請輸入一個成績:”);scanf(“%d”, &score);if( score 100 )printf(“非法輸入n”); else if ( score = 90 )printf(“An”);else if ( score = 80 )printf(“Bn”);else if (score =70 ) printf(“Cn”); else if (score =60 ) pri

46、ntf(“Dn”); else printf(“En”);分析講解項(xiàng)目項(xiàng)目二 處理一元二次方程項(xiàng)目構(gòu)思:從鍵盤輸入一元二次方程的三個系數(shù)a、b、c,求方程的根??紤]二次項(xiàng)系數(shù)是否為零和判別式正負(fù)的問題。項(xiàng)目設(shè)計(jì)解決此問題的NS流程圖如下:定義變量a,b,c,x1,x2,p;輸入a,b,c的值;a=0真假輸出“這不是一個二次方程!”求判別式p的值;p=0真假求x1,x2并輸出輸出“no real root!”假項(xiàng)目二 處理一元二次方程(自己改寫成函數(shù)形式)項(xiàng)目實(shí)現(xiàn)#include#includemain() float a,b,c,x1,x2,p; printf(“請輸入a、b、c的值:”);

47、scanf(“%f%f%f”,&a,&b,&c); p=b*b-4*a*c;if(a=0) printf(“不是二次方程!”);else if(p=0) x1=(-b+sqrt(p)/(2*a); x2= (-b-sqrt(p)/(2*a); printf(“x1=%f,x2=%f”,x1,x2); else printf(“no real root!”); 項(xiàng)目一 判斷一個三角形的類型項(xiàng)目構(gòu)思:根據(jù)輸入的三個邊長a、b、c,判斷他們能否構(gòu)成三角形;若能構(gòu)成三角形,繼續(xù)判斷該三角形是等邊、等腰還是一般三角形的程序流程圖。請參考程序流程圖編寫相應(yīng)的程序。項(xiàng)目實(shí)踐項(xiàng)目二 求分段函數(shù)的值項(xiàng)目構(gòu)思:根

48、據(jù)以下函數(shù)關(guān)系,對輸入的每個x值,計(jì)算出y值。 x y2x=10 x(x+2)-1x=2 2xx60n”); break; .例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 運(yùn)行結(jié)果:score為5時,輸出: Very good! Good! Pass! Fail! data error!switch語句例 void main() int

49、 x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 運(yùn)行結(jié)果:a=2,b=1switch語句#include main() int c; printf(Enter m or n or h or other:); c=getchar(); switch(c) case m: printf(nGood morning!n);break; case n: pri

50、ntf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; 項(xiàng)目一: 根據(jù)輸入字母輸出字符串項(xiàng)目實(shí)踐項(xiàng)目一 switch解決成績等級問題項(xiàng)目構(gòu)思從鍵盤輸入一個百分制的成績,要求輸出成績等級。90分及以上為A,80-89分為B,70-79分為C,60-69分為D,60以下為E 。 項(xiàng)目二 發(fā)放獎金問題項(xiàng)目構(gòu)思某企業(yè)需要發(fā)放獎金,獎金的發(fā)放要根據(jù)利潤提成,其中發(fā)放原則如下:利潤低于或等于10萬元時,獎金可提10%;利潤在10萬到20萬之間,低于10萬的部分按10%提成,高于10萬

51、元的部分,可提成7.5%;利潤在20萬到40萬之間時,高于20萬元的部分,可提成5%;利潤在40萬到60萬之間時,高于40萬元的部分,可提成3%;利潤在60萬到100萬之間時,高于60萬元的部分,可提成1.5%;利潤高于100萬元時,超過100萬元的部分按1%提成。要求用戶從鍵盤上輸入當(dāng)月的利潤,請?jiān)O(shè)計(jì)解決問題的程序。項(xiàng)目小結(jié)小結(jié)本項(xiàng)目的知識點(diǎn)及技能要求1:掌握if-else-if和switch的用法2:進(jìn)一步掌握無參無返回值函數(shù)的使用方法函數(shù)聲明函數(shù)定義函數(shù)調(diào)用課后項(xiàng)目繼續(xù)完成本PPT中的實(shí)踐項(xiàng)目。循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(1)循環(huán)結(jié)構(gòu)while語句VC中程序的跟蹤調(diào)試(1)課堂實(shí)踐課前回顧

52、 分支結(jié)構(gòu)程序設(shè)計(jì):從鍵盤輸入一個整數(shù),如果該數(shù)既能被3整除又能被5整除,輸出“yes”;否則輸出“no” 。解決該問題的N-S盒圖定義變量n;從鍵盤給n賦值;真假輸出“yes”輸出“no”n既能被3整除又能被5整除課前回顧 從鍵盤輸入一個整數(shù),如果該數(shù)既能被3整除又能被5整除,輸出“yes”;否則輸出“no” 。#include void is_times ()int n;scanf(“%d”, &n);if( n%3=0 & n%5=0)printf(“yesn”);elseprintf(“non”);課前回顧條件運(yùn)算符一般格式 條件運(yùn)算符的一般格式為: 表達(dá)式1?表達(dá)式2:表達(dá)式3舉例設(shè)

53、a=5,b=3,c=4,則 (1)max=ab?a:b的值為 ? (2)max=ab?a:bc?b:c 的值為 ?課前回顧switch 語句switch語句是實(shí)現(xiàn)多個分支的選擇語句switch (表達(dá)式) case 常量表達(dá)式 1 :語句1;break; case 常量表達(dá)式 2 :語句2;break; case 常量表達(dá)式 n :語句n ;break; default :語句n+1;break;課前回顧例子main() int i=2; switch(i) case 0: printf( i=0); break; case 1: printf( i=1); break; case 2: pr

54、intf( i=2); break; case 3: printf( i=3); break; default: printf(default); 結(jié)果:i=2循環(huán)結(jié)構(gòu)問題的提出1、在屏幕上輸出一行*(假設(shè)為10個)。如果要求輸出100行呢?如果要求輸出1萬行呢?2、求s=1+2+3+10的結(jié)果。如果是求s=1+2+3+200的結(jié)果呢?這類問題的共同點(diǎn):重復(fù)做某種操作若干次。這就需要用到 循環(huán)結(jié)構(gòu)。算法描述s=0,i=1s=s+ii=i+1s=s+ii=i+1s=s+ii=i+1s=s+ii=i+1s=s+ii=i+1s=s+ii=i+1輸出ss=s+ii=i+1s=0,i=1輸出s當(dāng)i=10

55、時,循環(huán)執(zhí)行這兩條語句流程s=s+i;i=i+1;s=0,i=1;輸出si=10真假開始結(jié)束while語句while語句while(表達(dá)式e1) 語句s1; s1; e1 真假表達(dá)式e1的值為真循環(huán)體s1while語句的N-S圖例題: 求s=1+2+3+10 ;s=s+ii=i+1s=0,i=1輸出s當(dāng)i=10時,循環(huán)執(zhí)行這兩條語句 i=10s=s+i;i=i+1;解決該問題的N-S圖 定義變量i,s; i=1,s=0; 輸出s的值 例題: 求s=1+2+3+10 ;#include void sumFromOneToTen( )int i, s; /定義循環(huán)變量i和累加變量si=1; /循環(huán)

56、變量賦初始值s=0; /累加變量根據(jù)實(shí)際賦初始值while(i=10) /i從1變到10(即當(dāng)i=10都需要循環(huán))s += i; /累加i+; /循環(huán)變量改變值printf(“s=%d”, s);循環(huán)結(jié)構(gòu)的三個要素:1、循環(huán)條件:循環(huán)結(jié)構(gòu)中的條件表達(dá)式如while (i=10)其中,i=10就是循環(huán)條件。2、循環(huán)體:在每個循環(huán)周期均要執(zhí)行一次的語句序列。如while下用 括起來的語句序列。3、循環(huán)控制變量:能夠決定控制條件是真是假的量,如上例中的變量i。一般來說,在循環(huán)體中要有改變循環(huán)變量的語句,使得循環(huán)條件可以為假,即循環(huán)可以結(jié)束而不是無限循環(huán)(死循環(huán))。while語句VC程序調(diào)試(1)單步

57、執(zhí)行 跟蹤計(jì)算機(jī)依次執(zhí)行每一條C語句的情況 可以跟蹤變量或表達(dá)式的值 快捷鍵:F10單步執(zhí)行調(diào)試?yán)} #include void sumFromOneToTen()int i, s;i=1;s=0;while(i=2)是否為素?cái)?shù)(素?cái)?shù)即只能被1和自身整除的自然數(shù))。注意單步執(zhí)行調(diào)試工具的運(yùn)用。課堂實(shí)踐 5、求任意整數(shù)的所有位上的數(shù)之和,例17865的所有位上的數(shù)之和為:5+6+8+7+1,得27。6、 解決數(shù)學(xué)積分問題。求f(x)=x2-3x+2在區(qū)間5,22上的積分,即求注意單步執(zhí)行調(diào)試工具的運(yùn)用。課后作業(yè)1、求11000內(nèi)所有能被3整除的整數(shù),所有數(shù)右對齊(思考:如果程序額外要求每行輸出1

58、0個數(shù),每屏輸出20行應(yīng)該怎么處理)。 2、從鍵盤上接收10個數(shù),求和。要求:(1)先提示“請輸入第1個數(shù):” ,輸入第一個數(shù)后再提示“請輸入第2個數(shù)”,依次類推;(2)輸入完十個數(shù)后,輸出十個數(shù)求和的結(jié)果。要求:課下在計(jì)算機(jī)上調(diào)試程序,使之能得到正確結(jié)果。課后作業(yè)3、把累加功能,即1+2+3+4+n(n從鍵盤上輸入)添加到計(jì)算器應(yīng)用程序中。 4、把累乘功能,即1*2*3*4*n(n從鍵盤上輸入)添加到計(jì)算器應(yīng)用程序中。要求:課下在計(jì)算機(jī)上調(diào)試程序,使之能得到正確結(jié)果。循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(2)回顧(while語句)for語句課堂實(shí)踐課前回顧求s=1+2+3+100 ;#inclu

59、de void sum_1_to_100( )int i, s;s=0;i=1; /初始化循環(huán)變量,只執(zhí)行一次while(i=100) /循環(huán)條件,將決定繼續(xù)循環(huán)或終止循環(huán)s+=i; /循環(huán)體i+; /每次執(zhí)行循環(huán)體后,修改循環(huán)變量printf(“s=%d”,s);求s=1+2+3+100 ; 用while實(shí)現(xiàn)。for語句for語句語法:for(e1;e2;e3) 語句s1; 語法上要求s1是一條語句,若有多條語句,必須用 ,使之成為一條復(fù)合語句,從而滿足語法要求。 e2 e1;真假e3;s1;for語句執(zhí)行流程#include void sum_1_to_100( )int i, s;s =

60、 0;for( i = 1; i = 100; i+ )s += i; /循環(huán)體printf(“s=%d”, s);求s=1+2+3+100 ; 用for語句實(shí)現(xiàn)。for( e1; e2; e3 ) s1; e1表達(dá)式只執(zhí)行一次,一般用于循環(huán)變量初始化e2表達(dá)式是循環(huán)條件表達(dá)式,決定是繼續(xù)循環(huán)還是終止循環(huán)e3表達(dá)式一般用于修改循環(huán)變量的值,執(zhí)行完循環(huán)體s1后再執(zhí)行e3,然后判斷e2s1是循環(huán)體,一般是一條復(fù)合語句真假e2為假,終止循環(huán),執(zhí)行后續(xù)語句1243for( i=1; i=100; i+; ) s+=i; e1表達(dá)式只執(zhí)行一次,一般用于循環(huán)變量初始化e2表達(dá)式是循環(huán)條件表達(dá)式,決定是繼續(xù)

溫馨提示

  • 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

提交評論