本期總結
1、符号常量和const常量;
2、運算符;
3、輸入與輸出;
4、常用數學函數。
往期回顧
幹貨 | C語言系列1——程式設計軟體與做題平台
幹貨 | C語言系列2——程式結構與變量
符号常量和const常量
1.符号常量
符号常量通俗來講就是“替換”,又稱為宏定義。格式如下:
#define 辨別符 常量
宏定義可以定義單個變量為常量,也可以定義某個語句或片段。
宏定義有一點需要特别注意,它隻是“機械”替換,并不會自己加括号哦,比如:
#define x b-2 #宏定義(沒有分号 ; )
...
y = x*3; #求y
此時,結果是:y = b-2*3,而不是我們想看到的y = (b-2)*3!!!
2.const常量
const 變量類型 變量名 = 常量;
這兩種寫法被稱為常量,是因為它們一旦定義,就不能改變該變量的值。在定義單個變量為常量時,推薦使用const。
運算符
常用的運算符有算術運算符,關系運算符,邏輯運算符,條件運算符,位運算符等等。
1.算術運算符
+,-,*都直接用,沒有什麼特殊說明;
/需要注意,若兩個數均為int型,相除後結果會自動向下取整,若要有小數部分,則需要強制轉化類型為float或double(因為double精度較高,是以推薦double);
%為取模運算,在需要區分開個位十位百位等各個位的數字時,常用;
++自增,--自減;
自增自減寫法有兩種:
i++/++i i--/--i
差別在于第一種是先使用i再加(減)1,第二種是先加(減)1再使用i。
y = y+3等價于y += 3;
其他算術運算符類似。
2.關系運算符
常用的有,<=,>=,==,!=。特别要注意==,一個=是指派。這種在判斷語句中很容易出錯,比如:
if(y = 2) ...
在這個語句中,應該寫==,這種情況編譯器不會報錯,自己也較難發現這種錯誤。在程式設計中,很多人為了避免這個錯誤發生,會這樣寫:
if(2 == y) ...
将常量寫在前,如果少寫一個=,編譯器就會報錯。
3.邏輯運算符
&&, ||, !分别對應與,或,非
一定要記得是兩個&,兩個|,否則會變成位運算!
4.條件運算符
是C語言中唯一的三目運算符,格式如下:
a ? b : c
若a為真,則取b,否則,取c。
例:
int a = 3, b = 5, c = 7, d = 9
int e = a>b ? c : d;
此時,a>b為假,是以e = d,即9。
5.位運算符
輸入/輸出
C語言中必不可少的輸入輸出函數scanf與printf,在頭檔案stdio.h中,這也是C語言中最為基礎的。在這裡,我主要總結一些需要注意的點。
1.scanf
scanf("格式", 變量位址)
不同的資料類型對應不同的格式,如下:
可以看出,數組名沒有取位址符&,因為數組名本身就是那個數組的首位址。其他輸入變量的情況,不能漏掉&;
scanf除了對于%c,其他格式都以空格,回車等作為結束标志,而%c可以取到空格,換行,是以,getchar( )和putchar( )在這種情況下可以使用,當你想抛掉空格,換行符,或者抛掉某個不要的字元,可以直接用getchar( ),不給相應的變量即可。putchar( )是輸出某個字元。
2.printf
printf("格式", 變量名)
可以看出,double類型在輸入時格式為%lf,在輸出時格式為%f,雖然在一些編譯器中輸出為%lf也沒錯,但最好還是按照标準來。
還有3種實用的輸出格式:
(1)%md
不足m位的變量以m位右對齊輸出,前面補空格,若超過m位,則保持原樣。
(2)%0md
不足m位的變量以m位右對齊輸出,前面補0,若超過m位,則保持原樣。
(3)%.mf
保留m位小數。這裡的保留使用的規則是“四舍六入五成雙”,若要“四舍五入”,則需要用round( )函數。
常用數學函數
1.round(double x)
該函數為對double型變量進行四舍五入的函數,傳回類型也是double型,若需要輸出整數,最終結果需進行取整,即強制類型轉換。
2.floor(double x)和ceil(double x)
分别對double型變量進行向下取整和向上取整。
3.pow(double x, double y)
求x的y次方。一定要注意x, y都為double型。可以這樣寫:
z = pow(2.0, 3.0)
4.sqrt(double x)
将x開方,傳回double型變量的算術平方根。
5.log(double x)
傳回double變量以自然對數為底的對數。若要求自然對數以外的底的對數,需要用換底公式:
參考資料:《算法筆記》
先把基礎夯實
再大步向前走吧
趙姐的小屋,
等你關注~