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

正文內(nèi)容

第四章程序流程控制語(yǔ)句(編輯修改稿)

2024-10-07 08:16 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 case 4: case 6: case 9: case 11: /* 處理 “ 小 ” 月 */ days=30。 break。 case 2: /* 處理 “ 平 ” 月 */ if ( year%4==0 amp。amp。 year%100!=0 || year%400==0 ) days=29。 /* 如果是閏年 */ else days=28。 /* 不是閏年 */ break。 default: /* 月份錯(cuò)誤 */ printf(Input error!\n)。 days=0。 } if (days!=0) printf(”%d,%d is %ddays\n,year,month,days)。 } 省略 case子句之后的語(yǔ)句 第 33 頁(yè) 167。 442 選擇語(yǔ)句 switch語(yǔ)句 ? 省略 break語(yǔ)句 例如:某程序段中, error是進(jìn)行出錯(cuò)處理的函數(shù)。 flag=1。 /* error marker */ switch (i) { case 1: case 2: case 3: flag=0。 /* no error */ break。 case 4: flag=1。 /* error 1 */ case 5: error(flag)。 /* error process */ break。 default: flag=2。 /* other error */ } /* 假定函數(shù) error是出錯(cuò)處理函數(shù) */ 當(dāng) i=1, 2, 3 時(shí): flag=0; 退出。 當(dāng) i=5 時(shí): flag = 1; 調(diào)用 erorr(flag); 退出。 當(dāng) i=4 時(shí): flag = 1; 調(diào)用 error(flag); 退出。 第 34 頁(yè) 167。 442 選擇語(yǔ)句 switch語(yǔ)句 ? 例 : 請(qǐng)編寫一個(gè)程序計(jì)算表達(dá)式: data1 op data2的值。 main ( ) { float data1, data2。char op。 /* 定義操作數(shù)、操作符變量 */ printf(Enter your expression:)。 scanf (”%f%c%f”, amp。data1, amp。op, amp。data2)。 /* 輸入表達(dá)式 */ switch ( op ) /* 根據(jù)操作符分別進(jìn)行處理 */ { case ’+’ : /* 處理加法 */ printf(%.2f+%.2f=%.2f\n, data1, data2, data1+data2)。break。 case ’’ : /* 處理減法 */ printf (%.2f%.2f=%.2f\n, data1, data2, data1data2)。break。 case ’*’ : /* 處理乘法 */ printf (%.2f*%.2f=%.2f\n, data1, data2, data1*data2)。break。 case ’/’ : /* 處理除法 */ if ( data2==0 ) /* 若除數(shù)為0 */ printf (Division by zero.\n)。 else printf (%.2f/%.2f=%.2f\n, data1, data2, data1/data2)。 break。 default: /* 輸入其它運(yùn)算符 */ printf (Unknown operater.\n)。 } } 例 C3_4202 第 35 頁(yè) 167。 45 循環(huán)語(yǔ)句 ? 提出問(wèn)題 提問(wèn): 從鍵盤上輸入 10個(gè)整數(shù)并求和,怎么編程? 回答: 在程序中寫入 10個(gè) scanf( )語(yǔ)句。 提問(wèn): 從鍵盤上輸入 500個(gè)整數(shù)并求和,怎么編程? 回答: 這個(gè),嗯 ……??? 不會(huì)讓我寫 500個(gè) ...... 老師: 讓我們換一個(gè)角度來(lái)看待這些問(wèn)題, 以上問(wèn)題的實(shí)質(zhì)是:將 scanf函數(shù)重復(fù)執(zhí)行 N遍。 學(xué)生: 對(duì)!好象是這么回事 ...... 老師: 我們可以引出一個(gè)概念“ 循環(huán) ”,簡(jiǎn)單而言: 循環(huán) 就是不斷 反復(fù)地執(zhí)行同一段程序。 學(xué)生: 這就是我們今天要學(xué)的新東西? 第 36 頁(yè) 167。 45 循環(huán)語(yǔ)句 ?循環(huán) 反復(fù)執(zhí)行同一段程序,直到滿足一定的條件后才停止執(zhí)行該段程序。 ?C語(yǔ)言中控制循環(huán)的語(yǔ)句: ◆ while ◆ for ◆ dowhile 第 37 頁(yè) 167。 451 while語(yǔ)句 ? while語(yǔ)句格式 while ( 表達(dá)式 ) 語(yǔ)句 ; 說(shuō)明:語(yǔ)句 部分可以是 簡(jiǎn)單語(yǔ)句 ,也可 以是復(fù)合語(yǔ)句 。 ? while語(yǔ)句的執(zhí)行流程 表達(dá)式 ? 執(zhí)行 語(yǔ)句 成立 不成立 執(zhí)行 while循環(huán)之后的語(yǔ)句 循環(huán)控制條件 循環(huán)體 第 38 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 從鍵盤輸入 10個(gè)整數(shù),求這 10個(gè)整數(shù)的和。 include main ( ) { int count,num,total。 /* count:計(jì)數(shù)器, num:輸入的整數(shù) */ count=0。 total=0。 /* total:存放累加和 */ while ( count10 ) /* 循環(huán)控制條件 */ { count ++。 /* 循環(huán)體 */ printf (Enter the No.%d=, count)。 scanf (%d, amp。num)。 total += num。 /* 計(jì)算累加和 */ } printf(Total=%d\n, total)。 } 例 C3_5101 第 39 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例: 分析程序的運(yùn)行結(jié)果 include main ( ) { int n=0。 while ( n3 ) printf (”n is %d\n”,n)。 n++。 printf(”That\’s all this program does.\n”)。 } 結(jié)果: 程序?qū)⒉煌5拇蛴 ?n is 0”, 直至終止程序 ? 無(wú)法正常終止的程序,稱為“ 死循環(huán) ”。 結(jié)論: while語(yǔ)句 循環(huán)體 中,一定要有能夠 對(duì)循環(huán)控制條件產(chǎn)生影響的語(yǔ)句 。避免出現(xiàn)“ 死循環(huán) ”現(xiàn)象。 例 C3_51011 { } 第 40 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 1: 分析下列程序段 index=1。 while ( index 5 ) printf(”Good morning!\n”)。 分析: 程序段將無(wú)限制打印字符串。 因?yàn)檠h(huán)中 沒(méi)有 任何語(yǔ)句可以改變循環(huán)控制變量 index的初值 1。 第 41 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 2: 分析下列程序段 index=1。 while( index 5 ) printf(”Good morning!\n”)。 分析: 仍有問(wèn)題,程序改變了 index,但方向錯(cuò)了。 在 index達(dá)到系統(tǒng)能夠處理的最大負(fù)數(shù)時(shí),將會(huì)產(chǎn)生下溢而終止程序。 結(jié)論: 循環(huán)體中必須有能夠使循環(huán) 正常停止 的條件。 第 42 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 : 從鍵盤中讀入一系列字符,直到輸入字母 a時(shí)才停止。 分析: 由于不知道要輸入的字符數(shù)量,只知停止條件是輸入字母 a, 則只能將循環(huán)控制條件設(shè)為 ch!=39。a39。 include main( ) { char ch=39。 39。 。 while ( ch!=39。a39。) putchar( ch = getch( ) ); } 例 C3_5103 改寫: include main( ) { char ch。 while ( (ch = getch( )) !=39。a39。 ) ; } 例 C3_51031 循環(huán)體為空語(yǔ)句 第 43 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 : 對(duì)輸入的行和字符進(jìn)行計(jì)數(shù)。 分析: \n作為 行結(jié)束 標(biāo)記的, DOS中有 [CTRL+Z]作為文件結(jié)束 標(biāo)記 define EOF 1 include main ( ) { int c,nl=0,nc=0。 while ( ( c = getchar( ) ) != EOF ) { ++ nc。 if ( c == 39。\n39。 ) ++ nl。 } printf(chars=%d, lines=%d\n, nc, nl)。 } 例 C3_5104 定義文件結(jié)束標(biāo)記 nl行計(jì)數(shù)器 nc字符計(jì)數(shù)器 進(jìn)行字符計(jì)數(shù) 如果找到 \n, 則行計(jì)數(shù) 第 44 頁(yè) 167。 451 while語(yǔ)句 實(shí)例 ? 例 3: 求 1到 100的之和。 main ( ) { int total=0, i=1。 while ( i = 100 ) { total = total + i。 i ++。 } printf(”Total=%d\n, total)。 } 例 C3_51041 變形 1: while ( i = 100 ) total += i++。 == total+=i。 ++i 變形 2: int i=0。 while ( ++i = 100 ) == ++i。 判斷 i=100 total += i。 變形 3: int i=0。 while ( i++ 100 ) == 判斷 i100; i++ total += i。 變形 4: int i=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1