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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........

發(fā)布時間:2025/4/16 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数......... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本期總結(jié)

1、符號常量和const常量;

2、運算符;

3、輸入與輸出;

4、常用數(shù)學(xué)函數(shù)。

往期回顧

干貨 | C語言系列1——編程軟件與做題平臺

干貨 | C語言系列2——程序結(jié)構(gòu)與變量

符號常量和const常量

1.符號常量

????符號常量通俗來講就是“替換”,又稱為宏定義。格式如下:

????#define 標(biāo)識符 常量

????宏定義可以定義單個變量為常量,也可以定義某個語句或片段。

????宏定義有一點需要特別注意,它只是“機械”替換,并不會自己加括號哦,比如:

#define x b-2? ? #宏定義(沒有分號 ; )

...

y = x*3;? ?#求y

????此時,結(jié)果是:y = b-2*3,而不是我們想看到的y = (b-2)*3!!!

2.const常量

const ?變量類型? 變量名 = 常量;

????這兩種寫法被稱為常量,是因為它們一旦定義,就不能改變該變量的值。在定義單個變量為常量時,推薦使用const。

運算符

????常用的運算符有算術(shù)運算符,關(guān)系運算符,邏輯運算符,條件運算符,位運算符等等。

1.算術(shù)運算符

????+,-,*都直接用,沒有什么特殊說明;

????/需要注意,若兩個數(shù)均為int型,相除后結(jié)果會自動向下取整,若要有小數(shù)部分,則需要強制轉(zhuǎn)化類型為float或double(因為double精度較高,所以推薦double);

????%為取模運算,在需要區(qū)分開個位十位百位等各個位的數(shù)字時,常用;

????++自增,--自減;

????自增自減寫法有兩種:

????i++/++i? ? ? ?i--/--i

????區(qū)別在于第一種是先使用i再加(減)1,第二種是先加(減)1再使用i。

????y = y+3等價于y += 3;

????其他算術(shù)運算符類似。

2.關(guān)系運算符

????常用的有,<=,>=,==,!=。特別要注意==,一個=是賦值。這種在判斷語句中很容易出錯,比如:

if(y = 2)? ...

????在這個語句中,應(yīng)該寫==,這種情況編譯器不會報錯,自己也較難發(fā)現(xiàn)這種錯誤。在編程中,很多人為了避免這個錯誤發(fā)生,會這樣寫:

if(2 == y)? ...

????將常量寫在前,如果少寫一個=,編譯器就會報錯。

3.邏輯運算符

????&&, ||, !分別對應(yīng)與,或,非

????一定要記得是兩個&,兩個|,否則會變成位運算!

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語言中必不可少的輸入輸出函數(shù)scanf與printf,在頭文件stdio.h中,這也是C語言中最為基礎(chǔ)的。在這里,我主要總結(jié)一些需要注意的點。

1.scanf

scanf("格式", 變量地址)

????不同的數(shù)據(jù)類型對應(yīng)不同的格式,如下:

????可以看出,數(shù)組名沒有取地址符&,因為數(shù)組名本身就是那個數(shù)組的首地址。其他輸入變量的情況,不能漏掉&;

????scanf除了對于%c,其他格式都以空格,回車等作為結(jié)束標(biāo)志,而%c可以取到空格,換行,因此,getchar( )和putchar( )在這種情況下可以使用,當(dāng)你想拋掉空格,換行符,或者拋掉某個不要的字符,可以直接用getchar( ),不給相應(yīng)的變量即可。putchar( )是輸出某個字符。

2.printf

printf("格式", 變量名)

????可以看出,double類型在輸入時格式為%lf,在輸出時格式為%f,雖然在一些編譯器中輸出為%lf也沒錯,但最好還是按照標(biāo)準(zhǔn)來。

????還有3種實用的輸出格式:

(1)%md

????不足m位的變量以m位右對齊輸出,前面補空格,若超過m位,則保持原樣。

(2)%0md

????不足m位的變量以m位右對齊輸出,前面補0,若超過m位,則保持原樣。

(3)%.mf

????保留m位小數(shù)。這里的保留使用的規(guī)則是“四舍六入五成雙”,若要“四舍五入”,則需要用round( )函數(shù)。

常用數(shù)學(xué)函數(shù)

1.round(double x)

????該函數(shù)為對double型變量進行四舍五入的函數(shù),返回類型也是double型,若需要輸出整數(shù),最終結(jié)果需進行取整,即強制類型轉(zhuǎn)換。

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型變量的算術(shù)平方根。

5.log(double x)

????返回double變量以自然對數(shù)為底的對數(shù)。若要求自然對數(shù)以外的底的對數(shù),需要用換底公式:

參考資料:《算法筆記》

先把基礎(chǔ)夯實

再大步向前走吧

趙姐的小屋,

等你關(guān)注~

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的c++宏定义常量为什么使用移位_干货 | C语言系列3——常量,运算符,常用数学函数.........的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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