1. 程式人生 > >c語言迴圈練習題

c語言迴圈練習題

一、輸出變數的值。

int quack = 2;

quack -=6;//結果為-4,即使加上無符號的定義,結果也為負數。

quack /=8;//結果為0,因為是int型別的變數,所以不顯示小數點後面的數字。

quack%=3;//結果為2,如果除數比被除數小,則餘數為除數本身。

二、value是一個int型別的值,迴圈出產生什麼輸出

for(value = 36;value >0;value /2)

{

  printf("%3d",value);//輸出的結果為36,18.9.4.2.1,因為是int型別,只讀取正整數,小數點後的數字被砍掉了,所以除到0.                                      //  幾的時候,預設為0,所以結束迴圈。

}

如果型別為double會出現什麼錯誤? //會一直除到double的最小值,然後溢位為負數,後結束迴圈。

三、判斷scanf()輸入是否正確。

int x;

scanf_s("%d", &x);
while (scanf_s("%d", &x)!=EOF)
{
printf("輸入出錯");
break;

}

1.scanf()函式有返回值且為int型。scanf返回值表示成功讀入的資料個數。

2.scanf()函式返回的值為:正確按指定格式輸入變數的個數;也即能正確接收到值的變數個數。

例如,scanf("%d%d", &a, &b); 如下為返回值的四種情況

(1) 如果a和b都被成功讀入,那麼scanf的返回值就是2

(2) 如果只有a被成功讀入,返回值為1

(3)如果a和b都未被成功讀入,返回值為0(即scanf函式遇到非法輸入時,返回值為0)

(4)如果遇到錯誤或遇到檔案結束符(end of file,EOF,控制檯下用Ctrl+Z輸入)則返回EOF(stdio.h中定義符號常量:#define EOF -1)。

由此例可見因此可利用scanf函式的返回值判斷資料是否正確讀入。

四、

void Hi()
{
int i;
char ch;
for (i = 0, ch = 'A'; i < 4; i++, ch += 2 * i)
{
printf("%c\n", ch);
}


}

先算i++,再算ch+=2*i;這裡ch加的是ASCII碼值。