C語(yǔ)言程序設(shè)計(jì) 課件 于紅 模塊二 程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 于紅 模塊二 程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 于紅 模塊二 程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 于紅 模塊二 程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì) 課件 于紅 模塊二 程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩116頁(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)介

高級(jí)語(yǔ)言程序設(shè)計(jì)模塊二程序設(shè)計(jì)基礎(chǔ)任務(wù)2.1流程圖的繪制C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)2.1流程圖的繪制01問(wèn)題引入05技能點(diǎn)檢測(cè)一問(wèn)題引入流程圖是人們對(duì)解決問(wèn)題的方法、思路或算法的一種描述。社會(huì)的各行各業(yè)都會(huì)用到流程圖,比如酒店有管理流程,企業(yè)有項(xiàng)目實(shí)施流程,物流系統(tǒng)有配送流程等等。使用流程圖可以形象直觀的描述程序設(shè)計(jì)的思路,使各種操作一目了然,便于理解,并可以直接轉(zhuǎn)化為程序。那么在C程序設(shè)計(jì)中如何繪制流程圖呢?04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.1流程圖的繪制二技能點(diǎn)分析1.了解流程圖的繪制規(guī)范2.掌握流程圖繪制方法3.能夠使用visio繪制流程圖學(xué)習(xí)目標(biāo)1.什么是流程圖?他的主要作用是什么?2.流程圖有哪幾種符號(hào)?分別表示什么含義?3.從結(jié)構(gòu)化設(shè)計(jì)角度來(lái)看,有哪幾種流程控制結(jié)構(gòu)?4.常用的流程圖繪制軟件有哪幾種?分別是哪些公司開發(fā)的?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.1流程圖的繪制三技能點(diǎn)詳解——1規(guī)范1)流程圖形狀統(tǒng)一。流程圖是由點(diǎn)和線組成的面。要畫出規(guī)范的流程圖,最基本的就是流程圖的形狀要統(tǒng)一,如表2.1.1所示:表2.1.1流程圖標(biāo)準(zhǔn)符號(hào)2)流程圖的命名要使用主謂結(jié)構(gòu),如“設(shè)備購(gòu)買流程”。3)操作描述用動(dòng)賓結(jié)構(gòu),語(yǔ)言要簡(jiǎn)潔清晰,如“編制招聘計(jì)劃”。4)起點(diǎn)必須有且只有一個(gè),而終點(diǎn)可以省略不畫或有多個(gè)。5)流程圖的形狀大小一致,統(tǒng)一字號(hào)。6)流程線是從下往上或從右向左時(shí),必須帶箭頭;除此以外,都可以不畫箭頭;流程線的走向默認(rèn)都是從上向下或從左向右。7)判斷框和選擇框上下端連接“yes”線,左右端“no”流入流出。8)流程圖從左到右、從上至下排列。9)流程處理關(guān)系為并行關(guān)系的,需要將流程放在同一高度。10)連接線不要交叉。三技能點(diǎn)詳解——1規(guī)范三技能點(diǎn)詳解——2流程圖的三大結(jié)構(gòu)流程圖由三大結(jié)構(gòu)構(gòu)成,這三大結(jié)構(gòu)分別為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這三個(gè)結(jié)構(gòu)構(gòu)成了流程執(zhí)行的全過(guò)程。1)順序結(jié)構(gòu)在順序結(jié)構(gòu)中,各個(gè)步驟是按先后順序執(zhí)行的,這是一種最簡(jiǎn)單的基本結(jié)構(gòu)。如圖2.1.1所示,A、B、C是三個(gè)連續(xù)的步驟,它們是按順序執(zhí)行的,即完成上一個(gè)框中指定的操作才能再執(zhí)行下一個(gè)動(dòng)作。圖2.1.1順序結(jié)構(gòu)流程圖三技能點(diǎn)詳解——2流程圖的三大結(jié)構(gòu)2)選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu),選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果來(lái)控制程序的流程,如圖2.1.2所示。在實(shí)際運(yùn)用中,某一判定結(jié)果可以為空操作(如圖二)。圖2.1.2選擇結(jié)構(gòu)流程圖三技能點(diǎn)詳解——2流程圖的三大結(jié)構(gòu)3)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)又稱為重復(fù)結(jié)構(gòu),就是流程在一定的條件下,反復(fù)執(zhí)行某一操作的流程結(jié)構(gòu)。循環(huán)結(jié)構(gòu)下又可以分為當(dāng)型結(jié)構(gòu)和直到型結(jié)構(gòu)。循環(huán)結(jié)構(gòu)可以看成是一個(gè)條件判斷條件和一個(gè)向回轉(zhuǎn)向條件的組合,循環(huán)結(jié)構(gòu)的包括三個(gè)要素:循環(huán)變量、循環(huán)體和循環(huán)終止條件。在流程圖的表示中,判斷框內(nèi)寫上條件,兩個(gè)出口分別對(duì)應(yīng)著條件成立和條件不成立時(shí)所執(zhí)行的不同指令,其中一個(gè)要指向循環(huán)體,然后再?gòu)难h(huán)體回到判斷框的入口處。當(dāng)型結(jié)構(gòu):先判斷所給條件p是否成立,若P成立,則執(zhí)行A(步驟);再判斷條件p是否成立;若P成立,則又執(zhí)行A,若此反復(fù),直到某一次條件p不成立時(shí)為止,如圖2.1.3所示:三技能點(diǎn)詳解——2流程圖的三大結(jié)構(gòu)直到型結(jié)構(gòu):先執(zhí)行A,再判斷所給條件P是否成立,若p成立,則再執(zhí)行A,如此反復(fù),直到P不成立,該循環(huán)過(guò)程結(jié)束,如圖2.1.4所示:圖2.1.3當(dāng)型結(jié)構(gòu)流程圖圖2.1.4直到型結(jié)構(gòu)流程圖案例2.1.1順序結(jié)構(gòu)流程圖示例案例題目:計(jì)算1+2+3+4+5的和。解題思路:第一步:計(jì)算1+2的和等于3第二步:計(jì)算3+3的和等于6第三步:計(jì)算6+4的和等于10第四步:計(jì)算10+5的和等于15流程圖如圖2.1.5所示:三技能點(diǎn)詳解——案例實(shí)踐案例2.1.2選擇結(jié)構(gòu)流程圖示例案例題目:判斷一個(gè)數(shù)能否同時(shí)被3和5整除。解題思路:第一步:先輸入這個(gè)數(shù)(假定為變量a)的值第二步:判斷a是否可以同時(shí)被3和5整除第三步:如果可以,則輸出“可以整除”;如果不可以,則輸出“不可以整除”流程圖如圖2.1.6所示:三技能點(diǎn)詳解——案例實(shí)踐04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.1流程圖的繪制四技能點(diǎn)拓展——1畫流程圖工具M(jìn)icrosoftVisio(微軟老牌制作流程圖軟件)億圖(國(guó)產(chǎn)不錯(cuò)的流程圖軟件)Xmind(涵蓋pc\Mac\IOS\安卓)/(在線制作流程圖)四技能點(diǎn)拓展——2OfficeVisio04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.1流程圖的繪制五技能點(diǎn)檢測(cè)1)下列圖形符號(hào),屬于判斷框的是(

)。A)B)C)D)2)下列關(guān)于流程線的說(shuō)法,正確的有(

)。A)流程線表示算法步驟執(zhí)行的順序,用來(lái)連接圖框。B)流程線只要是上下方向就表示自上而下執(zhí)行可以不要箭頭。C)流程線無(wú)論什么方向,總要按箭頭的指向執(zhí)行。D)流程線是帶有箭頭的線,它可以畫成折線。五技能點(diǎn)檢測(cè)3)解決下列幾個(gè)問(wèn)題,能用順序結(jié)構(gòu)畫出其流程圖的是(

)。A)計(jì)算1+2+3+...+100的和B)判斷兩數(shù)的大小關(guān)系,輸出結(jié)果C)求兩個(gè)整數(shù)的和D)求1-100內(nèi)的所有素?cái)?shù)4)算法中通常有三種不同的基本邏輯結(jié)構(gòu),下面說(shuō)法正確的是(

)。A)一個(gè)算法中只能包含一種基本邏輯結(jié)構(gòu)。B)一個(gè)算法可以包含三種基本邏輯結(jié)構(gòu)的任意組合。C)一個(gè)算法最多可以包含兩種基本邏輯結(jié)構(gòu)。D)一個(gè)算法必須包含三種基本邏輯結(jié)構(gòu)。課后作業(yè)完成課堂任務(wù),在線提交;完成技能檢測(cè),在線提交;高級(jí)語(yǔ)言程序設(shè)計(jì)模塊二程序設(shè)計(jì)基礎(chǔ)任務(wù)2.2順序結(jié)構(gòu)的使用C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)2.2順序結(jié)構(gòu)的使用01問(wèn)題引入05技能點(diǎn)檢測(cè)一問(wèn)題引入

