c++基礎(chǔ)筆記(一)

1.關(guān)于命名空間的問題
真正的開發(fā)過程中, 盡量避免使用 using namespace std; 等直接引入整個命名空間,否則會因為命名空間污染導(dǎo)致很多不必要的問題, 比如自己寫的某個函數(shù)熄守,名稱正好和 std 中的一樣, 編譯器會不知道使用哪一個晋南, 引起編譯報錯偶妖, 建議使用:
std::cout << "Hello World" << std::endl;

2.關(guān)于頭文件引用問題
<> 先去系統(tǒng)目錄中找頭文件玩祟,如果沒有在到當(dāng)前目錄下找藏鹊。所以像標(biāo)準(zhǔn)的頭文件 stdio.h、stdlib.h 等用這個方法。
" " 首先在當(dāng)前目錄下尋找影涉,如果找不到蟹倾,再到系統(tǒng)目錄中尋找。 這個用于 include 自定義的頭文件,讓系統(tǒng)優(yōu)先使用當(dāng)前目錄中定義的。

3.c++簡介
C++ 是一種靜態(tài)類型的里逆、編譯式的偎血、通用的笨农、大小寫敏感的竭宰、不規(guī)則的編程語言廓旬,支持過程化編程、面向?qū)ο缶幊毯头盒途幊獭?br> 注意:使用靜態(tài)類型的編程語言是在編譯時執(zhí)行類型檢查,而不是在運行時執(zhí)行類型檢查。

4.c++幾大特征
繼承,封裝杖狼,多態(tài),抽象

5.c++的三個重要部分
標(biāo)準(zhǔn)的 C++ 由三個重要部分組成:
核心語言绿聘,提供了所有構(gòu)件塊彼念,包括變量洼畅、數(shù)據(jù)類型和常量,等等。
C++ 標(biāo)準(zhǔn)庫闪湾,提供了大量的函數(shù),用于操作文件绩卤、字符串等途样。
標(biāo)準(zhǔn)模板庫(STL),提供了大量的方法濒憋,用于操作數(shù)據(jù)結(jié)構(gòu)等何暇。

6.gcc,g++ 在Mac上的獲取方式

Mac OS X 上的安裝

如果您使用的是 Mac OS X,最快捷的獲取 GCC 的方法是從蘋果的網(wǎng)站上下載 Xcode 開發(fā)環(huán)境,并按照安裝說明進(jìn)行安裝。一旦安裝上 Xcode,您就能使用 GNU 編譯器蛙婴。
Xcode 目前可從 developer.apple.com/technologies/tools/ 上下載醉冤。

7.g++編譯可執(zhí)行文件
g++ -o name name.cpp
g++ -std=c++11 -o name name.cpp

8.c++關(guān)鍵字

C++ 關(guān)鍵字

| asm | else | new | this | auto | enum | operator | throw | bool | explicit | private | true |
| break | export | protected | try | case | extern | public | typedef | catch | false | register | typeid | char | float | reinterpret_cast | typename | class | for | return | union |
| const | friend | short | unsigned | const_cast | goto | signed | using | continue | if | sizeof | virtual | default | inline | static | void | delete | int | static_cast | volatile | do | long | struct | wchar_t | double | mutable | switch | while | dynamic_cast | namespace | template | |
完整關(guān)鍵字介紹可查閱:C++ 的關(guān)鍵字(保留字)完整介紹

9.關(guān)于返回值
main 函數(shù)的返回值是返回給主調(diào)進(jìn)程,使主調(diào)進(jìn)程得知被調(diào)用程序的運行結(jié)果濒析。
標(biāo)準(zhǔn)規(guī)范中規(guī)定 main 函數(shù)的返回值為 int旨怠,一般約定返回 0 值時代表程序運行無錯誤厨内,其它值均為錯誤號,但該約定并非強制。
如果程序的運行結(jié)果不需要返回給主調(diào)進(jìn)程戴差,或程序開發(fā)人員確認(rèn)該狀態(tài)并不重要帖烘,比如所有出錯信息均在程序中有明確提示的情況下氏义,可以不寫 main 函數(shù)的返回值晒哄。在一些檢查不是很嚴(yán)格的編譯器中,比如 VC, VS 等喇喉,void 類型的 main 是允許的毅访。不過在一些檢查嚴(yán)格的編譯器下,比如 g++, 則要求 main 函數(shù)的返回值必須為 int 型从撼。
所以在編程時,區(qū)分程序運行結(jié)果并以 int 型返回钧栖,是一個良好的編程習(xí)慣低零。

  1. 注釋

