C語言中的DO是什么意思
C語言中DO是執行某代碼塊的意思,do關鍵字不能單獨使用,通常用在do。while 循環中。
在 C 語言中,do。while 循環是在循環的尾部檢查它的條件,do。while 循環與 while 循環類似,但是 do。while 循環會確保至少執行一次循環。
不像 for 和 while 循環,它們是在循環頭部測試循環條件。do……while它的語法格式如下:
do{
statement(s);
}
while( condition );
擴展資料
在do……while條件表達式出現在循環的尾部,所以循環中的 statement(s) 會在條件被測試之前至少執行一次。
如果條件為真,控制流會跳轉回上面的 do,然后重新執行循環中的 statement(s)。這個過程會不斷重復,直到給定條件變為假為止。
實例:
#include <stdio.h>
int main (){
int a = 10;
do
{
printf("a 的值: %d\n", a);
a = a + 1;
}while( a < 20 );
return 0;
}
運行程序時輸出結果為:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19
C語言do循環語句
沒有do循環,只有do-while循環、while循環和for循環,因此如果你是用do-while循環,do和while兩者是密不可分的,do里面描述了你在不斷的重復做什么事,而while告訴編譯器下一次重復進入循環的條件是什么,如果沒有while的話,整個循環的思想就少了一部分,也就不能稱之為循環語句了。
看樓主可能是初學者,補充下。 C語言中有三種基本的循環結構,for、while、do-while,每種循環都有自己的特點,你需要根據你所面臨的狀況進行選擇。
for循環:使用的時候明確循環次數,即知道循環進行多少次。也就是說如果你現在要使用循環,而且你知道循環具體多少次,可以選擇for循環。
eg:遍歷一個數組。for(i=0;i<數組的長度;i++){}; while循環:不需要明確循環具體循環多少次,只需要知道循環終止條件。
比如使用循環讀取若干字符,但是不知道具體讀取多少個,也就是不知道循環次數,但是卻知道,當輸入某個字符,例如'q'的時候退出,即循環終止。 eg:讀取若干字符,當讀取到q的時候退出。
while(q != getchar()){}; do-while循環:和while循環類似,但是他有個特點,就是他保證了循環至少進行一次,也就是說先運行一次循環體,在判斷結束條件,在我們實際使用用經常使用都do-while()的用法,你可以詳細了解下,有很多關于do-while的講解,在很多情況下他的作用是很“神奇"的.。
C語言do
要點1: *=,+=,-= 等符號的應用是同道理的: 即把左邊的移過右邊運算(右邊用括號包住,表示先運算),結果再給左邊(注意左邊只能是變量,不可為表達式)
A += B 等價于 A = A + (B); (B可以是值或表達式,這里的=仍是賦值號哦)
如 x += 1; ===== x= x+1; x += 1+2+3; ===== x =x+(1+2+3); x += a+b+1 ==== x= x+(a+b+1);
要點2: C中0表示假,非0表示真 if(0)-----假 if(1)----真 if (2)-----真
while也一樣 while(0)----假,不執行; while(1),while(2)-----真,執行
要點3:如果if,while,for,do-while等去掉{ },則只有第一個語句是它們的內容,即第一個分號!!
如: if (條件)i++; i++; 其中只有第一個i++是if的內容,即if(;) { i++;} i++;
while (;) i++; b++; 只有i++是while 的內容,即while (;) { i++;} b++;
所以,為了提高程序的可讀性,還是不要省略{},這樣更清晰哦!
理解了這幾點,你的題就簡單了~~~~~
你的題也可這樣
main()
{ int x=3;
do{
printf("%d,", (x= x-2) );<;----先計算x-2,再重賦給x,再打出,括號可不要,但是這樣清晰,結果x=1
} while( !(--x) ); <---x先自減,得x=0; 再求 !0 = 1;<;------條件成立,繼續上面循環(!的用法懂吧??)
執行的第二次循環時,要注意此時的x=0
}
C語言do-while語句
改進版:注意第九行。
#include
main()
{
char a;
printf("Do U Want to Continue(Y/N):");
do
{
scanf("%c",&a);
getchar(); //讀取回車符。
if(a=='Y' || a=='y')
printf("This is A\n"); //我加了換行符。
else
if (a=='N' || a=='n')
printf("Thx for UR Attention!\n");//加了換行符。
else
if(a!='Y' && a!='y' && a!='N' && a!='n'&&a!='#')//加了“a!='#'。
printf("Input Error,Please Input Again!");
}while(a!='#');
}
建議樓主以后要注意細節,因為C語言太靈活了。
關于C語言中的do while語句與while語句
相同點:
1,while語句和do while 語句都是循環語句。
2,while括號里面的條件必須成立才能循環。do while也一樣。
不同點:
例:
1,形式上的不同
while(條件)
{
語句;
}
do
{
語句;
}while(條件);
2,當括號里的條件一開始就成立時,while和do while的循環次數是相同的。
而當括號里的條件一開始就不成立時,while里面的語句是不會執行的。而do while會執行一次。