世間萬(wàn)物都在遵循著規(guī)律各自運(yùn)作。太陽(yáng)總是先從東邊升起,再?gòu)奈鬟吢湎?;大自然春夏秋冬,四季更迭;學(xué)習(xí)總是先有付出,才有收獲。在C語(yǔ)言的編程世界里,也有一種結(jié)構(gòu)有著自己的編寫規(guī)律,這就是順序結(jié)構(gòu)。那么什么是順序結(jié)構(gòu)編程呢?它又有什么樣的編程規(guī)律呢?04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.2順序結(jié)構(gòu)的使用二技能點(diǎn)分析1.了解順序結(jié)構(gòu)的含義2.掌握順序結(jié)構(gòu)編程的主要步驟3.能夠利用順序結(jié)構(gòu)解決簡(jiǎn)單問(wèn)題學(xué)習(xí)目標(biāo)1.什么是順序結(jié)構(gòu)?它的特點(diǎn)是什么?2.順序結(jié)構(gòu)編程的主要步驟是什么?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.2順序結(jié)構(gòu)的使用三技能點(diǎn)詳解順序結(jié)構(gòu)是C語(yǔ)言的基本結(jié)構(gòu),平時(shí)寫程序基本都用到順序結(jié)構(gòu)。所謂“順序結(jié)構(gòu)”,即指程序中語(yǔ)句的執(zhí)行順序,就是按照書寫的先后順序從前到后執(zhí)行的結(jié)構(gòu)。程序設(shè)計(jì)者要把事情交給計(jì)算機(jī)去做,通常是寫出一條條語(yǔ)句,用它們描述事情的原委,這在程序設(shè)計(jì)里稱作“順序式”結(jié)構(gòu),它的執(zhí)行特點(diǎn)如圖2.2.1所示:圖2.2.1順序結(jié)構(gòu)執(zhí)行特點(diǎn)示意圖三技能點(diǎn)詳解順序結(jié)構(gòu)編程的主要步驟可分為三步:1)輸入數(shù)據(jù)2)對(duì)數(shù)據(jù)進(jìn)行加工處理3)輸出結(jié)果其中第一步可通過(guò)調(diào)用輸入函數(shù)來(lái)實(shí)現(xiàn),第二步可運(yùn)用我們?cè)谀K一中給大家介紹的各種表達(dá)式和賦值語(yǔ)句組合完成,第三步調(diào)用輸出函數(shù)即可。其流程圖如圖2.2.2所示:圖2.2.2順序結(jié)構(gòu)執(zhí)行流程圖案例2.2.1順序結(jié)構(gòu)程序示例1案例題目:已知一圓的半徑,求其面積(圓周率記pi=3.14)。/**********************************內(nèi)容簡(jiǎn)述:已知圓的半徑,求面積。**********************************/#include

<stdio.h>

