




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第1章VisualC#概述第2章C#語法基礎第3章順序結構程序設計第4章選擇結構程序設計第5章循環(huán)結構程序設計第6章面向對象編程技術第7章繼承第8章數(shù)組與自定義類型第9章菜單、工具欄與狀態(tài)欄第10章鼠標鍵盤事件第11章ActiveX控件第12章數(shù)據(jù)庫技術第13章開發(fā)Web應用程序第14章異常處理與部署應用程序下一頁VisualC#2005程序設計上一頁第5章
循環(huán)程序結構設計
5.1循環(huán)語句
5.1.1for循環(huán)語句
for循環(huán)常常用于已知循環(huán)次數(shù)的情況,使用該循環(huán)時,測試是否滿足某個條件,如果滿足條件,則進入下一次循環(huán),否則,退出該循環(huán)。章節(jié)目錄上一頁下一頁1.for語句的語法格式
for(表達式1;表達式2;表達式3){循環(huán)語句序列;}其中表達式1用于設置循環(huán)變量的初始值,該表達式僅初次進入循環(huán)時執(zhí)行一次;表達式2為條件判斷表達式,即每次執(zhí)行循環(huán)語句序列前,判斷該表達式是否成立,如果成立,則執(zhí)行循環(huán)語句序列(進入循環(huán)體),否則,循環(huán)結束,執(zhí)行循環(huán)語句的后續(xù)語句;表達式3用于改變循環(huán)變量值,一般通過遞增或遞減來實現(xiàn)。
章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁圖6-1for循環(huán)流程圖2.for循環(huán)語句的使用根據(jù)下面的實例,了解for語句的工作流程及實現(xiàn)方法?!纠?-1】計算1~100的奇數(shù)和。使用for語句實現(xiàn)。
章節(jié)目錄上一頁下一頁【計算】按鈕的Click事件代碼為:privatevoidbutton1_Click(objectsender,EventArgse){intsum=0;//聲明并初始化求和變量for(inti=1;i<=100;i=i+2)//循環(huán)變量每次循環(huán)遞增2sum+=i;//循環(huán)語句序列僅有一句,故省略大括號lblSum.Text="1到100的奇數(shù)和為:"+sum;//循環(huán)語句的后續(xù)語句,輸出求和結果}章節(jié)目錄上一頁下一頁5.1.2while循環(huán)語句while語句可以用于不知道循環(huán)次數(shù)的情況。循環(huán)時在循環(huán)的頂部判斷某個條件是否滿足,當循環(huán)的條件判斷為真時(滿足條件),進入循環(huán),否則退出循環(huán)。1.while循環(huán)語句的語法格式while循環(huán)語句的格式為:while(條件表達式){循環(huán)語句序列}章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁圖6-4while程序流程圖說明如下:①
條件表達式為關系表達式或邏輯表達式,其運算結果為true(真)或false(假)。在條件表達式中必須包含控制循環(huán)的變量,即循環(huán)變量。②
作為循環(huán)體的語句序列可以是多條語句,也可以是一條語句。如果是一條語句,大括號可以省略。如果省略了大括號,則循環(huán)語句往后碰到的第一個分號即為循環(huán)的結尾。③
循環(huán)語句序列中至少應包含改變循環(huán)變量的語句,以避免陷入死循環(huán)。章節(jié)目錄上一頁下一頁2.while循環(huán)語句的使用【例5-2】輸入兩個正整數(shù),求兩個數(shù)的最大公約數(shù)與最小公倍數(shù)。章節(jié)目錄上一頁下一頁【計算】按鈕的Click事件代碼為:privatevoidbutton1_Click(objectsender,EventArgse){lblResult.Text="";//清空用于輸出結果的標簽框inta=int.Parse(txtA.Text);intb=int.Parse(txtB.Text);if(a>b){intc=a;a=b;b=c;}//保證a<binti=a,j=b;//聲明并初始化求最大公約數(shù)的循環(huán)變量i,求最小公倍數(shù)的循環(huán)變量j
章節(jié)目錄上一頁下一頁if(checkBox1.Checked){while(a%i!=0||b%i!=0)i--;lblResult.Text="兩個數(shù)的最大公約數(shù)為:"+i+"\n";//輸出最大公約數(shù)}if(checkBox2.Checked){while(j%a!=0||j%b!=0)j++;lblResult.Text+="兩個數(shù)的最小公倍數(shù)為:"+j;//輸出最小公倍數(shù)}}章節(jié)目錄上一頁下一頁5.1.3do…while循環(huán)do…while循環(huán)非常類似于while循環(huán)。一般情況下,可以相互轉換使用。它們之間的差別在于while循環(huán)的測試條件在每一次循環(huán)開始時執(zhí)行,而do…while循環(huán)的測試條件在每一次循環(huán)體結束時進行判斷。同樣的,do…while可以解決一些循環(huán)問題,但使用的頻率較少。1.do…while的語法格式do…while語法的一般格式為:do{語句序列}while(條件表達式);章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁do…while循環(huán)與for循環(huán)及while循環(huán)的最大不同在于,for循環(huán)與while循環(huán)是先測試,后循環(huán),而do…while循環(huán)則先循環(huán)后測試。for循環(huán)與while循環(huán)叫前測試循環(huán),do…while循環(huán)叫后測試循環(huán)。do…while循環(huán)至少可以使循環(huán)進行一次,而for循環(huán)與while循環(huán)則有可能一次循環(huán)也不進行。
章節(jié)目錄上一頁下一頁2.do…while的使用【例5-3】輸入一個企業(yè)每年產(chǎn)值的平均增長速度,求多少年后產(chǎn)值能夠翻一番。章節(jié)目錄上一頁下一頁【計算】按鈕的Click事件代碼為:privatevoidbutton1_Click(objectsender,EventArgse){doubleproductionValue=100,rise;rise=double.Parse(txtRise.Text)/100;intyears=0;do{productionValue=productionValue*(1+rise);years+=1;}while(productionValue<200);lblResult.Text=years+"年后產(chǎn)值為:"+(Math.Round(productionValue))+"%";}章節(jié)目錄上一頁下一頁5.2循環(huán)的嵌套與轉向語句在程序設計過程中,常常需要使用循環(huán)的嵌套來處理重復操作。而在處理重復操作時,往往又需要根據(jù)某一條件改變循環(huán)正常流程。5.2.1循環(huán)的嵌套當一個循環(huán)(稱為“外循環(huán)”)的循環(huán)語句序列內(nèi)包含另一個或若干個循環(huán)(稱為“內(nèi)循環(huán)”),稱為循環(huán)的嵌套,這種語句結構稱為多重循環(huán)結構。章節(jié)目錄上一頁下一頁【例5-4】使程序輸出如圖5-13所示的圖形。
章節(jié)目錄上一頁下一頁【三角形】單選按鈕的CheckedChanged事件代碼為:privatevoidradTriangle_CheckedChanged(objectsender,EventArgse){if(radTriangle.Checked){lblOut.Text="三角形:\n";for(inti=1;i<=17;i+=2){for(intj=1;j<18-i;j++)lblOut.Text+="";for(intk=1;k<=i;k++)lblOut.Text+="*";lblOut.Text+="\n";}}}章節(jié)目錄上一頁下一頁【梯形】單選按鈕的CheckedChanged事件代碼為:privatevoidradTrapezia_CheckedChanged(objectsender,EventArgse){if(radTrapezia.Checked){lblOut.Text="梯形:\n\n";for(inti=4;i<=17;i+=2)//循環(huán)變量i的初始值與三角形代碼不同{for(intj=1;j<18-i;j++)lblOut.Text+="";for(intk=1;k<=i;k++)lblOut.Text+="*";lblOut.Text+="\n";}}}章節(jié)目錄上一頁下一頁5.2.2轉向語句
1.break語句break在多分支選擇(switch)語句中的作用是跳出switch語句,break語句也可以用于退出循環(huán),使用break語句時,將結束循環(huán),執(zhí)行循環(huán)的后續(xù)語句。
2.continue語句continue語句用于循環(huán)語句中,continue語句作用是結束本次循環(huán),跳過該語句之后的循環(huán)語句,返回到循環(huán)的起始處,并根據(jù)循環(huán)條件決定是否執(zhí)行下一次循環(huán)。
章節(jié)目錄上一頁下一頁【例5-5】利用break與continue控制輸出1~30的數(shù)值。章節(jié)目錄上一頁下一頁【輸出】按鈕的Click事件代碼為:privatevoidbutton1_Click(objectsender,EventArgse){lblOut.Text="";for(inti=1;i<=30;i++){if(radAll.Checked)//【全部】單選按鈕被選中,則輸出全部數(shù)據(jù)lblOut.Text+=i+"";if(radBreak.Checked)//【小于等于15】單選按鈕被選中,則輸出1~15{if(i>15)break;lblOut.Text+=i+"";}
章節(jié)目錄上一頁下一頁if(radContinue.Checked)//【奇數(shù)】單選按鈕被選中,則輸出全部奇數(shù){if(i%2==0)continue;lblOut.Text+=i+"";}}}章節(jié)目錄上一頁下一頁5.3列表框和組合框5.3.1列表框(ListBox)ListBox控件為用戶提供了選項的列表,用戶可以從列表中進行選擇輸入。如果項目數(shù)目超過列表框可顯示的數(shù)目,控件上將自動出現(xiàn)滾動條,它是一種規(guī)范輸入的好工具。1.列表框的常用屬性、方法和事件2.列表框應用實例章節(jié)目錄上一頁下一頁【例5-6】設計一個Windows應用程序,程序運行時,自動往列表框中添加2000~2006的年份數(shù)據(jù),選擇列表框中的某一年份,自動判斷是否閏年,在文本框中輸入年份;單擊【追加】按鈕,可以將文本框中的年份追加到列表框的列表項末尾,單擊【插入】按鈕,可以將文本框中的年份插入到列表框被選定項之前;單擊【移除】按鈕,可以刪除被選定的列表項,單擊【清空】按鈕,可以刪除列表框中的所有列表項。
章節(jié)目錄上一頁下一頁圖6-12計算sum的值圖5-19追加年份
圖5-20插入年份
章節(jié)目錄上一頁下一頁窗體的Load事件代碼為:privatevoidForm1_Load(objectsender,EventArgse){for(inti=2000;i<=2006;i++)lstYears.Items.Add(i);}章節(jié)目錄上一頁下一頁列表框的SelectedIndexChanged事件代碼為:privatevoidlstYears_SelectedIndexChanged(objectsender,EventArgse){if(lstYears.SelectedIndex==-1)return;intyear=int.Parse(lstYears.SelectedItem.ToString());
章節(jié)目錄上一頁下一頁if(year%4==0&&year%100!=0||year%400==0)lblOut.Text=year+"年是閏年!";elselblOut.Text=year+"年不是閏年!";}章節(jié)目錄上一頁下一頁【插入】按鈕的Click事件代碼為:privatevoidbutton2_Click(objectsender,EventArgse){if(lstYears.SelectedIndex!=-1)lstYears.Items.Insert(lstYears.SelectedIndex,txtInputYear.Text);}章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁5.3.2組合框(ComboBox)1.ComboBox常用屬性和事件組合框控件的屬性與列表框的屬性大部分相同。2.ComboBox應用實例【例5-7】設計一個Windows應用程序,在組合框中輸入書名,單擊【添加】按鈕,將輸入的書名添加到組合框的列表中,單擊【取消】按鈕,輸入的書名不予添加,并清除輸入的書名。在設計程序時,在組合框中預置部分書名。章節(jié)目錄上一頁下一頁章節(jié)目錄上一頁下一頁【添加】按鈕的Click事件代碼為:privatevoidbutton1_Click(objectsender,EventArgse){cmbBooks.Items.Add(cmbBooks.Text);}【取消】按鈕的Click事件代碼為:privatevoidbutton2_Click(objectsender,EventArgse){cmbBooks.Text="";}章節(jié)目錄上一頁下一頁5.4使用計時器控件(Timer)5.5.1計時器控件的屬性、方法和事件Enabled:該屬性為True時,計時器開始工作,為False時暫停。Interval:該屬性用來設置
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB15-T 1152-2025 黃瓜集約化育苗技術規(guī)程
- 還款標準合同
- 基本功大賽現(xiàn)場做課件
- 初三化學健康化學試卷及答案
- 中國鋼鐵行業(yè)并購重組的路徑探索與績效提升-以WG集團公司為例
- WTO框架下中國農(nóng)產(chǎn)品貿(mào)易:現(xiàn)狀、挑戰(zhàn)與突破路徑
- 初二語文文言文閱讀專項試卷及答案
- 基層消防知識培訓課件活動
- 汽車工程學:汽車縱向動力學 中英文翻譯、外文文獻翻譯、外文翻譯
- 培訓課件溫馨提醒語錄簡短
- 沉降觀測匯總表及曲線圖
- JGT116-2012 聚碳酸酯(PC)中空板
- 《植物與植物生理》課程標準
- 2023固體礦產(chǎn)資源量估算規(guī)程第2部分:幾何法
- 高度10米的滿堂腳手架施工方案
- 管理者的角色認知-課件
- 測量管理體系管理評審輸入表
- 引風機拆除及安裝施工方案
- GB/T 41953-2022色漆和清漆涂料中水分含量的測定氣相色譜法
- 哥達綱領批判-原文
- GB/T 8151.1-2012鋅精礦化學分析方法第1部分:鋅量的測定沉淀分離Na2EDTA滴定法和萃取分離Na2EDTA滴定法
評論
0/150
提交評論