版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計與項目實踐清華大學出版社學生成績的統計分析———循環程序設計項目5回顧與作業點評for語法格式do…while語法格式while…語法格式預習檢查如何終止循環?continue語句和break語句格式?目標掌握continue語句掌握break語句項目任務任務5-2、強制中斷循環1、如何強制結束循環?2、循環終止條件如何設定?控制轉移語句對于工程控制問題,往往無法確定循環次數或循環終止條件,可根據程序運行過程中發生的某種條件中斷程序的運行,即所謂的強制中斷;同樣的對于某些控制問題,可能希望提前結束本次循環而開始新一次的循環控制。要實現這種控制,可以采用C語言的轉移控制語句break、continue和goto,以控制程序流程的走向。break語句2-1break語句可以改變程序的控制流break語句用于do-while、while、for循環中時,可使程序終止循環而執行循環后面的語句break語句通常在循環中與條件語句一起使用。若條件值為真,將跳出循環,控制流轉向循環后面的語句如果已執行break語句,就不會執行循環體中位于break語句后的語句在多層循環中,一個break語句只向外跳一層一般形式為:if(表達式)break;break語句2-2跳出for循環for(;;){c=getchar();if(c=='E'||c=='e')
break;}
跳出while循環while(1){
c=getchar();if(c=='E'||c=='e')
break;}
跳出do-while循環do{
c=getchar();if(c=='E'||c=='e')
break;}while(1);案例:統計從鍵盤輸入的若干個字符中有效字符的個數,以換行符作為輸入結束。有效字符是指第一個空格符前面的字符,若輸入字符中沒有空格符,則有效字符為除了換行符之外的所有字符。#include<stdio.h>voidmain(){ intcount=0,ch; printf("\n請輸入一行字符:"); while((ch=getchar())!='\n') { if(ch=='')
break; count++; } printf("\n共有%d個有效字符。\n",count);}break語句案例內存chcountH0_請輸入一行字符:Helloworld共有5個有效字符1循環執行5次5break案例2-1【案例5-9】求300以內能被17整除的最大的3個正整數。分析:如果m被n整除,則m%n=0,所以,求300以內內能被17整除的最大的3個正整數,取x的值從300開始,如x%17=0,表示x被17整除,只找三個這樣的數,用一個計數器count計數。break案例2-2voidmain(){intx;intcount=0;for(x=300;x>=17;x--){if(x%17==0){count++;if(count>3)break;
printf("x=%d\n",x);
}}}continue語句2-1continue語句只能用在循環里continue語句的作用是跳過循環體中剩余的語句而執行下一次循環對于while和do-while循環,continue語句執行之后的動作是條件判斷;對于for循環,隨后的動作是變量更新
一般形式為:if(表達式)continue;continue語句2-2while(…){
…………continue;
…………}while(…){
…………
break;
…………}跳出整個循環繼續下一次循環案例:求整數1~100中個位不為3的所有數的累加值#include<stdio.h>voidmain(){ inti,sum=0; for(i=1;i<=100;i++) { if(i%10==3)
continue; sum+=i; } printf("sum=%d\n",sum);}contine案例內存isumnull0131循環執行到i=1378輸出:sum=45701循環執行到i=1011014570continue語句案例2-1【案例5-10】求300以內能被17整除的所有正整數。分析:將從1到300的所有數x用來判斷是否被17整除。continue語句案例2-2voidmain(){
intx;for(x=1;x<=200;x++){
if(x%17!=0)continue;printf(“%d”,x);}}goto語句2-1goto語句是一條無條件轉移語句,goto語句是一種讓程序員任意控制流程的有效工具,充分表現程序的靈活性。在結構化程序設計,goto語句會使程序流程無規律、可讀性差,因此,建議盡量少用或不用該語句。當需要跳出某種嵌套較深的結構時,如果使用break語句,只能跳出break所在層。如果一次要跳出二層甚至更多層,這時使用goto語句,就是不錯的選擇。goto語句的格式:goto標識符;其中標識符是語句轉移的目標。該標識符必須局限在當前函數的標號。標號的格式與變量名相同,并在其后跟冒號。goto語句2-2用if語句和goto語句構成循環。可以利用if和goto語句實現循環,這種方式也是早期非結構化程序設置實現循環的一種方法。其處理流程如圖5-17。goto語句案例2-1【案例5-11】編程,求1~10的平方根。分析:
利用if和goto語句構成一個循環,設置變量num,其取值為1~100,并計算其平方根,當num>100退出循環。goto語句案例2-2voidmain(){intnum;printf("num\troot\n");
num=1;loop:if(num<=10)
{
printf("%d\t%5.3f\n",num,sqrt(num));
num++;
gotoloop;}}goto語句案例2-12、利用goto實現跳出循環【案例5-12】用逐個判別法求2~100之間的所有素數。
分析:將2~100的所有整數逐個判斷,如果是素數,則打印輸出。程序流程如圖5-19所示。goto語句案例2-2#include<stdio.h>#include<math1voidmain(){inti,j,c;for(i=2;i<100;i++){for(j=2;j<i/2;j++)if(i%j==0)gotoex;printf("%4d",i);c++;if(c%5==0)printf("\n");ex:;}}任務分析與實施任務分析統計某門課程的平均成績。對于某個班級學生某門課程平均成績的統計,需要對每個學生該
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年秋季初中新生軍訓 軍訓中的感恩教育
- 2026年電子商務行業新模式與新業態發展報告
- 2027年云南林業職院高職單招職業技能考試模擬試卷帶答案詳解(培優A卷)
- 2024年龍湖智造職業學院高職單招職業技能考試題庫附參考答案詳解(預熱題)
- 2024年巴盛職業學院高職單招職業技能考試題庫及答案詳解(真題匯編)
- 2025年柘林湖職業學院單招職業技能考試模擬試卷含答案詳解(綜合卷)
- 2026年菏澤家政職業學院高職單招職業適應性測試考試題庫含答案詳解【預熱題】
- 2024年江西外語外貿職業學院單招綜合素質考試題庫及答案詳解(典優)
- 2026年武當山文旅職業學院高職單招職業適應性測試考試題庫1套附答案詳解
- 2025年長沙黑麋峰職業學院單招綜合素質考試模擬試卷(模擬題)附答案詳解
- 2025-2030商業航天產業發展政策環境與市場增長空間報告
- 乙醇(酒精)化學品安全技術說明書(MSDS-SDS)
- 2026年高速公路監控考試題庫及答案
- 初中九年級物理上冊期中考試題及答案【完整版】
- 企業年度評優與表彰管理辦法
- 高處作業人員安全教育培訓
- 初中歷史材料分析題答題技巧
- 輸液安全警示教育
- 學院學生宿舍管理服務項目方案投標文件(技術方案)
- 2026青島東鼎產業發展集團有限公司招聘筆試備考題庫及答案解析
- 社會組織內部薪酬制度
評論
0/150
提交評論