intmain(void){

float

s,r,pi=3.14;

printf("請(qǐng)輸入圓的半徑:\n");

scanf("%f",&r);//輸入數(shù)據(jù) s=pi*r*r;//對(duì)數(shù)據(jù)加工處理

printf("面?積ys=%.2f\n",s);//輸出結(jié)果

return0;}三技能點(diǎn)詳解——案例案例題目:從鍵盤輸入一個(gè)小寫字母,將其轉(zhuǎn)換成大寫字母后輸出。案例2.2.2順序結(jié)構(gòu)程序示例2/***************************************內(nèi)容簡(jiǎn)述:將小寫字母轉(zhuǎn)換成大寫字母輸出。***************************************/#include

<stdio.h>

intmain(void){

charc1,c2;

printf("請(qǐng)輸入一個(gè)小寫字母:\n"); c1=getchar(); c2=c1-32;//小寫字母的ASCII碼值比大寫字母大32

printf("%c,%d\n",c2,c2);//將轉(zhuǎn)換后的字母分別以字符和整數(shù)兩種形式輸出

return0;}三技能點(diǎn)詳解——案例04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.2順序結(jié)構(gòu)的使用四技能點(diǎn)拓展——1printf()函數(shù)的計(jì)算順序我們知道任何一個(gè)程序都是要有輸出結(jié)果的,順序結(jié)構(gòu)也不例外。在C中通過(guò)調(diào)用printf()函數(shù)來(lái)完成,那么大家知道printf()函數(shù)的計(jì)算順序嗎?printf()函數(shù)對(duì)輸出變量表里所列諸變量(或表達(dá)式),其計(jì)算順序是自右向左進(jìn)行的。因此,要注意右邊的參數(shù)值是否會(huì)影響到左邊的參數(shù)取值。案例2.2.3printf()函數(shù)的計(jì)算順序有如下程序,試分析該程序的輸出是什么?四技能點(diǎn)拓展——1printf()函數(shù)的計(jì)算順序輸出結(jié)果為:案例解析:此時(shí),要特別注意printf()函數(shù)對(duì)輸出變量表里所列諸變量(或表達(dá)式)的計(jì)算順序是自右向左進(jìn)行的。因此printf()在輸出前,應(yīng)該先計(jì)算x--,再計(jì)算中間的x++,最后計(jì)算左邊的x++。但%d與輸出變量的對(duì)應(yīng)關(guān)系仍然是從左往右一一對(duì)應(yīng)。所以,該程序執(zhí)行后的輸出是:434,而不是:454。四技能點(diǎn)拓展——2復(fù)合語(yǔ)句在C語(yǔ)言程序中,可以用一對(duì)花括號(hào)把若干條語(yǔ)句括起來(lái),形成一個(gè)整體。這個(gè)整體就被稱為“復(fù)合語(yǔ)句”。從語(yǔ)法上講,它只相當(dāng)于一個(gè)語(yǔ)句。復(fù)合語(yǔ)句的一般格式是:關(guān)于復(fù)合語(yǔ)句,要注意:1)復(fù)合語(yǔ)句中可以出現(xiàn)變量說(shuō)明;2)復(fù)合語(yǔ)句中的最后一條語(yǔ)句的語(yǔ)句結(jié)束符(分號(hào))不能省略,否則會(huì)產(chǎn)生語(yǔ)法錯(cuò)誤;3)標(biāo)識(shí)復(fù)合語(yǔ)句結(jié)束的右花括號(hào)的后面不能有語(yǔ)句結(jié)束符(分號(hào));4)在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中,常會(huì)用復(fù)合語(yǔ)句作為程序中的一個(gè)語(yǔ)法成分。四技能點(diǎn)拓展——2復(fù)合語(yǔ)句案例2.2.4復(fù)合語(yǔ)句演示輸出結(jié)果為:04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.2順序結(jié)構(gòu)的使用五技能點(diǎn)檢測(cè)1)根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入/輸出語(yǔ)句的正確是(

)。main(){inta;floatx;printf("inputa,x:");輸入語(yǔ)句輸出語(yǔ)句}輸入形式inputa,x:32.1輸出形式a+x=5.10五技能點(diǎn)檢測(cè)A)scanf("%d,%f",&a,&x);B)scanf("%d%f",&a,&x);printf("\na+x=%4.2f",a+x);printf("\na+x=%4.2f",a+x);C)scanf("%d%f",&a,&x);D)scanf("%d%3.1f",&a,&x);printf("\na+x=%6.1f",a+x);printf("\na+x=%4.2f",a+x);五技能點(diǎn)檢測(cè)2)以下程序的輸出結(jié)果是(

)。main(){inti=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);}A)8,10,16B)8,10,10C)10,10,10D)10,10,16五技能點(diǎn)檢測(cè)3)以下程序的輸出結(jié)果是(

)。#include<stdio.h>main(){printf("%d\n",NULL);}A)不確定的值(因變量無(wú)定義)B)0C)-1D)1五技能點(diǎn)檢測(cè)4).以下程序的輸出結(jié)果是(

)。main(){charc1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}A)因輸出格式不合法,輸出出錯(cuò)信息B)6,0,6,102C)6,0,7,6D)6,0,5,7課后作業(yè)完成課堂任務(wù)撰寫任務(wù)書完成云課堂作業(yè)高級(jí)語(yǔ)言程序設(shè)計(jì)模塊二程序設(shè)計(jì)基礎(chǔ)任務(wù)2.3選擇結(jié)構(gòu)的使用C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)2.3選擇結(jié)構(gòu)的使用01問(wèn)題引入05技能點(diǎn)檢測(cè)一問(wèn)題引入

