C語言的那些事兒 (迴圈結構程式設計)
阿新 • • 發佈:2018-12-21
1.迴圈語句初認識:在不少實際問題中有許多具有規律性的重複操作,因此在程式中就需要重複執行某些語句。一組被重複執行的語句稱之為迴圈體,能否繼續重複,決定迴圈的終止條件。迴圈結構是在一定條件下反覆執行某段程式的流程結構,被反覆執行的程式被稱為迴圈體。迴圈語句是由迴圈體及迴圈的終止條件兩部分組成的。 2.三種迴圈語句C語言中的三種迴圈語言while、do……while、for,從語法角度來區別,主要是執行流程,以及迴圈三要素的區分。迴圈變數初始值、判斷控制表示式、修改迴圈變數即所謂的迴圈三要素。一般來說,進入迴圈之前,應該給迴圈變數賦初值,確保迴圈能夠正常開始,在控制表示式中判斷迴圈變數是否達到迴圈的終止值,在迴圈體中對迴圈條件變數進行修改,以使迴圈正常的終止。 ①while迴圈迴圈變數初始值:while迴圈中的迴圈初始值,只能在while迴圈語句前編寫。判斷控制表示式:迴圈條件在while關鍵字之後設定。修改迴圈變數:在迴圈體語中設定。 示例:計算[1,100]的所有整數之和 #include <stdio.h> int main() { int sum = 0;int start = 1; //初始化 while (start <=100) //條件判斷 {sum += start;++start; //迴圈變數增加 } printf("結果:%d\n", sum); return 0; } ②for迴圈for語句最大的特點將迴圈三要素都設定在控制結構,這是非常方便的。還是上面的例子。#include <stdio.h >int main() { int sum = 0; for (int start = 1; //初始化 start <=100; //條件控制 ++start //迴圈變數增加 ) { sum += start; } printf("結果:%d\n", sum); return 0; } ③do……while語句do……while語句最大的特點是無論如何迴圈都會至少執行一次,這是do……while與while和for最大的區別。 運用巢狀迴圈解決問題 百錢買百雞問題公雞一個五塊錢,母雞一個三塊錢,小雞三個一塊錢,現在要用一百塊錢買一百隻雞,問公雞、母雞、小雞各多少隻? 程式碼:#include <stdio.h> int main( ) { int i, j, k; printf("百元買百雞的問題所有可能的解如下:\n"); for( i=0; i <= 100; i++ ) for( j=0; j <= 100; j++ ) for( k=0; k <= 100; k++ ) { if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 ) { printf("公雞 %2d 只,母雞 %2d 只,小雞 %2d 只\n", i, j, k); } } return 0; } ★拓展提示:水平字元t在控制檯輸出資料的時候,也就是用printf()的時候,我們經常用\t來控制對齊,以使輸出的結果更加整齊美觀。 ◆我遇到的問題求用一張厚度為0.1毫米的紙需要折多少次才能超過珠穆朗瑪峰的高度 程式碼: #include〈stdio.h〉 int main() { float i,h; for(i=0,h=0.0001;h<8848;i++) h=h*2; printf("%f\n",i−1); } ①若h=h*2在for後的括號內,則括號後要打分號,否則不用; ②要使得結果為整數,則可在printf後的括號中的%與f之間加上0.0; ③注意:for語句的括號內一定要有兩個分號,並且括號裡的式子有順序規定。