循環結構是程序中一種很重要的結構,其特色是在給定條件成立時,反覆執行某程序段,直到條件不成立爲止。給定的條件稱爲循環條件,反覆執行的程序段稱爲循環體。C語言提供了多種循環語句,能夠組成各類不一樣形式的循環結構。html
(1)用goto語句和if語句構成循環;函數
(2)用while語句;oop
(3)用do-while語句;spa
(4)用for語句;code
一、goto語句及goto語句構成循環htm
goto語句是一種無條件轉移語句。使用格式爲:goto 語句標號;blog
其中標號是一個有效的標識符加上一個「:」一塊兒出如今函數內某處,執行goto後,程序將跳轉到該標號處並執行其後語句。另外標號必須與goto語句同處一個函數中,但能夠不在一個循環層中。一般goto語句與if語句連用,當知足某一條件時,程序跳到標號處運行。get
注意:goto語句一般不用,主要由於它將使程序層次不清,且不易讀,但在多層嵌套退出時,用goto語句則比較合理。input
例:用goto語句和if語句構成循環string
#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); }
原文出處:https://www.cnblogs.com/lvfengkun/p/10258329.html