循環控制結構程序(初學者)
阿新 • • 發佈:2019-01-12
註意 控制結構 oop 中一 getc eight 錯誤 形式 str
循環結構是程序中一種很重要的結構,其特點是在給定條件成立時,反復執行某程序段,直到條件不成立為止。給定的條件稱為循環條件,反復執行的程序段稱為循環體。C語言提供了多種循環語句,可以組成各種不同形式的循環結構。
(1)用goto語句和if語句構成循環;
(2)用while語句;
(3)用do-while語句;
(4)用for語句;
1、goto語句及goto語句構成循環
goto語句是一種無條件轉移語句。使用格式為:goto 語句標號;
其中標號是一個有效的標識符加上一個“:”一起出現在函數內某處,執行goto後,程序將跳轉到該標號處並執行其後語句。另外標號必須與goto語句同處一個函數中,但可以不在一個循環層中。通常goto語句與if語句連用,當滿足某一條件時,程序跳到標號處運行。
註意:goto語句通常不用,主要因為它將使程序層次不清,且不易讀,但在多層嵌套退出時,用goto語句則比較合理。
例:用goto語句和if語句構成循環
#include<stdio.h> int main() { int i,sum=0; i=1; loop:if(i<=100) { sum=sum+i; i++; goto loop; } printf("%d\n",sum); }
while語句
while語句一般形式為:while(表達式)語句
其中表達式是循環條件,語句為循環體。
while語句語義為:計算表達式的值,當值為真(非0)時,執行循環體語句。其執行過程如圖:
註:如果表達式的值一開始就為0,則語句一次也不會被執行。
例:
include<stdio.h> int main() { int i,sum=0; i=1; while(i<=100) { sum=sum+i; i++; } printf("%d\n",sum); }
錯誤示例:死循環
#include<stdio.h> int main() { int i,sum=0; i=1; while(i<=100) //{ sum=sum+i; i++; //} printf("%d\n",sum); }
原因:加了//後,sum=sum+i變為循環語句,則i<=100永遠為真,陷入死循環。
補例:統計從鍵盤輸入一行字符的個數。
#include<stdio.h> void main() { int n=0; printf("input a string:\n"); while(getchar()!=‘\n‘) { n++; } printf("%d",n); }
循環控制結構程序(初學者)