大千世界,茫茫人海。變幻的世界,讓我們?cè)谌松穆猛局胁粩嗟剡x擇,其實(shí),人的一生就是在不斷地選擇。每當(dāng)我們站在人生的十字路口時(shí),交警是我們自己,自己選擇要去的方向。人生綻放光彩,總是在我們做出完美的選擇時(shí)。在計(jì)算機(jī)的世界里,我們需要根據(jù)某些條件來(lái)選擇執(zhí)行指定的操作,這就需要選擇結(jié)構(gòu)。04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.3選擇結(jié)構(gòu)的使用二技能點(diǎn)分析1.了解實(shí)現(xiàn)選擇結(jié)構(gòu)的兩種語(yǔ)句:if語(yǔ)句和switch語(yǔ)句2.掌握if語(yǔ)句和switch語(yǔ)句的語(yǔ)法3.能夠使用這兩種語(yǔ)句進(jìn)行選擇結(jié)構(gòu)編程學(xué)習(xí)目標(biāo)1.什么是選擇結(jié)構(gòu)?實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句有哪些?2.if語(yǔ)句的使用形式有哪些?3.什么情況下使用嵌套if語(yǔ)句?4.switch語(yǔ)句的使用注意事項(xiàng)有哪些?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.3選擇結(jié)構(gòu)的使用三技能點(diǎn)詳解選擇結(jié)構(gòu)要求程序員指定一個(gè)或多個(gè)要評(píng)估或測(cè)試的條件,以及條件為“真”時(shí)要執(zhí)行的語(yǔ)句(必需的)和條件為“假”時(shí)要執(zhí)行的語(yǔ)句(可選的)。C語(yǔ)言把任何非零和非空的值假定為“真”,把零或null假定為“假”。下面是大多數(shù)編程語(yǔ)言中典型的選擇語(yǔ)句的流程圖:圖2.3.1選擇語(yǔ)句流程圖三技能點(diǎn)詳解常用選擇語(yǔ)句對(duì)應(yīng)關(guān)系,如表2.3.1所示:表2.3.1選擇語(yǔ)句描述對(duì)照表三技能點(diǎn)詳解——1

if語(yǔ)句1.if語(yǔ)句一個(gè)if語(yǔ)句由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句組成。C語(yǔ)言中if語(yǔ)句的語(yǔ)法:如果布爾表達(dá)式為“真”,則if語(yǔ)句內(nèi)的代碼塊將被執(zhí)行。如果布爾表達(dá)式為“假”,則if語(yǔ)句結(jié)束后的第一組代碼將被執(zhí)行。C語(yǔ)言把任何非零和非空的值假定為“真”,把零或null假定為“假”。if語(yǔ)句流程圖如圖2.3.2所示:圖2.3.2if語(yǔ)句流程圖三技能點(diǎn)詳解——2

if...else語(yǔ)句2.if...else語(yǔ)句一個(gè)if語(yǔ)句后可跟一個(gè)可選的else語(yǔ)句,else語(yǔ)句在布爾表達(dá)式為“假”時(shí)執(zhí)行。C語(yǔ)言中if...else語(yǔ)句的語(yǔ)法:三技能點(diǎn)詳解——2

if...else語(yǔ)句如果布爾表達(dá)式為“真”,則執(zhí)行if塊內(nèi)的代碼。如果布爾表達(dá)式為“假”,則執(zhí)行else塊內(nèi)的代碼。C語(yǔ)言把任何非零和非空的值假定為“真”,把零或null假定為“假”。if...else語(yǔ)句流程圖如圖2.3.3所示:圖2.3.3if...else語(yǔ)句流程圖三技能點(diǎn)詳解——3

if...elseif...else3.if...elseif...else語(yǔ)句一個(gè)if語(yǔ)句后可跟一個(gè)可選的elseif...else語(yǔ)句,這可用于測(cè)試多種條件。當(dāng)使用if...elseif...else語(yǔ)句時(shí),以下幾點(diǎn)需要注意:一個(gè)if后可跟零個(gè)或一個(gè)else,else必須在所有elseif之后。一個(gè)if后可跟零個(gè)或多個(gè)elseif,elseif必須在else之前。一旦某個(gè)elseif匹配成功,其他的elseif或else將不會(huì)被測(cè)試。

三技能點(diǎn)詳解——3

if...elseif...elseC語(yǔ)言中的if...elseif...else語(yǔ)句的語(yǔ)法:三技能點(diǎn)詳解——3

if...elseif...elseif...elseif...else語(yǔ)句流程圖如圖2.3.4所示:圖2.3.4if...elseif...else語(yǔ)句流程圖三技能點(diǎn)詳解——4

C嵌套if語(yǔ)句4.C嵌套if語(yǔ)句在C語(yǔ)言中,嵌套if-else語(yǔ)句是合法的,這意味著您可以在一個(gè)if或elseif語(yǔ)句內(nèi)使用另一個(gè)if或elseif語(yǔ)句。C語(yǔ)言中嵌套if語(yǔ)句的語(yǔ)法:您可以嵌套elseif...else,方式與嵌套if語(yǔ)句相似。嵌套if語(yǔ)句流程圖如圖2.3.5所示:圖2.3.5嵌套if語(yǔ)句流程圖三技能點(diǎn)詳解——5

switch語(yǔ)句5.switch語(yǔ)句一個(gè)switch語(yǔ)句允許測(cè)試一個(gè)變量等于多個(gè)值時(shí)的情況。每個(gè)值稱為一個(gè)case,且被測(cè)試的變量會(huì)對(duì)每個(gè)case進(jìn)行檢查。C語(yǔ)言中switch語(yǔ)句的語(yǔ)法:三技能點(diǎn)詳解——5

