干货 | C语言系列3——常量,运算符,常用数学函数......
符號(hào)常量和const常量
1.符號(hào)常量
????符號(hào)常量通俗來(lái)講就是“替換”,又稱為宏定義。格式如下:
????#define 標(biāo)識(shí)符 常量
????宏定義可以定義單個(gè)變量為常量,也可以定義某個(gè)語(yǔ)句或片段。
????宏定義有一點(diǎn)需要特別注意,它只是“機(jī)械”替換,并不會(huì)自己加括號(hào)哦,比如:
#define x b-2? ? #宏定義(沒(méi)有分號(hào) ; )
...
y = x*3;? ?#求y
????此時(shí),結(jié)果是:y = b-2*3,而不是我們想看到的y = (b-2)*3!!!
2.const常量
const ?變量類型? 變量名 = 常量;
????這兩種寫法被稱為常量,是因?yàn)樗鼈円坏┒x,就不能改變?cè)撟兞康闹怠T诙x單個(gè)變量為常量時(shí),推薦使用const。
運(yùn)算符
????常用的運(yùn)算符有算術(shù)運(yùn)算符,關(guān)系運(yùn)算符,邏輯運(yùn)算符,條件運(yùn)算符,位運(yùn)算符等等。
1.算術(shù)運(yùn)算符
???? ,-,*都直接用,沒(méi)有什么特殊說(shuō)明;
????/需要注意,若兩個(gè)數(shù)均為int型,相除后結(jié)果會(huì)自動(dòng)向下取整,若要有小數(shù)部分,則需要強(qiáng)制轉(zhuǎn)化類型為float或double(因?yàn)閐ouble精度較高,所以推薦double);
????%為取模運(yùn)算,在需要區(qū)分開個(gè)位十位百位等各個(gè)位的數(shù)字時(shí),常用;
???? 自增,--自減;
????自增自減寫法有兩種:
????i / i? ? ? ?i--/--i
????區(qū)別在于第一種是先使用i再加(減)1,第二種是先加(減)1再使用i。
????y = y 3等價(jià)于y = 3;
????其他算術(shù)運(yùn)算符類似。
2.關(guān)系運(yùn)算符
????常用的有<,>,<=,>=,==,!=。特別要注意==,一個(gè)=是賦值。這種在判斷語(yǔ)句中很容易出錯(cuò),比如:
if(y = 2)? ...
????在這個(gè)語(yǔ)句中,應(yīng)該寫==,這種情況編譯器不會(huì)報(bào)錯(cuò),自己也較難發(fā)現(xiàn)這種錯(cuò)誤。在編程中,很多人為了避免這個(gè)錯(cuò)誤發(fā)生,會(huì)這樣寫:
if(2 == y)? ...
????將常量寫在前,如果少寫一個(gè)=,編譯器就會(huì)報(bào)錯(cuò)。
3.邏輯運(yùn)算符
????&&, ||, !分別對(duì)應(yīng)與,或,非
????一定要記得是兩個(gè)&,兩個(gè)|,否則會(huì)變成位運(yùn)算!
4.條件運(yùn)算符
????是C語(yǔ)言中唯一的三目運(yùn)算符,格式如下:
a ? b : c
????若a為真,則取b,否則,取c。
例:
int a = 3, b = 5,? c = 7, d = 9
int e = a>b ? c : d;
此時(shí),a>b為假,所以e = d,即9。
5.位運(yùn)算符
輸入/輸出
????C語(yǔ)言中必不可少的輸入輸出函數(shù)scanf與printf,在頭文件stdio.h中,這也是C語(yǔ)言中最為基礎(chǔ)的。在這里,我主要總結(jié)一些需要注意的點(diǎn)。
1.scanf
scanf("格式", 變量地址)
????不同的數(shù)據(jù)類型對(duì)應(yīng)不同的格式,如下:
????
????可以看出,數(shù)組名沒(méi)有取地址符&,因?yàn)閿?shù)組名本身就是那個(gè)數(shù)組的首地址。其他輸入變量的情況,不能漏掉&;
????scanf除了對(duì)于%c,其他格式都以空格,回車等作為結(jié)束標(biāo)志,而%c可以取到空格,換行,因此,getchar( )和putchar( )在這種情況下可以使用,當(dāng)你想拋掉空格,換行符,或者拋掉某個(gè)不要的字符,可以直接用getchar( ),不給相應(yīng)的變量即可。putchar( )是輸出某個(gè)字符。
2.printf
printf("格式", 變量名)
????可以看出,double類型在輸入時(shí)格式為%lf,在輸出時(shí)格式為%f,雖然在一些編譯器中輸出為%lf也沒(méi)錯(cuò),但最好還是按照標(biāo)準(zhǔn)來(lái)。
????還有3種實(shí)用的輸出格式:
(1)%md
????不足m位的變量以m位右對(duì)齊輸出,前面補(bǔ)空格,若超過(guò)m位,則保持原樣。
(2)%0md
????不足m位的變量以m位右對(duì)齊輸出,前面補(bǔ)0,若超過(guò)m位,則保持原樣。
(3)%.mf
????保留m位小數(shù)。這里的保留使用的規(guī)則是“四舍六入五成雙”,若要“四舍五入”,則需要用round( )函數(shù)。
常用數(shù)學(xué)函數(shù)
1.round(double x)
????該函數(shù)為對(duì)double型變量進(jìn)行四舍五入的函數(shù),返回類型也是double型,若需要輸出整數(shù),最終結(jié)果需進(jìn)行取整,即強(qiáng)制類型轉(zhuǎn)換。
2.floor(double x)和ceil(double x)
????分別對(duì)double型變量進(jìn)行向下取整和向上取整。
3.pow(double x, double y)
????求x的y次方。一定要注意x, y都為double型。可以這樣寫:
z = pow(2.0, 3.0)
4.sqrt(double x)
????將x開方,返回double型變量的算術(shù)平方根。
5.log(double x)
????返回double變量以自然對(duì)數(shù)為底的對(duì)數(shù)。若要求自然對(duì)數(shù)以外的底的對(duì)數(shù),需要用換底公式:
聲明:
本文于網(wǎng)絡(luò)整理,版權(quán)歸原作者所有,如來(lái)源信息有誤或侵犯權(quán)益,請(qǐng)聯(lián)系我們刪除或授權(quán)事宜。
總結(jié)
以上是生活随笔為你收集整理的干货 | C语言系列3——常量,运算符,常用数学函数......的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 知名“废柴”表情包柴犬 Balltze
- 下一篇: 嵌入式C语言的7个硬核知识