摘 要:循環結構是C語言程序設計課程教學的重要內容,包括循環語句、循環嵌套等等。本文簡述了在教學實踐中如何講解C語言循環結構的經驗和方法,并且總結了學生在學習過程中遇到的常見問題以及解決方法。
關鍵詞:C語言;教學;循環;嵌套
一、引言
在目前專業課的課時普遍削減的趨勢下,C語言教學的重點應該在于如何利用有限的課時,讓學生迅速掌握C語言的基本語法和編程技法,并學以致用。學生前期學習了順序結構和選擇結構之后,具備了一些基本的編程能力,但是還不足以求解類似累加、累乘等一些需要做大量重復性操作的問題。C語言提供了循環結構,它是最重要的一個控制結構,專門用于完成重復性的操作。應注意引導學生盡量把復雜的求解過程轉換為一些重復性的、易于理解的簡單操作,再采用循環結構編寫程序。
二、while語句
C語言一共有3種循環語句:while語句、do-while語句和for語句。學習循環結構時應該提醒學生注意,一定要掌握它的一些要素,即循環體、循環初值、循環條件和循環次數。while語句屬于“當型”循環,當循環條件成立時,就不斷地執行循環體。它的一般形式為:
while(表達式)
循環體
執行流程是,先計算表達式即循環條件,如果為真則執行循環體,周而復始;如果表達式的值為假,則退出此循環結構。舉例求1+2+3+4+5+…+100,部分程序代碼如下:
int sum=0,i=1;
while(ilt;=100)" /*使用while語句,當ilt;=100時,重復執行如下語句*/
{sum=sum+i;" /*累加*/
i++;" /*當前相加的數+1*/
}
printf(\"sum is %d\n\",sum);
引導學生在程序中分析循環體、循環初值、循環條件和循環次數這幾個要素,提醒他們在循環語句中一定要設置使循環最終結束的語句,避免出現死循環(即永不停止地循環)。
三、do-while語句
do-while語句屬于“直到型”循環,不斷地執行循環體,直到循環條件不成立為止。它的一般形式為:
do
循環體
while(表達式);
執行流程是:先執行循環體,再計算表達式,如果為真則周而復始;如果表達式的值為假,則退出此循環結構。再次舉例求1+2+3+4+5+…+100,部分程序代碼如下:
int sum=0,i=1;
do
{sum=sum+i;" /*累加*/
i++;" /*當前相加的數+1*/
}while(ilt;=100);
printf(\"sum is %d\n\",sum);
提醒學生注意do-while語句與while語句的區別,由于do-while是先執行循環體后判斷循環條件,所以它的循環體至少執行一次,而while語句的循環體有可能一次也不執行。如果需要先執行再判斷循環條件,例如登錄系統時需要先輸入用戶名和密碼,再進行身份校驗,則采用do-while語句較為合適。
四、for語句
for語句屬于“計數”循環,不斷地執行循環體,當循環次數達到上限后就退出循環。它的語法簡潔而又靈活,建議學生合理地使用for語句,寫出精練、高質量的程序。for語句的一般形式為:
for(表達式1;表達式2;表達式3)
循環體
執行流程是:(1)計算表達式1,(2)計算表達式2,若其值為真,轉到步驟(3);若其值為假,則結束循環。(3)執行循環體。(4)計算表達式3,然后轉到步驟(2)。再次舉例求1+2+3+4+5+…+100,部分程序代碼如下:
int sum,i;
for(i=1,sum=0;ilt;=100;i++)
sum=sum+i;" /*累加*/
printf(\"sum is %d\n\",sum);
表達式1稱為初值表達式,只計算一次,用于設置初值。表達式2是循環條件,表達式3稱為修正表達式,用于修正循環條件,使得程序的執行能夠最終退出循環。引導學生分析for語句的適用場合,如果事先知道循環次數,則采用for語句較為合適,這時一般有一個計數器,用于記錄循環次數。
五、循環嵌套
循環嵌套又稱為多重循環,是指在循環體中又包含另一個完整的循環結構。通常把嵌套在循環體內的循環結構稱為內循環,把外層的循環結構稱為外循環。while、do-while和for三種循環語句都可以相互嵌套,大多數情況下最多使用二重循環就可以解決問題。應提醒學生注意,掌握循環嵌套的關鍵在于理解其循環執行的特點,二重循環執行時并不是外循環和內循環輪流執行一次,而是外循環每循環一次,內循環都要反復循環直到結束,再回到外循環。舉例打印九九乘法口訣表,部分程序代碼如下:
for(i=1;ilt;=9;i++) /*控制輸出行*/
{for(j=1;jlt;=i;j++)/*輸出該行的內容*/
printf(\"%2d*%2d=%2d\",j,i,i*j);
printf(\"\n\");/*每行結束后,輸出換行*/
}
引導學生重點分析兩個循環變量i和j的變化情況,i控制外層for語句的循環次數,總共循環輸出9行。j控制內層for語句的循環次數,對于第i行,內層for語句應循環i次。
六、結語
循環結構是C語言最重要的一種控制結構,用于實現需要重復執行某些操作的程序。以上闡述了三種循環語句教學的實施方法,分析了這些語句各自的特點及適用場合。通過三種循環語句的運用對比,推薦學生多使用for語句,它的結構較為緊湊、規范,有助于學生養成良好的編寫循環程序的習慣。在教學中應該注意選取合適的案例,引導學生了解C語言循環結構的特點,在程序設計中正確運用。
參考文獻:
[1] 王曉東. C程序設計簡明教程(第二版)[M].北京:中國水利水電出版社, 2008.