switch語(yǔ)句switch語(yǔ)句必須遵循下面的規(guī)則:1)switch語(yǔ)句中的表達(dá)式是一個(gè)常量表達(dá)式,必須是一個(gè)整型或枚舉類型。2)在一個(gè)switch中可以有任意數(shù)量的case語(yǔ)句。每個(gè)case后跟一個(gè)要比較的值和一個(gè)冒號(hào)。3)case后的常量必須與switch中的變量具有相同的數(shù)據(jù)類型,且必須是一個(gè)整數(shù)或字符常量。4)當(dāng)被測(cè)試的變量等于case中的常量時(shí),case后跟的語(yǔ)句將被執(zhí)行,直到遇到break語(yǔ)句為止。5)當(dāng)遇到break語(yǔ)句時(shí),switch終止,控制流將跳轉(zhuǎn)到switch語(yǔ)句后的下一行。6)不是每一個(gè)case都需要包含break。如果case語(yǔ)句不包含break,控制流將會(huì)繼續(xù)后續(xù)的case,直到遇break為止。7)一個(gè)switch語(yǔ)句可以有一個(gè)可選的defaultcase,出現(xiàn)在switch的結(jié)尾。defaultcase可用于在上面所有case都不為“真”時(shí)執(zhí)行一個(gè)任務(wù)。defaultcase中的break語(yǔ)句不是必需的。三技能點(diǎn)詳解——5

switch語(yǔ)句switch...case語(yǔ)句流程圖如圖2.3.6所示:圖2.3.6switch...case語(yǔ)句流程圖三技能點(diǎn)詳解——6嵌套switch語(yǔ)句6.嵌套switch語(yǔ)句您可以把一個(gè)switch作為一個(gè)外部switch的語(yǔ)句序列的一部分,即可以在一個(gè)switch語(yǔ)句內(nèi)使用另一個(gè)switch語(yǔ)句。即使內(nèi)部和外部switch的case常量包含共同的值,也沒(méi)有矛盾。C語(yǔ)言中嵌套switch語(yǔ)句的語(yǔ)法:案例2.3.1if語(yǔ)句在這個(gè)案例中,我們要先定義一個(gè)整型變量,并對(duì)其賦值,然后判斷其值是否小于20,如果是則輸出“a小于20”,再輸出它的值。/****************************************內(nèi)容簡(jiǎn)述:判斷輸入的值是否小于20。

***************************************/#include

<stdio.h>

//頭函數(shù)

intmain(void){

inta=10;//變量賦值

if(a<20)//條件判斷 {

printf("a小于20\n"); }

printf("a的值是%d\n",a);//輸出變量a

return0;}三技能點(diǎn)詳解——案例案例2.3.2if...else語(yǔ)句在這個(gè)案例中,我們要先定義一個(gè)整型變量,并對(duì)其賦值,然后判斷其值是否小于20,如果是則輸出“a小于20”,否則輸出“a大于20”再輸出它的值。/*********************************內(nèi)容簡(jiǎn)述:判斷a值的大小。

*********************************/#include

<stdio.h>

//頭文件

intmain(void){

inta=100;//定義a值

if(a<20)//小于20 {

printf("a小于20\n"); }

else

//不小于20 {

printf("a大于20\n"); }

printf("a的值是%d\n",a);

return0;}三技能點(diǎn)詳解——案例案例2.3.3if...elseif...elseif...else語(yǔ)句我們要先定義一個(gè)整型變量,并對(duì)其賦值,然后判斷其值是否為10,20或者30,并輸出相應(yīng)的結(jié)果,如果都不是則輸出“沒(méi)有匹配的值”,最后再輸出它的值。/***************************************內(nèi)容簡(jiǎn)述:輸入數(shù)值,與設(shè)定值進(jìn)行數(shù)值匹配

***************************************/#include

<stdio.h>intmain(void){

inta=100;//定義變量值

if(a==10)//判斷是否與10相等{

printf("a的值是10\n");}

else

if(a==20)//判斷是否與20相等{

printf("a的值是20\n");}

else

if(a==30)//判斷是否與30相等{

printf("a的值是30\n");}

else

//以上都不匹配{

printf("沒(méi)有匹配的值\n");}

printf("a的準(zhǔn)確值是%d\n",a);

return0;}三技能點(diǎn)詳解——案例案例2.3.4嵌套if語(yǔ)句在這個(gè)案例中,我們先定義兩個(gè)整型變量,并對(duì)它們各自賦值,然后先判斷第一個(gè)變量的值是否滿足條件,在滿足條件的情況下再去判斷第二個(gè)變量的值是否也滿足條件,如果兩個(gè)變量的值都滿足條件,則輸出一句話,說(shuō)明兩個(gè)變量的值是多少,最后再輸出這兩個(gè)變量的值加以驗(yàn)證。/***************************************內(nèi)容簡(jiǎn)述:判斷兩個(gè)條件都滿足時(shí)候的條件

***************************************/#include

<stdio.h>

//頭文件

intmain(void){

inta=100;//定義變量值

intb=200;

if(a==100)//條件1滿足 {

if(b==200)//條件2滿足 {

printf("a的值是100且b的值是200\n"); } }

printf("a的準(zhǔn)確值是%d\n",a);

printf("b的準(zhǔn)確值是%d\n",b);

return0;}三技能點(diǎn)詳解——案例案例2.3.5switch語(yǔ)句我們要根據(jù)某學(xué)生考試所得成績(jī)?nèi)ポ敵鱿鄳?yīng)的結(jié)果提示,最后再輸出其成績(jī)。三技能點(diǎn)詳解——案例/***************************************************內(nèi)容簡(jiǎn)述:根據(jù)某學(xué)生考試所得成績(jī)?nèi)ポ敵鱿鄳?yīng)的結(jié)果提示

***************************************************/#include

<stdio.h>

//頭文件