if 后可以是任意的條件語句。

下面的代碼如果 condition 條件為 tre 執(zhí)行 code1 拯杠,否則執(zhí)行 code2掏婶。

if condition

code1

else

code2

endif

11.類型


image.png

12.typedef


image.png

typedef 可以聲明各種類型名,但不能用來定義變量潭陪。用 typedef 可以聲明數(shù)組類型雄妥、字符串類型最蕾,使用比較方便。
用typedef只是對已經(jīng)存在的類型增加一個類型名老厌,而沒有創(chuàng)造新的類型瘟则。
當(dāng)在不同源文件中用到同一類型數(shù)據(jù)(尤其是像數(shù)組、指針枝秤、結(jié)構(gòu)體醋拧、共用體等類型數(shù)據(jù))時,常用 typedef 聲明一些數(shù)據(jù)類型淀弹,把它們單獨放在一個頭文件中丹壕,然后在需要用到它們的文件中用 #include 命令把它們包含進(jìn)來,以提高編程效率薇溃。
使用 typedef 有利于程序的通用與移植雀费。有時程序會依賴于硬件特性,用 typedef 便于移植

typedef unsigned int size_t;

13.枚舉類型

include <iostream>

using namespace std;
int main()
{
enum Weekend{Zero,One,Two,Three,Four};
int a,b,c,d,e;
a=Zero;
b=One;
c=Two;
d=Three;
e=Four;
cout<<a<<","<<b<<","<<c<<","<<d<<","<<e<<endl;
return 0;
}

14.extern 變量聲明
變量聲明向編譯器保證變量以給定的類型和名稱存在痊焊,這樣編譯器在不需要知道變量完整細(xì)節(jié)的情況下也能繼續(xù)進(jìn)一步的編譯盏袄。變量聲明只在編譯時有它的意義,在程序連接時編譯器需要實際的變量聲明薄啥。
當(dāng)您使用多個文件且只在其中一個文件中定義變量時(定義變量的文件在程序連接時是可用的)辕羽,變量聲明就顯得非常有用。您可以使用 extern 關(guān)鍵字在任何地方聲明一個變量垄惧。雖然您可以在 C++ 程序中多次聲明一個變量刁愿,但變量只能在某個文件、函數(shù)或代碼塊中被定義一次到逊。

15.類型轉(zhuǎn)換
變量的類型間是可以互相轉(zhuǎn)換的铣口,轉(zhuǎn)換又分為自動轉(zhuǎn)換和強制轉(zhuǎn)換。
自動轉(zhuǎn)換規(guī)則:
1觉壶、若參與運算量的類型不同脑题,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運算铜靶。
2叔遂、轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進(jìn)行,以保證精度不降低争剿。如int型和long型運算時已艰,先把int量轉(zhuǎn)成long型后再進(jìn)行運算。 a蚕苇、若兩種類型的字節(jié)數(shù)不同哩掺,轉(zhuǎn)換成字節(jié)數(shù)高的類型 b、若兩種類型的字節(jié)數(shù)相同涩笤,且一種有符號嚼吞,一種無符號幔嫂,則轉(zhuǎn)換成無符號類型
3、所有的浮點運算都是以雙精度進(jìn)行的誊薄,即使僅含float單精度量運算的表達(dá)式,也要先轉(zhuǎn)換成double型锰茉,再作運算呢蔫。
4、char型和short型參與運算時飒筑,必須先轉(zhuǎn)換成int型片吊。
5、在賦值運算中协屡,賦值號兩邊量的數(shù)據(jù)類型不同時俏脊,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型。如果右邊量的數(shù)據(jù)類型長度比左邊長時肤晓,將丟失一部分?jǐn)?shù)據(jù)爷贫,這樣會降低精度:

16.變量作用域與初始化
當(dāng)局部變量被定義時,系統(tǒng)不會對其初始化补憾,您必須自行對其初始化漫萄。定義全局變量時,系統(tǒng)會自動初始化為下列值:
數(shù)據(jù)類型 初始化默認(rèn)值
int 0
char '\0'
float 0
double 0
pointer NULL
當(dāng)變量間出現(xiàn)重名的情況下盈匾,作用域小的屏蔽作用域大的腾务,所以上面第一個 cout 輸出 b 的值為 1,但由于在塊里面申請的變量作用域只限于當(dāng)前塊削饵,所以離開這個塊后變量會自動釋放岩瘦,所以第二個 cout 輸出 b 的值為 2。

全局變量的值能被局部重新賦值窿撬。

17.常量
85 // 十進(jìn)制
0213 // 八進(jìn)制
0x4b // 十六進(jìn)制
30 // 整數(shù)
30u // 無符號整數(shù)
30l // 長整數(shù)
30ul // 無符號長整數(shù)

布爾常量共有兩個启昧,它們都是標(biāo)準(zhǔn)的 C++ 關(guān)鍵字:
true 值代表真。
false 值代表假劈伴。

define identifier value

const type variable = value;
請注意箫津,把常量定義為大寫字母形式,是一個很好的編程實踐宰啦。

18.修飾符
修飾符 signed苏遥、unsigned、long 和 short 可應(yīng)用于整型赡模,signed 和 unsigned 可應(yīng)用于字符型田炭,long 可應(yīng)用于雙精度型。
修飾符 signed 和 unsigned 也可以作為 long 或 short 修飾符的前綴漓柑。例如:unsigned long int教硫。
C++ 允許使用速記符號來聲明無符號短整數(shù)或無符號長整數(shù)叨吮。您可以不寫 int,只寫單詞 unsigned瞬矩、short 或 unsigned茶鉴、long,int 是隱含的景用。例如涵叮,下面的兩個語句都聲明了無符號整型變量。

19.限定修飾符


image.png

20.explict


image.png

21.存儲類
auto伞插,extern割粮,static,mutable

22.函數(shù)


image.png

23.lamda表達(dá)式


image.png

例子:http://www.runoob.com/cplusplus/cpp-functions.html

24.數(shù)學(xué)符號


image.png

25.隨機函數(shù)


image.png

26.字符串


image.png

image.png

27.指針
http://www.runoob.com/cplusplus/cpp-pointers.html

28.引用


image.png
image.png

29.日期函數(shù)


image.png

30.輸入輸出
http://www.runoob.com/cplusplus/cpp-basic-input-output.html

image.png

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末媚污,一起剝皮案震驚了整個濱河市舀瓢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌耗美,老刑警劉巖京髓,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異商架,居然都是意外死亡朵锣,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進(jìn)店門甸私,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诚些,“玉大人,你說我怎么就攤上這事皇型∥芘耄” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵弃鸦,是天一觀的道長绞吁。 經(jīng)常有香客問我,道長唬格,這世上最難降的妖魔是什么家破? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮购岗,結(jié)果婚禮上汰聋,老公的妹妹穿的比我還像新娘。我一直安慰自己喊积,他們只是感情好烹困,可當(dāng)我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乾吻,像睡著了一般髓梅。 火紅的嫁衣襯著肌膚如雪拟蜻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天枯饿,我揣著相機與錄音酝锅,去河邊找鬼。 笑死奢方,一個胖子當(dāng)著我的面吹牛搔扁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播袱巨,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碳抄!你這毒婦竟也來了愉老?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤剖效,失蹤者是張志新(化名)和其女友劉穎嫉入,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體璧尸,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡咒林,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了爷光。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片垫竞。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蛀序,靈堂內(nèi)的尸體忽然破棺而出欢瞪,到底是詐尸還是另有隱情,我是刑警寧澤徐裸,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布遣鼓,位于F島的核電站,受9級特大地震影響重贺,放射性物質(zhì)發(fā)生泄漏骑祟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一气笙、第九天 我趴在偏房一處隱蔽的房頂上張望次企。 院中可真熱鬧,春花似錦潜圃、人聲如沸抒巢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉谜。三九已至稚晚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間型诚,已是汗流浹背客燕。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狰贯,地道東北人也搓。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像涵紊,于是被迫代替她去往敵國和親傍妒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容