c 學習日誌day06 標準c語言

2021-08-18 11:47:36 字數 1016 閱讀 7896

continue;

在迴圈中使用,跳過該語句的下面所有**,直接到達迴圈的右大括號,開始下一次迴圈。

dowhile( );

while( ){

code

鍵盤----->快取區----->程式(例如由scanf函式讀取)

鍵盤輸入的字元會先到達快取區,然後程式從快取區里取字元。

如果程式無法正確的獲取快取區的裡的字元,這些字元就會一直停留在快取區,直到有程式可以成功的獲取它們。在這個期間,後續從鍵盤輸入的字元都沒法被程式獲取。

舉個例子:

int i = 0;

scanf("%d",&i);

printf("%d",i);

scanf("%d",&i);

printf("%d",i);

i 用於接受乙個整型的值,如果這個時候從鍵盤輸入的是乙個浮點型別 4.5 這個時候,scanf會取走4,但是由於不認識 . 所以就給它放回快取區。

第二次scanf再來取值的時候,看到的還是 . 於是它就又放回去。所以這個程式執行的時候,在第一輸入4.5 之後,會連續列印兩次 4 .

這個時候快取區里還是保留著 .5\n 這幾個字元。如果程式無法處理這些字元,那麼後續獲取字元的語句就是會執行但是沒有結果。

可以通過以下語句來清空快取區中第乙個 \n 字元前的所有字元和第乙個 \n 字元

scanf("%*[^\n]");

scanf("%*c");

程式(例如printf函式)----->快取區----->顯示屏

將快取區的字元列印到顯示屏上是有條件的,只有滿足以下任意一條規則,就可以把字元從快取區輸出到螢幕上:

1、當快取區的字元包含 \n 字元的時候

2、當程式結束之後

3、當快取區充滿之後

4、當程式裡呼叫 fflush(stdout); 函式,強制輸出快取區的內容

5、scanf擁有和 fflush(stdout);類似的功能

在今天的課程裡,有看到rand srand的函式,後續打算通過閱讀它們的原始碼來了解具體的實現。

C語言DAY06 迴圈控制

continue 讓女孩說話 do while 什麼時候用 do while for 迴圈 bai 這個變數的三次方 for可以實現的while 一定也可以 for 和 while 使用建議 結構 迴圈的應用場景迴圈體確定,迴圈次數也確定,就是用 while 迴圈體確定,迴圈次數不確定,迴圈繼續的條...

C 學習day06 物件導向

物件導向是把構成問題事物分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描述各個事物在解決問題的步驟中的行為。物件導向的優點 易維護 易復用 易擴充套件,由於物件導向有封裝 整合 多型性的特性,可以設計出低耦合的系統,使系統更加靈活 更加易維護。類和物件 類可以理解為類別,是具備某些共同...

前端學習 Day06

用標籤名作為選擇器,選中所有相應的元素 根據class的屬性來選擇元素,樣式定義為 classname 根據id名來選擇元素,樣式定義為 idname 選擇器 描述 attribute 選取帶有指定屬性的元素。12456 attribute value 選取帶有指定屬性和值的元素。6 attribu...