intmain(void){

chargrade='B';//分?jǐn)?shù)等級(jí)

switch(grade) {

case'A'://如果是A等級(jí)

printf("很棒\n");break;

case'B'://如果是B等級(jí)

case'C'://如果是C等級(jí)

printf("做得好\n");break;

case'D'://如果是D等級(jí)

printf("您通過(guò)了\n");break;

case'E'://如果是E等級(jí)

printf("最好再試一下\n");break;

default://以上等級(jí)都不是

printf("無(wú)效的成績(jī)\n"); }

printf("您的成績(jī)是:%c\n",grade);

return0;}三技能點(diǎn)詳解——案例案例2.3.6嵌套switch語(yǔ)句的應(yīng)用在這個(gè)案例中,我們先定義兩個(gè)整型變量,并對(duì)它們各自賦值,然后先用一個(gè)switch...case語(yǔ)句去判斷a的值,在此case分支內(nèi)再去嵌套一個(gè)switch...case去判斷b的值,最后再輸出這兩個(gè)變量的值加以驗(yàn)證。三技能點(diǎn)詳解——案例/***************************************************內(nèi)容簡(jiǎn)述:根據(jù)某學(xué)生考試所得成績(jī)?nèi)ポ敵鱿鄳?yīng)的結(jié)果提示

***************************************************/#include

<stdio.h>

intmain(void){

inta=100;//定義變量值

intb=200;

switch(a)//根據(jù)a的值進(jìn)行選擇{

case100:

printf("a的值是100。\n");

switch(b)//根據(jù)b的值進(jìn)行選擇 {

case200:

printf("a的值是100,且b的值是200。\n");break;

default:printf("沒(méi)有找到符合b的值。\n");}

break;

default:printf("沒(méi)有找到符合a的值。\n");}

printf("a的準(zhǔn)確值是%d\n",a);

printf("b的準(zhǔn)確值是%d\n",b);

return0;}三技能點(diǎn)詳解——案例04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.3選擇結(jié)構(gòu)的使用四技能點(diǎn)拓展——1?:運(yùn)算符(三元運(yùn)算符)我們已經(jīng)在前面的章節(jié)中講解了條件運(yùn)算符?:,可以用來(lái)替代if...else語(yǔ)句。它的一般形式如下:Exp1?Exp2:Exp3;其中,Exp1、Exp2和Exp3是表達(dá)式。請(qǐng)注意,冒號(hào)的使用和位置。?表達(dá)式的值是由Exp1決定的。如果Exp1為“真”,則計(jì)算Exp2的值,結(jié)果即為整個(gè)?表達(dá)式的值。如果Exp1為“假”,則計(jì)算Exp3的值,結(jié)果即為整個(gè)?表達(dá)式的值。其執(zhí)行示意圖如圖2.3.13所示:圖2.3.13三元運(yùn)算符執(zhí)行示意圖四技能點(diǎn)拓展——1?:運(yùn)算符(三元運(yùn)算符)以下實(shí)例通過(guò)輸入一個(gè)數(shù)字來(lái)判斷它是否為奇數(shù)或偶數(shù)四技能點(diǎn)拓展——1?:運(yùn)算符(三元運(yùn)算符)輸出結(jié)果為:四技能點(diǎn)拓展——2If語(yǔ)句和switch語(yǔ)句的區(qū)別if語(yǔ)句和switch語(yǔ)句可以從使用的效率上來(lái)進(jìn)行區(qū)別,也可以從實(shí)用性角度區(qū)分。如果從使用效率上區(qū)分:在對(duì)同一個(gè)變量在不同值做條件判斷時(shí),可以使用switch語(yǔ)句,也可以使用if語(yǔ)句,使用switch語(yǔ)句的效率更高一些尤其是判斷的分支越多越明顯。如果從語(yǔ)句的實(shí)用性的角度去區(qū)分,那switch語(yǔ)句肯定不如if條件語(yǔ)句。if條件語(yǔ)句是應(yīng)用最廣泛和最實(shí)用的語(yǔ)句。在程序開發(fā)的過(guò)程中,具體如何使用if和switch語(yǔ)句哦,需要根據(jù)實(shí)際的情況來(lái)定,應(yīng)盡量做到物盡其用,不要因?yàn)閟witch語(yǔ)句的效率高就一味的使用,也不要因?yàn)閕f語(yǔ)句常用就不應(yīng)用switch語(yǔ)句,根據(jù)實(shí)際情況,具體問(wèn)題具體分析,使用最適合的條件語(yǔ)句。一般情況下,對(duì)于判斷條件較少的,可以使用if條件語(yǔ)句,但是在實(shí)現(xiàn)一些多條件的判斷中,就應(yīng)該使用switch語(yǔ)句。04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.3選擇結(jié)構(gòu)的使用五技能點(diǎn)檢測(cè)1)以下if語(yǔ)句書寫正確的是(

)。A)if(x=0;)B)if(x>0)

printf(“%f”,x);{x=x+1;printf(“%f”,x);}elseprintf(“%f”,-x);elseprintf(“%f”,-x);C)if(x>0);D)if(x>0)

