C語言中,while語句括號內可以是賦值語句嗎

2021-03-07 07:37:52 字數 5813 閱讀 5008

1樓:匿名使用者

while()語句括號中是一個邏輯表示式,用以判斷while迴圈是否需要繼續執行。可以是賦值語句。

while迴圈的一般格式為:

while(expr)

其中用來判斷迴圈條件的expr可以是任意表示式。當其是賦值語句的時候,含義為,先執行賦值語句,然後對左值進行判斷。如果左值為0則expr為假,while退出;否則expr為真,while繼續迴圈。

不過直接用賦值語句做expr時,編譯器可能為認為賦值操作符=是等於判斷符==的誤寫,這時編譯器可能會報一個警告(warning),編譯器是否報警,及報警告還是錯誤(error)取決於編譯器設定。為避免這種情況,可以用while((var = expr))的形式,告知編譯器就是要先賦值再判斷,編譯器就不會理會了。

下面是舉一個例子用來輔助說明。

函式功能,將引數字串中的所有值按照ascii碼進行累加,獲取校驗和,溢位後只取低位元組值。

char sum(char* p)

return c;//返回校驗和}

2樓:匿名使用者

可以,不但可以還可以寫多個語句,

int a=5,b=2;

while(b=a,b-=1)

{cout<是隻判斷最後一句,兩句之間用,不能用;

3樓:天外流星

可以,比如:

int a=0;

while(a=1)//這樣會造成死迴圈,因為括號裡的最終值為1,非0,代表真,所以會一直迴圈

在c語言中while()語句括號裡面是一個數字代表什麼意思,比如while(1).

4樓:認錯

c語言下,while()括號裡面放的是迴圈的條件,若是真,則迴圈;否則,停止。

1)任何非零的整數都是為真的,所以while(1)和 while(2)和 while(3)等都是一個意思。

2)若是指標的話,null則為假,反之則為真。

3)a > b 等類似的表示式,滿足為真,反之為假。

5樓:匿名使用者

while後面的括號是迴圈條件。滿足條件就會迴圈,不滿足條件則不迴圈,也就是退出迴圈了。

6樓:匿名使用者

while(1)

條件永遠 成立。下面的程式迴圈不斷進行。

7樓:匿名使用者

while(1)表示迴圈條件一直為真。就表示無限迴圈。

除非在while中return 或者break 或者goto 才能跳出迴圈。

8樓:卷冊守護者

任意非0的數字 比如 1 -1 之類 在c中都代表真

if(1) if(-1) 這樣的判斷都會通過

所以while(1) 等於 while(真) 迴圈一直成立

9樓:林弟弟

括號內的是布林運算值,只有0和非0兩種,所有的條件判斷值都是布林運算的結果。

while括號內的只為真即非0是執行,0是不執行。

10樓:匿名使用者

迴圈,語句裡為真時一直執行

c語言中while的用法

11樓:加百列

c語言中while的用法解析如下:

一、1表示true,在bool型別取值false和true,0為false,非0為true(例如-1和2都是true)。程式中,這裡1就表示永真,直到迴圈體內遇到break。

二、while用法演示解析:

1、含義:while 迴圈會在指定條件為真時迴圈執行**塊。

2、語法如下:(如果忘記增加條件中所用變數的值,該迴圈永遠不會結束。該可能導致程式崩潰。)

3、例項:

例中的迴圈將繼續執行,只要變數 i 小於 5:

4、執行結果如下:

12樓:匿名使用者

這裡的1表示真,是bool型別,非0為真。程式當中while(1)裡括號內是判斷條件,整型1轉為bool型後結果為true,所以判斷條件為真,接著做下面的語句。

bool表示布林型變數,也就是邏輯型變數的定義符,以英國數學家、布林代數的奠基人喬治·布林(ge***e boole)命名。布林型變數的值只有 真 (true) 和假 (false),0為false,非0為true(例如-1和2都是true)。

布林型變數可用於邏輯表示式,也就是「或」「與」「非」之類的邏輯運算和大於小於之類的關係運算,邏輯表示式運算結果為真或為假。

比如:#include

using namespace std;

int main()

13樓:小肥仔

1就是真。

while()迴圈括號裡只有2種值,0和非0,0表示假,非0表示真。真就進入迴圈,假就離開迴圈。這裡1就表示永真,直到迴圈體內遇到break。

while是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,進入迴圈後,當條件不滿足時,執行完迴圈體內全部語句後再跳出(而不是立即跳出迴圈)。while語句的一般表示式為:

while(表示式)。

擴充套件資料:

c++的特性

2023年12月8日,國際標準化組織(iso)和國際電工委員會(iec)再次釋出了c語言的新標準,名叫iso/iec 9899:2011 - information technology -- programming languages -- c,簡稱c11標準,原名c1x。這是c語言的第三個官方標準,也是c語言的最新標準。

新的標準提高了對c++的相容性,並增加了一些新的特性。這些新特性包括:

對齊處理(alignment)的標準化(包括_alignas標誌符,alignof運算子, aligned_alloc函式以及標頭檔案。

_noreturn 函式標記,類似於 gcc 的 __attribute__((noreturn))。

_generic 關鍵字。

多執行緒(multithreading)支援,包括:

_thread_local儲存型別識別符號,標頭檔案,裡面包含了執行緒的建立和管理函式。

_atomic型別修飾符和標頭檔案。

增強的unicode的支援。基於c unicode技術報告iso/iec tr 19769:2004,增強了對unicode的支援。

包括為utf-16/utf-32編碼增加了char16_t和char32_t資料型別,提供了包含unicode字串轉換函式的標頭檔案.

刪除了 gets() 函式,使用一個新的更安全的函式gets_s()替代。

增加了邊界檢查函式介面,定義了新的安全的函式,例如 fopen_s(),strcat_s() 等等。

增加了更多浮點處理巨集。

匿名結構體/聯合體支援。這個在gcc早已存在,c11將其引入標準。

靜態斷言(static assertions),_static_assert(),在解釋 #if 和 #error 之後被處理。

新的 fopen() 模式,(「…x」)。類似 posix 中的 o_creat|o_excl,在檔案鎖中比較常用。

新增 quick_exit() 函式作為第三種終止程式的方式。當 exit()失敗時可以做最少的清理工作。

14樓:韓苗苗

while表示的是迴圈,使用的標準格式為:

while(表示式)

其中表示式是迴圈進行的條件

在此程式中,while(1)表示的是無限迴圈。

擴充套件資料while是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,進入迴圈後,當條件不滿足時,執行完迴圈體內全部語句後再跳出(而不是立即跳出迴圈)。while語句的一般表示式為:

while(表示式)。

參考資料

15樓:英格拉姆

while語句的一般形式為:

while(表示式) 語句

其中表示式是迴圈條件,語句為迴圈體。

while語句的語義是:計算表示式的值,當值為真(非0)時, 執行迴圈體語句。其執行過程可用下圖表示。

【例6-2】用while語句計算從1加到100的值。用傳統流程圖和n-s結構流程圖表示演算法,見圖:

拓展資料:

c語言c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

16樓:程式設計師的每一天

c語言迴圈結構之while迴圈語句

17樓:書蕾表壬

r=l->next;while(r)

這個是連結串列的判斷;如果l->next;是指向連結串列的尾部就是:『\0』;把這個賦給r;while(r);如果為0;就結束,如果不為0繼續;這裡應該是要用於輸入或者輸出,要不然就是刪除插入;

18樓:公西駿奇愛齊

親,這個不是通常c語言的語法,是嵌入式c的語法,你這個應該是微控制器之類的程式吧。

這裡的while迴圈的作用其實就是等待p1_3引腳的低電平結束的(注意,迴圈的執行條件是(p1in

&bit3)==0x00,也就是隻要p1_3引腳電平為低,迴圈就持續執行,當引腳電平為高時,跳出迴圈,執行a2=(a2+1)%2)。

19樓:天曼安周聖

如果p1in或bit3兩個變數有一個等於0x00,則進入while迴圈

,while的內部迴圈是:a2=(a2+1)%2即變數a2+1後對2取模後的值賦值給變數a2while迴圈的條件式是(p1in&bit3)==0x00即p1in或bit3任何一個變數等於0x00即跳出while迴圈,繼續執行後面的程式

另外,我怎麼看著你貼出的**有點彆扭啊,語法有點問題,邏輯上也不循常理

20樓:劇琨瑜寧姮

如果是嵌入式的話,應該是這樣理解

if((p1in

&bit3)==0x00)

//p1in

的io口第3位,檢測出低電平,進入下面的程式

21樓:蓬闌餘安萱

c語言中的while語句用於執行迴圈操作。

格式:while(表示式)

迴圈體;

//示例:計算階乘m!

#include

int main()

printf("%d!=%.0lf\n",m,sum);

}else

printf("你所輸入的數是1,最後結果也只能是1\n");

return 0;}

22樓:藩飛白賴璟

while(expression)

statement

括號裡是

迴圈條件。如果為真則執行下面的迴圈。假,則退出迴圈。

23樓:有梓維乘娟

需要稍作修改

#include

main()

printf("答案是%lf",e);}

24樓:枝梓倩哈昶

第二個看見後面的

;了嗎?

其實完整格式是

while(p3_7==0)

就是一直迴圈到不等於0

什麼都不幹

實際上正規的寫法應該是

null;

而不是隻有一個;

只有一個;

在**優化時會被優化掉

c語言中while()不帶執行語句是什麼意思拜託各位大神

分號就是語句啊,只不過空語句什麼都不幹。換句話說,如果a為1,就是個死迴圈了,內一直在檢容測a是不是為1。補充 空迴圈,若條件也是固定不變的,那就是個死迴圈了。若不是死迴圈,往往是用來等時間的。滿意請採納 c語言中這個執行語句具體是什麼意思呢 迴圈語句,n初值是5,條件是n 1成立時,執行語句,然後...

c語言中while是什麼意思,C語言中while是什麼意思

當型迴圈,當你的條件滿足while的條件時,就會執行while 括號內的語句,不滿足則退出while迴圈,執行while後面的語句 c語言中的while是一種迴圈語句,是計算機的一種基本迴圈模式。當滿足條件時進入迴圈,不滿足跳出 使用格式為 while 條件表示式 迴圈體語句 3.當while迴圈的...

c語言while語句中if else 語句中while語句

等同於加上括號 while 條件1 else 實際上時這樣的,條件1為假什麼都不執行,條件2為假執行else 求高手解釋 在c語言中,if語句中不是不能用break嗎?怎麼資料裡用了?可以用,因為if外面是while迴圈,break是用來退出while迴圈的。如果外面沒有while迴圈,只有if語句...