c語言學習小結

2021-09-27 19:27:28 字數 3520 閱讀 6781

#include /*呼叫標頭檔案*/

int main () /*宣告主函式*/

ps:

小結

1.選擇需要的型別。

2.使用有效的字元給變數起乙個變數名。

3.按以下格式進行宣告:

型別說明符1.scanf函式和printf函式

之所以將這兩個函式放在一起是因為它們分別是輸入/輸出函式,也就是i/o函式,關係較為緊密。

scanf("轉換說明",&對應的變數名);
printf(格式字串,各待列印項);
需注意,scanf函式在對應的變數名前加「&」即表示讀取基本變數型別的值,如果不加「&」則表示把字串讀入字元陣列中。

而printf函式如果只列印短語或句子,則只需要字串即可。

例如:

#include int main ()

這段**如果你輸入 18 4000 皮皮(注意空格)

那麼程式就會輸出:

18

4000.00

皮皮

轉換說明

輸出%a

浮點數、十六進製制數、p記數法

%a浮點數、十六進製制數、p記數法

%c單個字元(char)

%d有符號十進位制整數(int)

%e浮點數、e記數法

%e浮點數、e記數法

%f單精度浮點數(float)、十進位制記數法

%lf雙精度浮點數(double)

%.nf

十進位制記數法,其中n表示精確到小數字後n位.

%g根據值的不同,自動選擇%f或%e,%e格式用於指數小於-4或者大於等於精度時

%g根據值的不同,自動選擇%f或%e,%e格式用於指數小於-4或者大於等於精度時

%i有符號十進位制整數(與%d相同)

%o無符號八進位制整數

%p指標

%s字串

%u無符號十進位制整數(unsigned int)

%x無符號十六進製制整數

%x無符號十六進製制整數

%%列印乙個%

修飾符含義-

待列印項左對齊。即,從字段的左側開始列印該項項。例如:「%-20s」

+有符號值若為正,則在值前面顯示加號;若為負,則在值前面顯示減號。例如:「%+6.2f」

空格輸出的數字若為正,則保留空格,否則將負號代替空格。

#將結果轉化為另外一種格式,比如列印八進位制或十六進製制為其新增各自的字首,如八進位制的字首是0,十六進製制的字首是0x或0x;

0對於數值格式,用前導0代替空格填充字段寬度。若是整數格式,出現了-格式或指定精度,則忽略該標記

數字如果輸出數字的寬度小於限定的寬度,則左邊補空格;如果大於限定的寬度,則系統會自動用更寬的字段,即左邊只輸出該數字。

.數字.後面的數字代表該數字小數點後面的位數,若限定的位數大於該數的小數點位數,則添0來達到限定的位數

轉換說明

含義%c

把輸入解釋成字元

%d把輸入解釋成有符號十進位制整數

%e、%f、%g、%a、%e、%f、%g、%a

把輸入解釋成浮點數

%i把輸入解釋成有符號十進位制整數

%o把輸入解釋成有符號八進位制整數

%p把輸入解釋成指標

%s吧輸入解釋成字串

%u把輸入解釋成無符號十進位制整數

%x、%x

把輸入解釋成有符號十六進製制整數

~找了張圖,實在打不動了~

2.if語句

if(表示式)一條語句

或if(表示式)

程式在執行時會先判斷if後面的括號內的內容為真還是為假,為真則會執行if後的語句,為假則會跳過該if後的語句,注意如果給if後填乙個變數如if(x),則如果x為0則為假,如果x不為0則為真,即使x是負數。

if(表示式)

語句塊1;

else

語句塊2;

這個語句簡單理解就是如果if後的表示式判斷為真則執行語句塊1;否則(即為假)就執行else後的語句塊2。

if(表示式1)語句1

else if(表示式2)語句2

else if(表示式3)語句3

......

else if(表示式n)語句n

else 語句m

執行流程:首先對if後的表示式1進行判斷,為真則執行語句1,為假則繼續判斷表示式2,為真執行語句2,為假則繼續判斷表示式3,以此類推。

3.switch語句

switch(表示式)

執行流程:對switch後的表示式進行判斷,執行符合的case情況,如果沒有符合條件的情況,那就執行default後的預設情況語句。

需注意:switch語句檢驗的條件必須是乙個整形表示式,而case語句檢驗的值必須是整型常量。

switch(表示式)

如果在case2後不使用break語句跳出,那麼符合檢驗時與符合case3檢驗時的效果是一樣的。

也就是說,使用多路開關模式使得多種檢驗條件使用同一條解決方式。

4.while語句

while(表示式)語句

或while(表示式)

執行流程:while語句先判斷表示式為真還是為假,為真則會執行while後的語句或語句塊,每執行完一次,程式都將重新對while後的表示式進行判斷;如果一開始判斷為假,則跳過迴圈體中的語句,直接執行後面的程式**。所以如果你打乙個while(1),則該語句會一直判斷為真,進而執行無數次,這樣的迴圈語句被稱為死迴圈或無限迴圈。

do

迴圈體語句

while(表示式);

do…while語句的特點在於執行流程的細微變化,該語句會先執行一次迴圈體語句,然後再對while後的表示式進行判斷,為真則再次執行,為假則跳過,所以該語句無論表示式為真還是為假,都至少會執行一遍迴圈體的語句內容。

5.for語句

for(表示式1;表示式2;表示式3;)

執行流程:

1.求解表示式1。

2.求解表示式2,若其值為真,則執行for語句中的迴圈體語句,然後執行步驟3;若為假,則結束迴圈,轉到步驟5.

3.求解表示式3。

4.回到步驟2,再次執行。

5.迴圈結束,執行下一段程式**。

上面的幾個基本函式/語句中if語句,while語句,for語句都可以進行語句的巢狀,具體的巢狀技巧用文字表達不但費力而且效果甚微,建議讀者自己找幾個巢狀的**自己除錯看看,知行合一,在實踐中去掌握那些技巧。

C語言學習小結

這學期學了c語言,對c語言有了乙個簡單的了解與初步的認識。首先從程式結構的使用與學習開始學起,到後來陣列 函式的初步了解,能夠開始解決一些簡單的c語言問題,但是要想深入解決一些難題,還要等到下學期學習演算法及函式 指標的深入才能做到得心應手。這學期只是認識階段,下學期的任務很重,c語言的學習道路才剛...

C語言學習小結

這學期學了c語言,對c語言有了乙個簡單的了解與初步的認識。首先從程式結構的使用與學習開始學起,到後來陣列 函式的初步了解,能夠開始解決一些簡單的c語言問題,但是要想深入解決一些難題,還要等到下學期學習演算法及函式 指標的深入才能做到得心應手。這學期只是認識階段,下學期的任務很重,c語言的學習道路才剛...

C語言學習小結1

1.strcpy和strcat的區別是什麼?解答 strcpy是將src內容直接給des的位址,屬於覆蓋內容,並且它不僅複製字串內容之外,還會複製字串的結束符 strcat則是將src內容銜接在des之後,佔據了 n 附註 strcpy和memcpy區別 1 複製的內容不同。strcpy只能複製字串...