{x=x+1;printf(“%f”,x);}{x=x+1;printf(“%f”,x)}elseprintf(“%f”,-x);elseprintf(“%f”,-x);五技能點(diǎn)檢測(cè)2)分析以下程序:main(){intx=5,a=0,b=0;if(x=a+b)printf(“****\n”);elseprintf(“####\n”);以上程序(

)。A)有語(yǔ)法錯(cuò),不能通過(guò)編譯B)通過(guò)編譯,但不能連接C)輸出****D)輸出####五技能點(diǎn)檢測(cè)3)兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是(

)。main(){intx;

scanf(“%d”,&x);if(x++>5)printf(“%d”,x);elseprintf(“%d\n”,x--);

}A)7和5B)6和3C)7和4D)6和4五技能點(diǎn)檢測(cè)4)寫出下面程序的執(zhí)行結(jié)果(

)。main(){intx,y=1;if(y!=0)x=5;printf(“%d\t”,x);if(y==0)x=3;elsex=5;printf(“%d\t\n”,x);}A)13B)15C)53D)55課后作業(yè)完成課堂任務(wù),在線提交;完成技能檢測(cè),在線提交;高級(jí)語(yǔ)言程序設(shè)計(jì)模塊二程序設(shè)計(jì)基礎(chǔ)任務(wù)2.4循環(huán)結(jié)構(gòu)的使用C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)2.4循環(huán)結(jié)構(gòu)的使用01問(wèn)題引入05技能點(diǎn)檢測(cè)一問(wèn)題引入早在公元三世紀(jì),魏晉時(shí)期的數(shù)學(xué)家劉徽利用割圓術(shù),用圓內(nèi)接六邊形起算,令邊數(shù)加倍,以圓內(nèi)接正3*2n邊形的面積為圓面積的近似值,從而進(jìn)一步可以算出圓周率。南北朝時(shí)期杰出的數(shù)學(xué)家祖沖之,更是將圓周率精確到小數(shù)第7位。無(wú)論是劉徽還是祖沖之,他們都付出了常人難以想象的心血重復(fù)進(jìn)行了大量的運(yùn)算??萍及l(fā)達(dá)的今天,我們可以運(yùn)用計(jì)算機(jī)里的循環(huán)結(jié)構(gòu)來(lái)幫助我們進(jìn)行這些重復(fù)的操作,那么如何編寫循環(huán)結(jié)構(gòu)的程序呢?04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.4循環(huán)結(jié)構(gòu)的使用二技能點(diǎn)分析1.了解循環(huán)的概念和意義2.掌握while循環(huán)和do…while循環(huán)的語(yǔ)法和應(yīng)用3.掌握f(shuō)or循環(huán)的語(yǔ)法和應(yīng)用4.掌握循環(huán)嵌套的方法5.能夠使用循環(huán)結(jié)構(gòu)解決實(shí)際問(wèn)題學(xué)習(xí)目標(biāo)1.什么是循環(huán)結(jié)構(gòu)?實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句有哪些?2.while循環(huán)和do...while循環(huán)的區(qū)別是什么?3.for循環(huán)的使用變體形式有哪些?4.什么情況下需要使用嵌套循環(huán)?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問(wèn)題引入05技能點(diǎn)檢測(cè)任務(wù)2.4循環(huán)結(jié)構(gòu)的使用三技能點(diǎn)詳解在一定的條件下,去重復(fù)執(zhí)行一組語(yǔ)句,這樣的語(yǔ)句結(jié)構(gòu)稱為“循環(huán)結(jié)構(gòu)”,被重復(fù)執(zhí)行的那組語(yǔ)句被稱為“循環(huán)體”。循環(huán)結(jié)構(gòu)在程序設(shè)計(jì)中的應(yīng)用是極為廣泛的,下面是大多數(shù)編程語(yǔ)言中循環(huán)語(yǔ)句的流程圖:圖2.4.1循環(huán)語(yǔ)句流程圖三技能點(diǎn)詳解C語(yǔ)言提供了以下幾種循環(huán)類型,如表2.4.1所示:表2.4.1循環(huán)語(yǔ)句描述對(duì)照表三技能點(diǎn)詳解——1while循環(huán)只要給定的條件為真,C語(yǔ)言中的while循環(huán)語(yǔ)句就會(huì)重復(fù)執(zhí)行一組目標(biāo)語(yǔ)句。C語(yǔ)言中while循環(huán)的語(yǔ)法:在這里,循環(huán)體語(yǔ)句可以是一個(gè)單獨(dú)的語(yǔ)句,也可以是幾個(gè)語(yǔ)句組成的代碼塊。條件可以是任意的表達(dá)式,當(dāng)為任意非零值時(shí)都為true。當(dāng)條件為true時(shí)執(zhí)行循環(huán)體。當(dāng)條件為false時(shí),退出循環(huán),程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語(yǔ)句。三技能點(diǎn)詳解——1while循環(huán)

