c语言 程序循环,C语言程序设计-循环例子
《C語言程序設計-循環例子》由會員分享,可在線閱讀,更多相關《C語言程序設計-循環例子(28頁珍藏版)》請在人人文庫網上搜索。
1、C 語言程序設計基礎篇,第 7 章 簡單程序設計之二,2020年8月15日,本章內容提要,多分支選擇結構switch語句 循環嵌套 break語句和continue語句 程序舉例,2020年8月15日,教學目標,在三種基本結構的基礎上,結合本章介紹流程控制的其他幾個語句:switch語句、break語句和continue語句及循環的嵌套,實現復雜的算法,設計出結構清晰、功能強大的程序,對C語言程序開發設計有比較深刻的認識。,2020年8月15日,7.1 多分支選擇結構程序設計,1、語句形式:,switch (表達式) case 常量1: 語句1; case 常量2: 語句2; case 常量3。
2、: 語句3; . case 常量n: 語句n; default : 語句n+1; ,根據表達式的不同值,選擇不同的程序分支,又稱開關語句。,數值型 或 字符型,常量表達式的值必須互不相同,否則執行時將出現矛盾,即同一個開關值,將對應多種執行方案。,2020年8月15日,2、語句執行流程:,指語句的最后一條是否為break,簡單語句或復合語句,case語句出 現的次序并 不影響執行 結果。,2020年8月15日,void main() int n; printf(請輸入成績:); scanf(%d, ,【例7.1】編寫程序,對學生成績進行等級評定。將成績分為幾個等級:059分為不及格,6069分。
3、為及格,7079分為中等,8089分為良好,90100分為優秀。要求輸入一個成績,輸出其對應的等級。,請輸入成績:78 成績78的等級為中等 成績78的等級為及格 成績78的等級為不及格,出錯啦!?,2020年8月15日,在“switch”語句中,“case 常量表達式”只相當于一個語句標號,表達式的值和某標號相等則轉向該標號執行,但不能在執行完該標號的語句后自動跳出整個switch 語句,因此會繼續執行所有后面語句的情況。 為此,語言提供了一種break語句,其功能是可以跳出它所在的switch語句。,2020年8月15日,將上面的例7.1修改如下:,void main() int n; p。
4、rintf(請輸入成績:); scanf(%d, ,請輸入成績:78 成績78的等級為中等,2020年8月15日,使用switch語句時還應注意以下幾點,switch后面圓括號內表達式的值和case語句中常量表達式的值,都必須是整型的、枚舉型的或字符型的,不允許是浮點型的。在case后的各常量表達式的值不能相同。 每個case子句既可以是一條語句,也可以是多條語句。當是多條語句時,不需要用花括號括起來。 各個case子句和default子句的先后順序可以變動,而不會影響程序執行結果。 default子句可以省略不用。 多個case的后面可以共用一組執行語句 。如例7.1中等級為優秀的判斷程序可。
5、改為:,2020年8月15日,switch(int)(n/10) case 10: case 9: printf(成績%d的等級為優秀n); break; ,2020年8月15日,7.2 嵌套循環結構程序設計,在一個循環內又完整地包含另一個循環,稱為循環的嵌套。for語句可以與while語句、do-while語句相互嵌套,構成多重循環,例如:,2020年8月15日,(1) (2) for() do while() for() while(); (3) (4) while() for() for() for() ,2020年8月15日,for (i=1;i=9;i+) 打印第i行; ,【例7.2。
6、】打印乘法小九九表。,使用一個循環9次的循環語句,每次循環打印一行:,打印第i行,循環i次,每次循環打印一個表達式:,for (j=1;j=i;j+) 打印第j個表達式; ,打印完一行后換行,2020年8月15日,#include void main() int i,j; for (i=1;i=9;i+) for (j=1;j=i;j+) printf(%d*%d=%-3d,i,j,i*j); printf(n); ,程序運行情況如下: 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=。
7、15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81,2020年8月15日,【例7.3】百雞問題。,#includestdio.h void main() int x,y,z; for(x=1;x=20;x+。
8、) /*用嵌套的for循環依次設公雞有1,2,20只*/ for(y=1;y=33;y+) /*設母雞有1,2,33只*/ for (z=3;z100;z+=3) /*設小雞有3,6,99只*/ if (x*5+y*3+z/3=100 ,程序運行結果如下: 公雞4只、母雞18只、小雞78只 公雞8只、母雞11只、小雞81只 公雞12只、母雞4只、小雞84只,2020年8月15日,7.3 break語句和continue語句在循環中的應用,break語句只能用在switch語句或循環語句中,其作用是跳出switch語句或跳出本層循環,轉去執行后面的程序。由于break語句的轉移方向是明確的,所以。
9、不需要語句標號與之配合。break語句的一般形式為 break; 注意: break語句對if-else的條件語句不起作用。 在多層循環中,一個break語句只向外跳一層。 使用break語句可以使循環語句有多個出口,2020年8月15日,continue 語句,continue語句只能用在循環體中,其一般格式是: continue; 其語義是:結束本次循環,即不再執行循環體中continue 語句之后的語句,轉入下一次循環條件的判斷與執行。應注意的是,本語句只結束本層本次的循環,并不跳出循環。 continue語句只用在for、while、do-while等循環體中,常與if條件語句一起使用。
10、,用來加速循環。 1) while(表達式1) if(表達式2)break; ,2) while(表達式1) if(表達式2)continue; ,2020年8月15日,2020年8月15日,【例7.4】輸出100以內能被7整除的數。,#include stdio.h void main() int n; for(n=1;n=100;n+) if (n%7!=0) continue; printf(%d ,n); printf(n); ,程序運行情況如下: 7 14 21 28 35 42 49 56 63 70 77 84 91 98,2020年8月15日,【例7.5】判斷m是否素數,#in。
11、clude #include int main() int m, i, k; scanf(%d, ,2020年8月15日,7.4 程序舉例 【例7.6】模擬自動飲料機,#include stdio.h void main() int button; printf(=自動飲料機=n); printf(1.可口可樂n); printf(2.雪碧n); printf(3.百事可樂n); printf(4.芬達n); printf(5.非常可樂n); printf(請按15鍵選擇飲料:n); scanf(%d,2020年8月15日,switch(button) case 1: printf(n你獲得一。
12、聽可口可樂n); break; case 2: printf(n你獲得一聽雪碧n); break; case 3: printf(n你獲得一聽百事可樂n); break; case 4: printf(n你獲得一聽芬達n); break; case 5: printf(n你獲得一聽非常可樂n); break; default: printf(n非法操作!n); ,程序運行情況如下: =自動飲料機= 1可口可樂 2雪碧 3百事可樂 4芬達 5非常可樂 請按15鍵選擇飲料: 3 你獲得一聽百事可樂,2020年8月15日,【例7.10】數組元素排序冒泡排序(以升序為例),排序過程: 比較第一個數與第。
13、二個數,若為逆序a0a1,則交換;然后比較第二個數與第三個數;依次類推,直至第n-1個數和第n個數比較為止第一趟冒泡排序,結果最大的數被安置在最后一個元素位置上 對前n-1個數進行第二趟冒泡排序,結果使次大的數被安置在第n-1個元素位置 重復上述過程,共經過n-1趟冒泡排序后,排序結束,2020年8月15日,例,38,49,76,97,13,97,27,97,30,97,13,76,76,76,27,30,13,65,27,65,30,65,13,13,49,49,30,49,27,38,27,38,30,38,2020年8月15日,#include main() int a10,i,j,t;。
14、 printf(Input 10 numbers:n); for(i=0;iaj+1) t=aj; aj=aj+1; aj+1=t; printf(The sorted numbers:n); for(i=0;i10;i+) printf(%d ,ai); ,2020年8月15日,【例7.11】數組元素排序選擇排序(以升序為例),排序過程: 首先通過n-1次比較,從n個數中找出最小的, 將它與第一個數 交換第一趟選擇排序,結果最小的數被安置在第一個元素位置上 再通過n-2次比較,從剩余的n-1個數中找出關鍵字次小的記錄,將它與第二個數交換第二趟選擇排序 重復上述過程,共經過n-1趟排序后,排序結束,2020年8月15日,例,初始: 49 38 65 97 76 13 27 ,i=1,13,49,一趟: 13 38 65 97 76 49 27 ,i=2,27,38,六趟: 13 27 38 49 65 76 97 ,2020年8月15日。
總結
以上是生活随笔為你收集整理的c语言 程序循环,C语言程序设计-循环例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存折现金销户是什么意思
- 下一篇: c语言调试出错误怎么改,C语言调试常见错