天天看點

C語言控制循環相關習題

1.有以下程式

#include <stdio.h>

main(){

int a=-2,b=0;

while(a++ && ++b);

printf("%d.%dn",a,b);

}

程式運作後輸出結果是(D)

A.0.2 B.0.3 C.1.3 D.1.2

解析:首先我們要明白的是while();的作用就是當裡面非真的時候就停止循環。

第一步,a=-2,b=0,經過while循環先是a=-2&&++b=1為真,然後a++之後a=-1,b=1;

第二步,a=-1,b=1經過while循環a=-1&&++b=2為真,然後a++之後a=0,b=2;

第三步,a=0,b=2經過while循環,這裡是重點,a=0的時候通過&&運算規則我們知道隻要左邊為0那麼運算結束不會在去執行右側,是以a=0,在經過a++變為a=1,而b不進行自增是以b=2.

2.由以下while構成的循環,循環體執行的次數是(D)

int k=0;while(k=1)k++;

A)有文法錯,不能執行

B)一次也不執行

C)執行一次  D)無限次

【解析】本題考查while語句,while語句的語義是:計算表達式的值,當值為真非(0)時,執行循環體語句。k=1為指派語句,即k的值等于1。while(k=1)=while(1),是死循環,執行無限次。是以D選項正确。

繼續閱讀