C語言學習歷程(六)幾個有趣的迴圈和關鍵字的小程式

2021-08-11 05:39:24 字數 817 閱讀 9285

1.#include

int main()

}printf("%d",i++);

return 0;這個程式的小知識點在於break和i++的用法,break表示中斷當前迴圈,i++表示先輸出i值,再將i+1;

2.int main()

return 0;

} 第二個程式的注意點在於for迴圈語句的判斷條件,k=-1和k=1是這個迴圈的判斷條件,順序執行下來,最後k=1,賦值成功,判斷語句的值為1,因此迴圈條件成立,每迴圈一次,k都會賦值為1;所以此判斷條件永遠是1,無限迴圈;

#define sqr(x) x*x

int main()

第三個程式的知識點在於,巨集定義define的用法,首先,define只會進行替換,而不會計算,所以++sqr(k+1)=++k+1*k+1,所以結果為4+1*4+1=9;

int main()

第四個程式的知識點在於關鍵字sizeof(i++),由於sizeof()是計算記憶體大小,對立面的變數數值不會改變,並且立面的運算不會成立,因此i++沒有執行,所以i不變。

int main()

; for(i=0;i<4;i++) }

}

for(i=0;i<5;i++)

return 0;

} 最後是乙個簡單的氣泡排序,注意點在於要將乙個元素與後面的每乙個元素比較一次,需要使用兩次迴圈,其次就是迴圈的時候要注意次數,當前四個元素已經比較完時,此排序已經完成,就不需要再去判斷第五個了,否則會多迴圈一次,多占用記憶體空間。最後是整型陣列的輸出,必須要用迴圈乙個乙個元素來輸出。

C語言學習 六 迴圈

while迴圈 for迴圈 do while迴圈 在迴圈主體結尾測試條件,和while很類似 巢狀迴圈 break語句 終止迴圈或switch語句,程式流將繼續執行緊接著迴圈或switch的下一條語句 continue語句 告訴乙個迴圈體立刻停止本次迴圈迭代,重新開始下次迴圈迭代 include i...

C語言學習歷程(2) 陣列

1.一維陣列的定義格式為 型別說明符 陣列名 常量表示式 例如 inta 10 它表示定義了乙個整形陣列,陣列名為a,有 10個整形元素。2.在定義陣列時,需要指定陣列中元素的個數,方括弧中的常量表示式用來表示元素的個數,即陣列長度。3.常量表示式中可以包括常量和符號常量,但不能包含變數。注意 c ...

C語言學習(六)GCC

gcc對程式的編譯過程 解釋 目標檔案 指經過編譯器編譯生成的cpu可識別的二進位制 一般不能執行 編譯過程 預編譯 將源程式.c中引用的標頭檔案包含進原始碼中,並對一些巨集進行替換 編譯過程 將使用者可識別的語言翻譯成處理器可識別的操作碼,生成目標檔案.o,通常會翻譯成彙編 目標檔案通常僅解析了檔...