C語言知識

2022-05-04 06:42:09 字數 3238 閱讀 3969

一 . c語言知識思維導圖

二. 寫出自己對以下語法的認識

1.if else:

if(語句1) else
認識: 判斷語句1,如果不成立的話做else後面語句3,成立的話就走語句2,可以有許多if else語句組合在一起,進行更複雜更多的判斷,用這種語句要注意判斷關係符號==<>等等,還有語句1是等式的話會有乙個值,0或1,直接語句1為數字也是於是否等於0如果不等於就成立,等於就不成立,走else語句。

2.switch case:

switch(ch)
認識:在switch()裡得到乙個字元或數字,在case裡找到相應的地方執行語句,判斷ch與a,成立就走後面語句,不成立就接下去找,分有break和無break的情況,有break就執行完語句就退出,如果執行語句後沒有break,就接下去執行接下去不管case成不成立,執行語句一直到有break語句,沒有break就一直到結束,還有default就是找不到對應的case就執行default的語句。提醒要注意是否有break,有和沒有執行結果不一樣。

3.for:

for(語句1;語句2;語句3)
認識:語句1進行需要的一開始變數賦值,執行一次,在接下去的迴圈當中就不會再用到了,如果不需要可以不寫,但是後面的;號是一定要的,然後語句2是迴圈判斷的條件每一次要進行迴圈要先進行語句2的判斷,然後後面也要有;號,然後語句3是迴圈內我們寫的語句做完後加在後面一定要進行的語句,通常是改變迴圈條件值得乙個式子,後面就不用;號了,通常錯誤是有時會寫錯;或沒寫,通常是知道迴圈次數會使用for迴圈,比較好用。

5.while:

while(語句)
認識:語句裡寫的是判斷條件,成立就執行大括號內的復合語句,不成立就退出while迴圈,還是一樣要注意判斷關係符,在後面的大括號裡要寫出可以改變判斷值,使迴圈條件是在改變的,不然會一直迴圈還不知道怎麼了,當遇到這種情況時,會沒有答案輸出,這時候就可以想到有可能是迴圈沒結束。

6.do while:

dowhile();
認識: 這個迴圈是不管怎麼樣都會進去迴圈一次,然後再進去while後面()的迴圈條件進行判斷,注意while()後是有乙個;符號的,這種迴圈就是比其他的迴圈來說,會不管怎麼樣的進行一次迴圈,需要特殊使用。

7.break和continue:

switch(整型表示式)

for(語句1; 語句2; 語句3)

語句1;

continue;

語句2;

認識:在通常使用在迴圈當中,在你某個條件後,在條件後加乙個break他就會跳出整個迴圈體,不會再進行後面多餘的迴圈,使得效率提高,是個很好用的詞,在switch中,也是一樣,找到對應的語句執行完,遇到break,就跳出switch;continue,當在普通**順序是,在語句1後面時,當做到在它之前語句完後,執行continue,會跳過語句2,做下乙個語句,如果是在for迴圈當中,就會跳過語句5如果還有語句也會一直跳過,直接進行下一次迴圈。在for迴圈內,會進行語句3後,在判斷迴圈條件,進行下一次迴圈。

三. pta分數截圖

四. pta題目分析

題目一:

首先:1.看到這種題目首先看到題目就會知道這是乙個迴圈的問題,求前n項和。2.看到輸入格式條件後知道要輸入乙個變數。3.再看到輸出格式後知道輸出標準和後面有精度要求,就知道要用到float或double定義要有位數要求,也就想到要怎麼表達。

最後:然後用自己所學知識分析該如何做這個題目。我想到的是從後面到前面加,輸入變數用n,用乙個變數m=n*2-1,當n=2時就是兩項就是m的值,這樣可以知道第n位的分母,然後分母減2,一直到1,先乙個迴圈,用double的變數sum算值,因為輸出要double,所以一開始其他變數我也定義為double。下面是我的**。(經供參考)

#include int main()

printf("sum = %.6f",s);

return 0;

}

題目二:

首先:1.看到題目講到三個整數,那就會要三個int的變數,然後比大小,我腦海就想到if else來比較。2.再去看輸入格式和輸出格式,輸出需要有->這個符號就要記住,然後就是簡單的三個數值用if else 比大小了。

最後:分析自己該怎麼寫**,比較a和b,大的話就在比較b和c,大的話,那就是cba了,再按格式輸出,小的話就再判斷a與c,大的話bca,小的話就是bac,另一種情況也是如此就好了。下面是我的**。(經供參考)

#include int main()

else else

}}else else else

}

} return 0;

}

題目三:

首先:1.看題目求奇數和,那就想到怎麼判斷是否是奇數。2.在看輸入格式,以0和負數結束,那就要寫個迴圈判斷讀入資料並判斷是否是奇數,並加起來。3.在看輸出格式,沒什麼要點,然後就在腦海裡想好怎麼寫。

最後:在腦海裡想好怎麼寫。1.定義變數a用來乙個個讀入資料,sum來統計奇數和,一開始要定義sum=0,不然sum會被系統分配不確定的值,答案就會不對。2.然後先讀入乙個資料,然後進去迴圈判斷是否是0或負數,不是在判斷是否是奇數,是就加到sum,不是就再讀入乙個資料,再去判斷,最後得出結果。下面是我的**。(經供參考)

#include int main()

scanf ("%d",&a);

}printf ("%d",sum);

return 0;

}

c語言知識

一 的使用 1 在scanf中使用,則新增了 的部分會被忽略 跳過 不會被引數獲取。例如 int a,b char b 10 scanf d s a,b 輸入為 12 abc 那麼12將會讀取到變數a中,但是後面的abc將在讀取之後拋棄,不賦予任何變數 例如這裡的字元陣列b 用 和掃瞄集配合,可以從...

C語言知識

轉義字元 注意以下幾種轉義字元 r回車 不換行 v垂直製表 b退格 ddd 1到3位八進位制ascii碼值代表的字元 xhh 1到2位十六進製制ascii碼值所代表的字元 所以要注意,後兩個的長度是1而不是3,因為他們代表乙個字元。三元運算子 max a b a b 這個運算子的意思就是,a與b進行...

C語言 小知識

1.表示式的求值 初始值 x 1,y 1 z 1 求 x y z 答 從左到右順序依次求值,1 true 注意 因為 操作符的左運算元是true,所以沒有必要求值了.事實上c語言肯定不會繼續求值 有關規則,在按從左到右的順序對乙個邏輯表示式求值的時候,只要知道了它的實際結果,就不會對其餘部分求值.這...