freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

c程序設計實用教程ppt-閱讀頁

2025-01-19 08:50本頁面
  

【正文】 , 條件 x==0等價于 !x, 故if(x==0)可以簡單地寫成 if(!x)。 if格式 if(條件 1) 語句 1 else if(條件 2) 語句 2 else if(條件 3) 語句 3 ┇ else if(條件 n) 語句 n else 語句 n+1 例 根據(jù)考試成績輸出對應的等級標志 , 即: 90≤ 分數(shù) ≤ 100, 等級為 A; 80≤ 分數(shù) 90; 等級為 B; 70≤ 分數(shù) 80; 等級為 C; 60≤ 分數(shù) 70; 等級為 D; 0≤ 分數(shù) 60; 等級為 E。 方法 1 用多個并列的條件語句簡化格式來編寫程序 , 留給讀者 。 main() { float score。score)。 else if(score=90) printf(%.1f:A\n, score)。 else if(score=70) printf(%.1f:C\n, score)。 else if(score=0) printf(%.1f:E\n, score)。 } 注意: 由后向前看 , 每個 else總是與它前面最近的且無 else的 if配對 。 case 常量 2: 語句 2 break。 ………… case 常量 n: 語句 n break。 使用 switch語句時 , 我們還要指出幾點 注意: 1. case后的常量 一般是整型或字符型 , 它們 必須互不相同 。 3. break語句是可選擇的 。 4. 關鍵字 default也是可選擇的 , 要根據(jù)問題的需要來決定取舍 。 方法 3 使用 switch語句編寫程序 。 scanf(%f,amp。 if(score100||score0) printf(Data error\n)。 break。 break。 break。 break。 } } 其中 , 常量為 5~ 0的幾種情況可直接使用 default來完成 。 什么是循環(huán)結構 while語句 do~ while語句 for語句 循環(huán)的終止與繼續(xù) 循環(huán)語句的嵌套 用 goto語句構造 循環(huán) 什么是循環(huán)結構 問題: 一地質小分隊有 20人 , 探礦途中遇到一條河無法過去 。 這條船一次只能載一個隊員或兩個少年 。 這樣的步驟重復 20次 , 地質隊員就全過河了 。 我們把 在一定條件下重復執(zhí)行某操作的這種結構叫做循環(huán)結構 。 循環(huán)語句主要有三種類型: while語句 、 do~ while語句和 for語句 。 while語句 這個循環(huán)語句的一般格式如下: while(條件 ) 循環(huán)體 其中的循環(huán)體可以是單個語句,也可以是復合語句。簡言之, 當條件成立時反復執(zhí)行循環(huán)體 , 直到條件不成立時為止。 觀察一下這 100個自然數(shù) , 立即發(fā)現(xiàn)他們具有由 1開始 、 依次增 1的規(guī)律 。 由于要求和 , 還要設一個存放和的變量 sum, 它的初值必須為 0。 方法 1 使用 while循環(huán)語句 。 n=1。 /*變量置初值 */ while(n=100) { sum=sum+n。 /*變量 n增 1*/ } printf(Sum=%d\n, sum)。 修改后的程序如下: main() { int n=1, sum=0。 printf(Sum=%d\n, sum)。 這是項數(shù)無限的求和 ( 叫做無窮級數(shù) ) 問題 , 解決的 關鍵是根據(jù)前項找出后項的規(guī)律 。 相鄰兩項的符號是正 、 負依次交替 。 main() { int k=1,s=1。 double t=1,pi=0。 /*當前項 t加到 pi中 */ n=n+2。 /*求下一項的符號 */ t=s*。 } printf(Pi=%f\n,pi*4)。 顯然 , 當每項的絕對值大于106時就進行循環(huán) 。 unsigned long n=1。 while(fabs(t)1e6) { pi+=t。 s=s。 } printf(Pi=%f\n,pi*4)。 do~ while語句 這個循環(huán)語句的一般格式如下: do{ 循環(huán)體 }while(條件 )。 這樣 , 可以給出例 。 main() { int n=1, sum=0。 }while(n=100)。 } 注意: 前面兩個語句的區(qū)別是很明顯的: do~ while語句至少執(zhí)行一次循環(huán)體 , 即“ 先執(zhí)行 ,后判斷 ” ;而 while語句在進入循環(huán)體之前的條件如果不成立 , 則循環(huán)體一次都不執(zhí)行 。 條件 。 這個語句的執(zhí)行過程是: (1) 首先執(zhí)行初值部分一次; (2) 然后判斷條件 , 當條件成立 ( 即條件為真 ) 時 , 執(zhí)行循環(huán)體 , 接著再執(zhí)行增量部分;這個過程重復進行 , 直到條件不成立 ( 即條件為假 ) 時結束循環(huán) , 轉而執(zhí)行這個語句的后續(xù)語句 。 方法 3 使用 for循環(huán)語句 。 sum=0。 n=100。 /*循環(huán)體 */ printf(Sum=%d\n, sum)。 就是說 , 多個初值可同時納入到 for語句的初值部分 。 n=100。 又如: for(n=1, sum=0。 sum+=n, n++) /*增量部分是逗號表達式 */ 。 (2) 增量部分也可以是減量。 n=1。 (3) 初值部分和增量部分還可以省略 , 但分號不可省略 。 sum=0。 n=100。 又如: n=1。 for(。 ) /*又省略增量部分 */ { sum+=n。 /*增量部分拿到循環(huán)體內 */ } (4)條件也可以省略 , 這是與 while語句和 do~ while語句的重要區(qū)別 。 如: n=1。 for( 。 ) { sum+=n。 } 這個無限循環(huán)相當于: for( 。) { sum+=n。 } 即條件永遠為真(可將 1改為任何非零值)。 例 從鍵盤輸入一個自然數(shù) , 判斷其是否為質數(shù) 。 main() { unsigned m, i, flag=1。m)。 i=m1。 /*flag值為 0表示自然數(shù)是合數(shù) */ if(flag) printf(%u is a prime number\n, m)。 } 觀察下此程序的 for循環(huán)語句 , 不難發(fā)現(xiàn)兩個問題: (1) 循環(huán)次數(shù)是 m2。 顯然 ,循環(huán)次數(shù)太多 , 程序效率低 。 那么 , 如何中途退出循環(huán) ? 即沒有執(zhí)行完循環(huán)所規(guī)定的次數(shù) , 如何提前結束循環(huán) 。 至于如何終止循環(huán) , 可通過使用 break語句來實現(xiàn) 。它還能終止循環(huán)語句的執(zhí)行,即跳出循環(huán),接著執(zhí)行該循環(huán)語句的后續(xù)語句。 例如 , 用 break語句終止上節(jié)提到的無限循環(huán): main() { int n=1,sum=0。 。 n++。 } printf(Sum=%d\n,sum)。 這是很簡單的: for(i=2。 i++) if(m%i==0) { flag=0。 } 這樣處理之后 , 就沒有必要通過標志變量的值來判斷自然數(shù) m是質數(shù)還是合數(shù)了 。 main() { unsigned m,i。m)。 i=m1。 if(im1) printf(%u is a prime number\n, m)。 } 方法 3 改進判斷質數(shù)的算法 。 scanf(%u,amp。 k=sqrt(m)。 i=k。 if(ik) printf(%u is a prime number\n, m)。 } 它的一般格式如下: continue。 例 輸出 100以內能被 7整除的自然數(shù) 。 main() { int n。 n=100。 printf(\n)。 main() { int n。 n=100。 /*若 n不能被 7整除 , 則循環(huán)轉到增量部分 */ printf(%d ,n)。 } 方法 3 最簡單的方法 , 是從循環(huán)控制變量的初值和增量入手 。 for(n=7。 n+=7) printf (%d ,n)。 } 循環(huán)語句的嵌套 一個循環(huán)語句的循環(huán)體中允許包含另一個完整的循環(huán)語句 , 這叫做循環(huán)語句的嵌套 。 就是說 , 三種循環(huán)語句 ( while語句 、 do~ while語句和 for語句 ) 可以互相嵌套 。 方法 1 外層循環(huán)使用 for語句 。 for(m=2。 m++) /*外層循環(huán) , 其循環(huán)體是: */ { k=sqrt(m)。 i=k。 if(ik) printf(%u ,m)。 } 比較一下內 、 外兩層循環(huán)控制變量的變化 , 顯然 外層循環(huán)控制變量變化慢 , 內層循環(huán)控制變量變化快 。 方法 2 外層循環(huán)使用 while語句 。 m=2。 for(i=2。 i++) if(m%i==0) break。 m++。 } 方法 3 外層循環(huán)使用 do~ while語句 。 m=2。 for(i=2。 i++) if(m%i==0) break。 m++。 /*條件 */ printf(\n)。 標號命名規(guī)則同變量名 ,它用在某語句之前 , 其名后要加冒號 , 它指出 goto語句的轉向目標 。 這樣 , 可給出例 4種方法 。 main() { int n,sum。 sum=0。 /*求和后 n增 1*/ goto loop。 } 例 根據(jù)下面的兩位正整數(shù)乘法算式求解 。 由于兩個乘數(shù)的十位數(shù)字與個位數(shù)字對稱相等 , 可知得到該算式的解后就應該立即退出循環(huán) 。 main() { int m,n。 m=9。 n=9。 /*轉到標號 end處去執(zhí)行 */ end: printf(m=%d,n=%d\n, m,n)。 main() { int m,n,flag=0。 m=9。 n=9。 break。 /*退出外層循環(huán) */ } printf(m=%d,n=%d\n, m,n)。 數(shù)組的由來 一維數(shù)組 二維數(shù)組 字符串及其處理 數(shù)組的由來 問題: 輸入 20個學生的單科成績 , 輸出高于平均分的成績 , 那程序該如何設計呢 ? 利用前面已學過的知識 , 程序可以這樣編寫: main() { float s1,s2,…… ,s20, sum, aver。s1,amp。s20)。 /*求總成績 */ aver=sum/20。 /*輸出高于平均分的成績 */ if(s2aver) printf (%.2f , s2)。 printf (\n)。 如果是 50個學生 , 100個學生呢 ? 程序要寫得很長很長 。
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1