歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

《程序控制語句》PPT課件.ppt

  • 資源ID:14176363       資源大?。?span id="7xogpas" class="font-tahoma">381KB        全文頁數(shù):48頁
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

《程序控制語句》PPT課件.ppt

第三章 程序控制語句,目錄,3.1 c語句概述 3.2 格式輸入輸出 3.3 字符數(shù)據(jù)的輸入輸出 3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例 3.5 選擇結(jié)構(gòu)程序設(shè)計(jì) 3.6 循環(huán)控制結(jié)構(gòu)程序設(shè)計(jì),3.1 C語句概述,1. 控制語句( 9種) : 完成一定的控制功能 if ( ) else 條件語句( 雙分支選擇語句) switch 多分支選擇語句 for ( ) while ( ) 循環(huán)語句 do while ( ) continue 結(jié)束本次循環(huán)語句 break 中止語句 goto 轉(zhuǎn)向語句 return 從函數(shù)返回語句,2. 函數(shù)調(diào)用語句 : 由一個(gè)函數(shù)調(diào)用加一個(gè)分號構(gòu)成 如: printf(“very good!”);,3. 表達(dá)式語句 : 由表達(dá)式加分號構(gòu)成 如: x=12 ; ( 賦值表達(dá)式語句 ),3. 空語句 : 由一個(gè)分號構(gòu)成 , 它什么也不做 ;,復(fù)合語句 : 用 括起來的語句序列 如 int temp ; temp = x ; x = y ; y = temp ; ,注意 : 1. 復(fù)合語句是一個(gè)整體, 相當(dāng)于一條語句 2. 一個(gè)復(fù)合語句中可以包含其他的復(fù)合語句 3. 在復(fù)合語句的花括號后不要再加分號 3. 復(fù)合語句中可定義變量 , 但此變量只在 該復(fù)合語句內(nèi)有效,3.2 格式輸入輸出函數(shù),一、 printf函數(shù) 格式: printf ( 格式控制, 輸出表列 ) ; 如: printf(“a=%dn” , a) ;,1. 格式控制: 用“ ” 括起來的字符串 , 包括如下兩個(gè)部分 (1) 普通字符( 包括轉(zhuǎn)義字符) : 需要原樣輸出的字符 (2) 格式說明: 由%和格式字符組成 其作用是將輸出數(shù)據(jù)按指定的格式輸出,C語言沒有提供專門的輸入/輸出語句,其輸入輸出操作是 由函數(shù)實(shí)現(xiàn)的。C語言提供的函數(shù)以庫的形式存在,這些庫 函數(shù)定義在頭文件stdio.h中。因此在程序中如果用到輸入輸 出函數(shù),需在程序的頭部包含該頭文件。,#include #include “stdio.h”,% 格式字符 l m.n 0 - 格式字符 : 指定輸出項(xiàng)的數(shù)據(jù)類型和輸出格式 c d f s 長度修正符 : l 對長整型和double型 域?qū)捈熬让枋龇?m.n ( m控制域?qū)? n 控制小數(shù)位數(shù) ) 數(shù)0用以在指定數(shù)字前的空位是否用0填補(bǔ)(對整型,實(shí)型可用) 負(fù)號用以指定輸出項(xiàng)是否為左對齊方式,2. 輸出列表 : 輸出項(xiàng)可以是常量, 變量, 表達(dá)式,例: int x=8, y=-2;float a=3.14; printf(“%dn”, 25); printf(“%03dn”, x); printf(“%3.6fn”, a); printf(“%2.3sn”, “C Language”); printf(“x*y=%dn”, x*y); printf(“|y|=%dn”, fabs(y) );,25 008 3.140000 C L x*y=-16 |y|=2,二、 scanf函數(shù) 格式: scanf ( 格式控制 , 變量地址表列 ) ; 1. 地址參數(shù) : 變量的地址可通過地址運(yùn)算符“ b=O; putchar(a); putchar(b); putchar(Y); ,輸出: BOY,注意: putchar函數(shù)只有一個(gè)參數(shù),二、 字符輸入函數(shù)( getchar函數(shù)) 格式 : getchar( ) ( 注意它是無參函數(shù) ) 功能 : 從鍵盤輸入一個(gè)字符,例:#include void main( ) char ch; ch=getchar( ); getchar( ); putchar(ch); putchar(n); putchar(getchar( ) ; ,假設(shè)輸入: ABCD,輸出: A C,注意:一般連續(xù)輸入可顯示字符, 若中間有空格,回車等字符, 在輸出時(shí)是不可見的,若輸入: A BC,若輸入: AB,輸出: A B,輸出: A,3.4 順序結(jié)構(gòu)程序設(shè)計(jì)舉例,#include void main( ) float a,b,c,s,area; scanf(“%f%f%f”, ,3.5 選擇結(jié)構(gòu)程序設(shè)計(jì),1.關(guān)系運(yùn)算符和關(guān)系表達(dá)式 2.邏輯運(yùn)算符和邏輯表達(dá)式 3.if語句 3.switch語句 5.程序舉例,1.關(guān)系運(yùn)算符和關(guān)系表達(dá)式,注意 : (1) 字符數(shù)據(jù)按其ASCII碼值進(jìn)行比較 (2) 應(yīng)避免2個(gè)實(shí)數(shù)作 = = 或 != 的比較,一、關(guān)系運(yùn)算符 = < <= = != 1. 優(yōu)先級 : 低于純算術(shù)類, 高于賦值類 2. 結(jié)合性 : 左結(jié)合性,二、關(guān)系表達(dá)式: 用關(guān)系運(yùn)算符連接起來的式子 關(guān)系表達(dá)式的值 : 只有2個(gè), 真以 1 表示 , 假以 0 表示,注意: (3) 表達(dá)式 5278 是允許的 , 它相當(dāng)于 (52)7)8 (4) 可以將關(guān)系表達(dá)式看成是一種整型表達(dá)式,2.邏輯運(yùn)算符和邏輯表達(dá)式,一、 邏輯運(yùn)算符 ! 進(jìn)行判斷時(shí), 非零值代表“真”, 零值代表“假”,例: 表示 x -1,1區(qū)間 應(yīng)寫為: x=-1 x = y = z = 0 ; +x | +y ,(+x) | ( (+y) scanf(“%d%d%d”, ,#include #include void main( ) int x, y; scanf(“%d”, ,#include #include void main( ) int x, y; scanf(“%d”, ,Y=,二、 if 語句的嵌套 : 在if 語句中又包括一個(gè)或多個(gè)if 語句,規(guī)定: 在if 嵌套結(jié)構(gòu)中, else是與其前面最近的尚未配對的if 配對,1. if (表達(dá)式1) if (表達(dá)式2) 語句,4. if (表達(dá)式1) if (表達(dá)式2) 語句1 else 語句2,2. if (表達(dá)式1) 語句1 else if (表達(dá)式2) 語句2,3. if (表達(dá)式件1) 語句1 else if (表達(dá)式2) 語句2 else 語句3,對第4種形式可以有兩種理解方式: (1) if (表達(dá)式1) if (表達(dá)式2) 語句1 else 語句2 ,(2) if (表達(dá)式1) if (表達(dá)式2) 語句1 else 語句2,方法1 if (x<0) y=-1; else if (x=0) y=0; else y=1;,方法2 if (x=0) if (x0) y=1; else y=0; else y=-1;,方法3 y=-1; if(x!=0) if(x0) y=1; else y=0;,修改方法3 y=-1; if(x!=0) if(x0) y=1; else y=0;,三、 條件運(yùn)算,例 max=ab? a : b+1 ab? a : cd? c : d,注意: (1) 表達(dá)式1, 表達(dá)式2和表達(dá)式3 的數(shù)據(jù)類型可以互不相同 (2) 條件表達(dá)式的值的數(shù)據(jù)類型與表達(dá)式2, 表達(dá)式 3中數(shù) 據(jù)類型較高的那個(gè)保持一致 如 75? 10 : 1.4 條件表達(dá)式的值為10.0,ab? a : (cd? c : d ),1. 條件運(yùn)算符 ? : 優(yōu)先級僅高于賦值類, 是右結(jié)合性,執(zhí)行過程: 先計(jì)算表達(dá)式1 , 若其值為非零值(真), 則計(jì)算表達(dá)式2 的值, 該條件表達(dá)式的值即為表達(dá)式2 的值; 若表達(dá)式1的值為零(假), 則計(jì)算表達(dá)式3 的值, 該條件表達(dá)式的值即為表達(dá)式3 的值,2. 條件表達(dá)式的一般形式 : 表達(dá)式1? 表達(dá)式2 : 表達(dá)式3,max=(ab? a : b+1),用條件表達(dá)式實(shí)現(xiàn) #include void main( ) int max; max=xy? x : y ; max=zmax? z : max; printf(“max=%d”,max); ,當(dāng)if中的語句為簡單賦值語句時(shí),我們可以用條件表達(dá)式 來取代if 語句,例 求3個(gè)數(shù)中的最大數(shù) #include void main( ) int max; if (xy) max=x; else max=y; if (zmax) max=z; printf(“max=%d”,max); ,3.switch語句,一、switch語句的格式 switch ( 表達(dá)式 ) case 常量表達(dá)式1 : 語句1 case 常量表達(dá)式2 : 語句2 : : : case 常量表達(dá)式n : 語句n default : 語句n+1 ,注意: 1. 表達(dá)式一般多為整型或字符型表達(dá)式 2. case后常量表達(dá)式的值必須互不相同 3. case和default的出現(xiàn)次序不影響結(jié)果 3. 語句1至語句n+1為復(fù)合語句時(shí)可省略 多個(gè)case可以共用一組執(zhí)行語句 Switch語句可以嵌套,switch語句的執(zhí)行過程 : 計(jì)算switch后表達(dá)式的值 如果表達(dá)式的值與某個(gè)case常量表達(dá)式的值相等時(shí), 就執(zhí)行此case后的語句, 執(zhí)行完后將繼續(xù)執(zhí)行下一個(gè)case后的語句, 如果表達(dá)式的值與所有case常量表達(dá)式的值都不同, 就執(zhí)行default后的語句,例 void main ( ) int x, y ; printf(“input a number:n”); scanf(“%d” , ,如果輸入x為 2 則輸出: 20 30 0,如果輸入x為 6 則輸出: 0,注意 : 在執(zhí)行一個(gè)case 分支后, 應(yīng)用break語句結(jié)束switch語句,void main ( ) int x, y ; printf(“input a number:n”); scanf(“%d” , ,如果輸入x為 2 則輸出: 20,3.6 循環(huán)控制,1.概述 2. while語句 3. do-while語句 3. for語句 5. 循環(huán)的嵌套 6. break語句和continue語句,1.概述,在實(shí)際問題中, 我們常常遇到需要重復(fù)處理的工作 例如: 求1100的和 , 或求一個(gè)班英語成績的平均分,一般來說循環(huán)控制方法分兩種: (1) 條件循環(huán) ( while循環(huán) 和 do while 循環(huán) ) 條件滿足時(shí)執(zhí)行循環(huán), 條件不滿足時(shí)結(jié)束循環(huán),(2) 計(jì)數(shù)循環(huán) ( for 循環(huán) ) 先確定循環(huán)次數(shù), 然后執(zhí)行循環(huán), 完成循環(huán)次數(shù)后結(jié)束,注: C語言中的for循環(huán)非常靈活, 功能強(qiáng)大, 也可以實(shí)現(xiàn) 循環(huán)次數(shù)不確定的情況, 完全可以代替while循環(huán),2.while語句,2. 執(zhí)行過程 : 先計(jì)算表達(dá)式的值, 值為真(非零)時(shí)執(zhí)行循環(huán)體, 值為假時(shí)結(jié)束循環(huán),1. 格式 : while (表達(dá)式) 循環(huán)體語句,3. 注意 : (1) 表達(dá)式必須用( ) 括起來 (2) 循環(huán)體語句為復(fù)合語句時(shí), 必須用 把它們括起來 (3) 循環(huán)體語句中必須有使循環(huán)趨向結(jié)束的語句,例: 求1100 的和,#include void main ( ) int i , sum; sum=0; i=1; while (i<=100) sum=sum+i; i+; printf(“sum=%dn”, sum); ,分析: 輸入, 輸出分別是什么? 需要幾個(gè)變量? 程序大體可分為幾個(gè)步驟?,例: 求1n 的和, n為任意正整數(shù),#include void main ( ) int i , sum , n ; sum=0; i=1; printf(“Input value n:n”); scanf(“%d”, ,例: 求某個(gè)班英語成績的平均分, 該班學(xué)生人數(shù)和每個(gè) 學(xué)生的成績由鍵盤輸入,#include void main ( ) int i , n ; float s , sum , ave ; sum=0; i=1; printf(“Input the student number: ”); scanf(“%d”, ,例: 編程求 的近似值, 公式 /4 1-1/3+1/5-1/7+1/9-,分析: 題目仍可以看成是累加求和 不同的是, 相加的每一項(xiàng)正負(fù)相間, 公式是無窮的, 所以我們規(guī)定當(dāng) 相加項(xiàng)的絕對值小于0.000001 (即106 )時(shí)停止計(jì)算,#include #include void main( ) int s; float n , t , pi ; s=1 ; n=1; t=1; pi=0; while ( fabs(t)1e-6 ) pi=pi+t ; n=n+2; s=-s; t=s/n; pi=4*pi ; printf(“ pi=%10.6fn”, pi ); ,1,1,-1,3,-1/3,1,0,1,0.67,1/5,5,1,3.do-while語句,1. 格式 : do 循環(huán)體語句 while (表達(dá)式) ;,2. 執(zhí)行過程 : 先執(zhí)行循環(huán)體, 然后計(jì)算表達(dá)式的值, 若值為真則重復(fù)執(zhí)行循環(huán)體, 若值為假則結(jié)束循環(huán),3. 注意 : (1) 表達(dá)式必須用( ) 括起來 (2) 循環(huán)體語句為多條語句時(shí), 必須用 把它們括起來 (3) 循環(huán)體語句中必須有使循環(huán)趨向結(jié)束的語句,例: 求1100 的和,#include void main ( ) int i , sum; sum=0; i=1; do sum=sum+i; i+; while (i<=100) ; printf(“sum=%dn”, sum); ,3. while循環(huán)和do-while循環(huán)的比較,while do-while (1)先判斷條件再執(zhí)行循環(huán)體 先執(zhí)行循環(huán)體再判斷條件 (2)循環(huán)體可能一次也不執(zhí)行 至少執(zhí)行一次循環(huán)體,#include void mian( ) int sum=0 , i ; scanf(“%d”, ,#include void mian( ) int sum=0 , i ; scanf(“%d”, ,3.for語句,1. 格式 : for (表達(dá)式1 ; 表達(dá)式2 ; 表達(dá)式3) 循環(huán)體語句,2. 執(zhí)行過程: (1) 計(jì)算表達(dá)式1 (2) 計(jì)算表達(dá)式2, 若值為真則執(zhí)行循環(huán)體, 再執(zhí)行第(3)步; 若值為假則結(jié)束循環(huán) (3) 計(jì)算表達(dá)式3, 再重復(fù)執(zhí)行第(2)步,sum=0; i=1; while ( i<=100 ) sum=sum+i ; i+ ; ,sum=0; for( i=1 ; i<=100 ; i+) sum=sum+i ;,例 : 將1100求和的while循環(huán)轉(zhuǎn)換為用for循環(huán)實(shí)現(xiàn),3. 說明 (1) 可以省略表達(dá)式1 sum = 0 ; for ( i=1 ; i<=100 ; i+ ) sum = sum+i ;,i=1;,(2) 可以省略表達(dá)式3 sum = 0 ; for ( i=1 ; i<=100 ; i+ ) sum = sum+i ;,i+ ;,(3) 同時(shí)省略表達(dá)式1和表達(dá)式3 sum = 0 ; i=1 ; for ( ; i<=100 ; ) sum = sum+i ; i+ ; ,(4) 表達(dá)式1 , 表達(dá)式3還可以是逗號表達(dá)式 for ( sum = 0 , i = 1 ; i<=100 ; sum = sum+i , i+ ) ;,(5) 表達(dá)式1 , 表達(dá)式3 可以是與循環(huán)控制無關(guān)的其他表達(dá)式 i=1 ; for( sum=0 ; i<=100 ; sum=sum+i ) i+ ;,空語句,(6) 表達(dá)式2一般不會省略, 若省略表達(dá)式2循環(huán)將不能停止,sum = 0 ; for ( i=1 ; ; i+ ) sum = sum+i ;,sum = 0 ; i=1; for ( ; ; ) sum = sum+i ; i+ ; ,i=1; while(1) sum=sum+i ; i+; ,例: 求某個(gè)班英語成績的平均分,#include void main ( ) int i , n ; float s , sum , ave ; sum=0; i=1; scanf(“%d”, ,#include void main ( ) int i , n ; float s , sum , ave ; sum=0; scanf(“%d”, ,例: 求Fibonacci數(shù)列的前20 個(gè)數(shù) Fibonacci數(shù)列: 1 , 1 , 2 , 3 , 5 , 8 , 13 ,#include void main( ) int i , f1 , f2 , f3; f1=1; f2=1; printf(“%8d%8d”, f1 , f2); for ( i=3 ; i<=20 ; i+ ) f3=f1+f2; f1=f2; f2=f3; printf(“%8d”, f3); if ( i%4=0) putchar(n); ,分析數(shù)列的規(guī)律: 從第3個(gè)數(shù)開始, 每個(gè)數(shù)是 其前兩個(gè)數(shù)之和,f3,1,1,2,2,3,1,2,3,5,+,5.循環(huán)的嵌套,1. 循環(huán)的嵌套: 一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán)結(jié)構(gòu),2. 按循環(huán)嵌套的層數(shù)分別稱為二重循環(huán), 三重循環(huán),3. C語言中while, dowhile, for循環(huán)可以互相嵌套,#include void main( ) printf(“*n”); printf(“*n”); printf(“*n”); printf(“*n”); ,#include void main( ) int i=1; while(i<=4) printf(“*n”); i+; ,#include void main( ) int i , j ; i=1; while (i<=4) j=1; while( j<=3 ) putchar(*); j+; putchar(n); i+; ,#include void main( ) int i , j ; i=1; while (i<=4) for (j=1; j<=3;j+) putchar(*); putchar(n); i+; ,注意: 內(nèi)外層循環(huán)的控制變量不能重名, 但并列循環(huán)的控制變量無此限制,#include void main( ) int i , j ; for( i=1; i<=4; i+) for (j=1; j<=3; j+) putchar(*); putchar(n); ,特點(diǎn): 第n行有n個(gè)星號,#include void main( ) int i , j ; for( i=1; i<=4; i+) for (j=1; j<=i; j+) putchar(*); putchar(n); ,例: 輸出如圖所示的菱形,* * * * * * *,分析: 將圖形分為上下 兩個(gè)部分分別輸出 上半部分(前4行) 每行的星號個(gè)數(shù)是1,3,5,7, 每行的空格個(gè)數(shù)是3,2,1,0,#include void main( ) int i, j, k ; for ( i=1; i=1 ; i-) for ( j=1; j<=4-i ; j+) putchar( ); for ( k=1; k<=2*i-1 ; k+) putchar(*); putchar(n); ,6.break語句和continue語句,1. break語句 : 中止循環(huán)或switch結(jié)構(gòu) 2. continue語句 : 結(jié)束本次循環(huán), 然后再根據(jù)是否滿足 條件來決定是否執(zhí)行下次循環(huán),for(r =1 ;r 100 ,for(r =1 ;r 100 ,

注意事項(xiàng)

本文(《程序控制語句》PPT課件.ppt)為本站會員(sh****n)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!