c語言循環語句
⑴ c語言中循環語句有哪些具體怎麼用
C提供三種基本的循環語句: for語句、while語句和do-while語句。
一. for循環
for循環是開界的。它的一般形式為:
for(<初始化>; <條件表過式>; <增量>)
語句;
初始化總是一個賦值語句, 它用來給循環控制變數賦初值; 條件表達式是一個關系表達式, 它決定什麼時候退出循環; 增量定義循環控制變數每循環一次後按什麼方式變化。這三個部分之間用";"分開。
例如:
for(i=1; i<=10; i++)
語句;
上例中先給i賦初值1, 判斷i是否小於等於10, 若是則執行語句, 之後值增加1。再重新判斷, 直到條件為假, 即i>10時, 結束循環。
注意:
1. for循環中語句可以為語句體, 但要用"{"和"}"將參加循環的語句括起來。
2. for循環中的"初始化"、"條件表達式"和"增量"都是選擇項, 即可以預設, 但";"不能預設。省略了初始化, 表示不對循環控制變數賦初值。 省略了條件表達式, 則不做其它處理時便成為死循環。省略了增量, 則不對循環控制變數進行操作, 這時可在語句體中加入修改循環控制變數的語句。
3. for循環可以有多層嵌套。
例16:
main()
{
int i, j, k;
printf("i j k\n");
for (i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
printf(%d %d %d\n", i, j, k);
}
輸出結果為:
i j k
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
二、 while循環
while循環的一般形式為:
while(條件)
語句;
while循環表示當條件為真時, 便執行語句。直到條件為假才結束循環。 並繼續執行循環程序外的後續語句。
例17:
#include<stdio.h>
main()
{
char c;
c=』\0』; /*初始化c*/
while(c!=』\X0D』) /*回車結束循環*/
c=getche(); /*帶回顯的從鍵盤接收字元*/
}
上例中, while循環是以檢查c是否為回車符開始, 因其事先被初始化為空, 所以條件為真, 進入循環等待鍵盤輸入字元; 一旦輸入回車, 則c=』\X0D』, 條件為假, 循環便告結束。
與for循環一樣, while循環總是在循環的頭部檢驗條件, 這就意味著循環可能什麼也不執行就退出。
注意:
1. 在while循環體內也允許空語句。
例如:
while((c=getche())!=』\X0D』);
這個循環直到鍵入回車為止。
2. 可以有多層循環嵌套。
3. 語句可以是語句體, 此時必須用"{"和"}"括起來。
例18:
#include<stdio.h>
main()
{
char c, fname[13];
FILE *fp; /*定義文件指針*/
printf("File name:"); /*提示輸入文件名*/
scanf("%s", fname); /*等待輸入文件名*/
fp=fopen(fname, "r"); /*打開文件只讀*/
while((c=fgetc(fp)!=EOF) /*讀取一個字元並判斷是否到文件結束*/
putchar(c); /*文件未結束時顯示該字元*/
}
三.do-while 循環
do-while 循環的一般格式為:
do
語句;
while(條件);
這個循環與while循環的不同在於: 它先執行循環中的語句, 然後再判斷條
件是否為真, 如果為真則繼續循環; 如果為假, 則終止循環。因此, do-while循
環至少要執行一次循環語句。
同樣當有許多語句參加循環時, 要用"{"和"}"把它們括起來。
⑵ c語言提供幾種循環語句分別是什麼
提供三種循環語句。
1 for循環:
形式為
for(expr1;expr2;expr3)
{
//循環體。
}
執行流程為
a. 執行expr1。
b. 判斷expr2,如為真,則執行c,否則退出循環。
c. 執行循環體。
d. 執行expr3。
e. 轉到b執行。
2 while循環。
形式為
while(expr)
{
//循環體。
}
執行流程為
a. 判斷expr,如為真,則執行b,否則退出循環。
b. 執行循環體。
c. 轉到a執行。
3 do-while循環。
形式為
do
{
//循環體
}while(expr);//注意這里的分號不能省略。
執行流程為
a. 執行循環體。
b. 判斷expr,如為真,則執行a,否則退出。
⑶ C語言的for循環語句
1.首先定義一個循環變數 i。定義的時候可以不給它賦初值,在 for 循環裡面再給它賦初值也行。但前面說過,最好在定義變數的時候就對它進行初始化,如果值不確定就初始化為 0...
2.然後定義一個用來存放「和」的變數 sum,並給它賦初值 0,然後進入 for 循環:
3.首先求解表達式1,即給變數i賦初值,i=1;表達式1隻執行這一次,下面都不會再執行了。
4.然後求解表達式2,若 1<=100 成立,則執行 for 循環中的內嵌語句。
⑷ c語言循環語句
當然可以,比如for(;;){}的語句都是通過編譯的,只不過沒有意義。
但是不同情況使用不同的循環可以使代碼更加簡潔或者易讀,還是推薦不要只學一種。
⑸ c語言編程循環語句
語句內容如下:
# include < stdio.h >
Voidmain()
{
Int[100].
Ints=0,I,num,Max,min,av;
Printf("enternumberofstudents:");
Thescanf("%d",num);
Printf("inputfraction\n");
(I = 0; The < num; + +)
{printf("%d:",I+1);
Scanf("%d",and[I]);}
(I = 0; The < num; + +)
Printf("%4d",[I]);
Printf("\n");
Max=[0];
Min=[0];
(I = 0; The < num; + +)
S=s+[I];
Av=s/10;
(I = 0; The < num; + +)
{if ([I]> Max) Max =[I];
If ([I]< min) minutes =[I];
}
Printf("Max=%d,min=%d,assertion=%d\n",Max,min,av);
}
goto語句的爭論
在20世紀60年代末和70年代初,關於 goto 語句的用法的爭論比較激烈。主張從高級程序語言中去掉 goto 語句的人認為,goto 語句是對程序結構影響最大的一種有害的語句,他們的主要理由是: goto 語句使程序的靜態結構和動態結構不一致,從而使程序難以理解,難以查錯。
去掉 goto 語句後,可直接從程序結構上反映程序運行的過程。這樣,不僅使程序結構清晰,便於理解,便於查錯,而且也有利於程序的正確性證明。
持反對意見的人認為, goto 語句使用起來比較靈活,而且有些情形能提高程序的效率。若完全刪去 goto 語句,有些情形反而會使程序過於復雜,增加一些不必要的計算量。
⑹ C語言循環語句用法是怎樣的
for語句格式為:
循環語句
for(表達式1;表達式2;表達式3)
循環語句語句:/*循環體*/
該語句執行過程如下:
①先對表達式1賦初值;
②判別表達式2是否滿足給定條件,若其值為真,滿足循環條件,則執行循環體內語句,然後執行表達式3,進入第二次循環,再判別表達式2……;否則判斷表達式2的值為假,不滿足條件,就終止for循環,執行循環體外語句。
while語句格式為:
while(表達式)
語句;/*循環體*/
這里的表達式是循環能否繼續下去的條件,而語句是循環體。只要表達式為真,則執行循環體內語句。否則終止循環,執行循環體外語句。
do while語句格式為:
do
語句;/*循環體*/
While(表達式);
程序進入do while循環後,先執行循環體內語句,然後判斷表達式的真假,若為真則進行
下一次循環,否則為假則終止循環。該循環語句的特點是,表達式為假時也執行一次循環體
內語句。