While循環(huán)語(yǔ)句流程圖如圖2.4.2所示:圖2.4.2while循環(huán)語(yǔ)句流程圖在這里,while循環(huán)的關(guān)鍵點(diǎn)是循環(huán)可能一次都不會(huì)執(zhí)行。當(dāng)條件為false時(shí),會(huì)跳過(guò)循環(huán)主體,直接執(zhí)行緊接著while循環(huán)的下一條語(yǔ)句。三技能點(diǎn)詳解——2do...while循環(huán)不像for和while循環(huán),它們是在循環(huán)頭部測(cè)試循環(huán)條件。在C語(yǔ)言中,do...while循環(huán)是在循環(huán)的尾部檢查它的條件。do...while循環(huán)與while循環(huán)類似,但是do...while循環(huán)會(huì)確保至少執(zhí)行一次循環(huán)。C語(yǔ)言中do...while循環(huán)的語(yǔ)法:請(qǐng)注意,條件表達(dá)式出現(xiàn)在循環(huán)的尾部,所以循環(huán)中的循環(huán)體語(yǔ)句會(huì)在條件被測(cè)試之前至少執(zhí)行一次。如果條件為真,控制流會(huì)跳轉(zhuǎn)回上面的do,然后重新執(zhí)行循環(huán)體語(yǔ)句。這個(gè)過(guò)程會(huì)不斷重復(fù),直到給定條件變?yōu)榧贋橹?。三技能點(diǎn)詳解——2do...while循環(huán)do...while循環(huán)語(yǔ)句流程圖如圖2.4.3所示:圖2.4.3do...while循環(huán)語(yǔ)句流程圖三技能點(diǎn)詳解——3for循環(huán)for循環(huán)允許您編寫一個(gè)執(zhí)行指定次數(shù)的循環(huán)控制結(jié)構(gòu)。C語(yǔ)言中for循環(huán)的語(yǔ)法:下面是for循環(huán)的控制流:表達(dá)式1通常是為循環(huán)變量指定初值,會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語(yǔ)句,只要有一個(gè)分號(hào)出現(xiàn)即可。接下來(lái),會(huì)判斷表達(dá)式2,如果為真,則執(zhí)行循環(huán)主體。如果為假,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著for循環(huán)的下一條語(yǔ)句。三技能點(diǎn)詳解——3for循環(huán)在執(zhí)行完for循環(huán)主體后,控制流會(huì)跳回上面的表達(dá)式3去執(zhí)行。該語(yǔ)句允許您更新循環(huán)控制變量。該語(yǔ)句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。條件再次被判斷。如果為真,則執(zhí)行循環(huán),這個(gè)過(guò)程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)榧贂r(shí),for循環(huán)終止。for循環(huán)語(yǔ)句流程圖如圖2.4.4所示:圖2.4.4for循環(huán)語(yǔ)句流程圖三技能點(diǎn)詳解——4嵌套循環(huán)C語(yǔ)言允許在一個(gè)循環(huán)內(nèi)使用另一個(gè)循環(huán),下面從語(yǔ)法和流程圖的角度給大家闡述這個(gè)概念。C語(yǔ)言中嵌套for循環(huán)語(yǔ)句的語(yǔ)法:嵌套for循環(huán)流程圖如圖2.4.5所示:圖2.4.5嵌套for循環(huán)流程圖三技能點(diǎn)詳解——4嵌套循環(huán)C語(yǔ)言中嵌套while循環(huán)語(yǔ)句的語(yǔ)法:嵌套While循環(huán)流程圖如圖2.4.6所示:圖2.4.6嵌套while循環(huán)流程圖三技能點(diǎn)詳解——4嵌套循環(huán)C語(yǔ)言中嵌套do...while循環(huán)語(yǔ)句的語(yǔ)法:嵌套do...while循環(huán)流程圖如圖2.4.7所示:關(guān)于嵌套循環(huán)有一點(diǎn)值得注意,您可以在任何類型的循環(huán)內(nèi)嵌套其他任何類型的循環(huán)。比如,一個(gè)for循環(huán)可以嵌套在一個(gè)while循環(huán)內(nèi),反之亦然。圖2.4.7嵌套do...while循環(huán)流程圖三技能點(diǎn)詳解——5無(wú)限循環(huán)如果條件永遠(yuǎn)不為假,則循環(huán)將變成無(wú)限循環(huán)。for循環(huán)在傳統(tǒng)意義上可用于實(shí)現(xiàn)無(wú)限循環(huán)。由于構(gòu)成循環(huán)的三個(gè)表達(dá)式中任何一個(gè)都不是必需的,您可以將某些條件表達(dá)式留空來(lái)構(gòu)成一個(gè)無(wú)限循環(huán)。案例2.4.1while循環(huán)在這個(gè)案例中,我們先定義一個(gè)整型變量,并對(duì)其賦值10,然后通過(guò)while循環(huán)將其值增加到20。/**********************************************內(nèi)容簡(jiǎn)述:通過(guò)while循環(huán)將變量的值由10增到20。**********************************************/#include

<stdio.h>

intmain(void){

inta=10;

while(a<=20) {

printf("a的值:%d\n",a); a++; }

printf("a的值:%d\n",a);

return0;}三技能點(diǎn)詳解——案例案例2.4.2do...while循環(huán)在這個(gè)案例中,我們先定義一個(gè)整型變量,并對(duì)其賦值10,然后通過(guò)do...while循環(huán)將其值增加到20。/***********************************************內(nèi)容簡(jiǎn)述:通過(guò)do...while循環(huán)將變量的值由10增到20。***********************************************/#include

<stdio.h>

intmain(void){

inta=10;

do {

printf("a的值:%d\n",a); a++; }while(a<=20);printf("a的值:%d\n",a);

return0;}三技能點(diǎn)詳解——案例案例2.4.3for循環(huán)我們先定義一個(gè)整型變量,并對(duì)其賦值10,然后通過(guò)for循環(huán)將其值增加到20。/***********************************************內(nèi)容簡(jiǎn)述:通過(guò)for循環(huán)將變量的值由10增到20。***********************************************/#include

<stdio.h>

intmain(void){

inta;

for(a=10;a<=20;a++) {

printf("a的值:%d\n",a); }

return0;}三技能點(diǎn)詳解——案例案例2.4.4嵌套for循環(huán)利用嵌套for循環(huán)輸出2-50內(nèi)的所有質(zhì)數(shù)。/***********************************************內(nèi)容簡(jiǎn)述:利用嵌套for循環(huán)輸出2-50內(nèi)的所有質(zhì)數(shù)。***********************************************/#include

<stdio.h>

intmain(void){

int

i,j

for(i=2;i<50;i++) {

for(j=2;j<=i-1;j++)//用2到i-1作為除數(shù)去驗(yàn)證 {

if(!(i%j))//如果i能被j整除,則不是質(zhì)數(shù),余下的循環(huán)就無(wú)需進(jìn)行

break;}

if(j>i-1)//在整個(gè)循環(huán)過(guò)程中i都沒(méi)有被任何一個(gè)除數(shù)j整除,故是質(zhì)數(shù)

printf("%d是質(zhì)數(shù)\n",i); }

return0;}三技能點(diǎn)詳解——案例案例2.4.5嵌套while循環(huán)36塊磚,36人搬,男搬4,女搬3,兩個(gè)小孩抬一磚。要求一次全搬完,問(wèn)男、女、小孩各若干?三技能點(diǎn)詳解——案例/**************************內(nèi)容簡(jiǎn)述:搬磚問(wèn)題。**************************/#include

<stdio.h>intmain(void){

intmen=1,women,children;

while(men<=8)//男人的取值范圍在1到8之間 { women=1;

while(women<=11)//女人的取值范圍在1到11之間 { children=36-men-women;

if(4.0*men+3.0*women+children/2.0==36.0)//利用36塊磚36人

一次全搬完列等式

printf("男人有%d個(gè),女人有%d個(gè),小孩有\(zhòng)%d個(gè)。\n",men,women,children); women++; } men++; }

return0;}三技能點(diǎn)詳解——案例案例2.4.6

嵌套do...while循環(huán)打印一個(gè)由*組成的5行的直角三角形。/***

溫馨提示

  • 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)論