日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

干货 | C语言系列3——常量,运算符,常用数学函数......

發(fā)布時(shí)間:2023/12/2 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货 | C语言系列3——常量,运算符,常用数学函数...... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

符號(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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。