![2022年CPrimer標(biāo)準(zhǔn)C寶典學(xué)習(xí)筆記_第1頁(yè)](http://file4.renrendoc.com/view/6ede8bec7c99996faec18d40475a3994/6ede8bec7c99996faec18d40475a39941.gif)
![2022年CPrimer標(biāo)準(zhǔn)C寶典學(xué)習(xí)筆記_第2頁(yè)](http://file4.renrendoc.com/view/6ede8bec7c99996faec18d40475a3994/6ede8bec7c99996faec18d40475a39942.gif)
![2022年CPrimer標(biāo)準(zhǔn)C寶典學(xué)習(xí)筆記_第3頁(yè)](http://file4.renrendoc.com/view/6ede8bec7c99996faec18d40475a3994/6ede8bec7c99996faec18d40475a39943.gif)
![2022年CPrimer標(biāo)準(zhǔn)C寶典學(xué)習(xí)筆記_第4頁(yè)](http://file4.renrendoc.com/view/6ede8bec7c99996faec18d40475a3994/6ede8bec7c99996faec18d40475a39944.gif)
![2022年CPrimer標(biāo)準(zhǔn)C寶典學(xué)習(xí)筆記_第5頁(yè)](http://file4.renrendoc.com/view/6ede8bec7c99996faec18d40475a3994/6ede8bec7c99996faec18d40475a39945.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一,字面值 1,字面值分類(lèi) 整形字面值: 20,076, 0X14 浮點(diǎn)字面值: 128u, 1L 布爾字面值和字符字面值: bool test = false , a ,La 非打印字符的轉(zhuǎn)移序列: n ,t , b 字符串字面值:“ Hello ” 留意:只有內(nèi)置類(lèi)型有字面值,沒(méi)有類(lèi)類(lèi)型字面值 二,左值,右值 左值:可以顯現(xiàn)在賦值語(yǔ)句左邊,也可以在右邊顯現(xiàn) 右值:只能在賦值語(yǔ)句右邊顯現(xiàn),不能顯現(xiàn)在賦值語(yǔ)句左邊 三, 變量名(即變量的標(biāo)識(shí)符) 頭 :由字母,數(shù)字,下劃線組成,但是只能由字母,下劃線開(kāi) 標(biāo)識(shí)符,關(guān)鍵字,操作符關(guān)系(集合表示) 標(biāo)識(shí)符 關(guān)鍵字 操作符 四,初始化 直接初始化:把初
2、始化放在括號(hào)中(例如: int val1024; ) 簡(jiǎn)潔初始化:把初始化放在“ =”右邊 例如: int val = 1024; 初始化內(nèi)置元素是沒(méi)有區(qū)分的, 但是初始化類(lèi)類(lèi)型對(duì)象仍是有微小的差別的, 類(lèi)對(duì)象用直接 初始化時(shí)直接調(diào)用與實(shí)參匹配的構(gòu)造函數(shù), 而用復(fù)制初始化總是調(diào)用復(fù)制構(gòu)造; 特別地, 由 于 IO 類(lèi)型對(duì)象不能復(fù)制,全部對(duì)那些類(lèi)型對(duì)象不能復(fù)制初始化 五,標(biāo)準(zhǔn)庫(kù) String 類(lèi)型 1,初始化方式: string s1; 用默認(rèn)構(gòu)造函數(shù)初始化, s1 為空字符串 string s2s1; string s3value; 用字符串字面值初始化 string s4n,c; 用 n 個(gè)
3、字符 c初始化 2, string 對(duì)象的操作 s.empty; s.size; /相當(dāng)于 strlen,返回的是 string:size_type 類(lèi)型 sn; s1+s2;s1 =s2; s1 = s2;s1=s2;s1 .= s2 第 1 頁(yè),共 8 頁(yè)3,為什么要 s.size用 string:size_type 類(lèi)型而不是 int 類(lèi)型 由于一些機(jī)器上 int 類(lèi)型表示范疇太小, 而一些 string 對(duì)象所包含的你內(nèi)容可能 太 大(比如文件) ,導(dǎo)致溢出,因此不能用 int 表示,更傾向用比它大一倍的 string:size_type ; 4, string 對(duì)象字符的處理 使用之
4、前第一要包含頭文件 # include isalnumc, isalphac等等 六,標(biāo)準(zhǔn)庫(kù) vector 類(lèi)型 聲明: vector 不是數(shù)據(jù)類(lèi)型,而只是一個(gè)類(lèi)模板 vector , vector 等等 1,初始化: vector v1; vector v2v1; vector v3n,i; 例如: vector ivec1; vectorivec2ivec1; vectorivec310,-1; ,可以用來(lái)定義多種數(shù)據(jù)類(lèi)型,像 vector ivec410 /10 elements,each initialized to 0 vectorsvec10 2, vector 對(duì)象的操作 v.e
5、mpty; v.size; v.push_backt; v1 = v2; /10 elements,each an empty string v1 = v2;v1 .= v2; v1 = v2; 3,拜望 vector 容器的方式 第一,利用下標(biāo)操作符 其次,利用迭代器 例如: vector ivec; int val; for vector:size_type ix=0;ix .= 10; +ix cinval; ivec.push_backval; for vector:size_type ix=0;ix .= ivec.size;+ix ivecix+= 1; cout ivecix e
6、ndl; for vector:iterator iter =ivec.begin; iter.=ivec.end; +iter *iter += 1; 第 2 頁(yè),共 8 頁(yè)cout *iter endl; 七, void * 指針使用要點(diǎn) 1,可以指向任意類(lèi)型的對(duì)象 2, 這類(lèi)指針復(fù)制給某一類(lèi)型的指針,必需經(jīng)過(guò)強(qiáng)制類(lèi)型轉(zhuǎn)化,否就編譯器會(huì)報(bào)錯(cuò) 例子: int i=3; int * pA= &i; void * pB = &i; void * pC = pB; int * pD; pD = pC;/error pD = static_castpC;/ok 八,不能用 auto 變量的地址去初始
7、化 static 型指針 錯(cuò)誤例子 main inti; *p=&i; static int /. 九,指針變量必需先賦值 ,再使用 main int i=10; int *p; *p=i; /危險(xiǎn) cout*p; 十,函數(shù) 內(nèi)聯(lián)函數(shù) 1.定義:在調(diào)用處開(kāi)放函數(shù)代碼 2.使用內(nèi)聯(lián)函數(shù)的好處:可以防止函數(shù)調(diào)用的開(kāi)銷(xiāo) 3.要求:在函數(shù)代碼簡(jiǎn)短和調(diào)用次數(shù)較少情形下,調(diào)用內(nèi)聯(lián)函數(shù) 4.內(nèi)聯(lián)函數(shù)應(yīng)當(dāng)放在頭文件中,這一點(diǎn)不同于其他函數(shù),如在頭文件中加入或 修改內(nèi)聯(lián)函數(shù)時(shí),使用了該頭文件的全部源文件都必需重新編譯 重載函數(shù) 十一,次序容器 vector , list , deque 1,初始化 C c; C
8、 c1c2; C cb,e; 第 3 頁(yè),共 8 頁(yè)C cn,t; 2,容器需要中意以下約束 元素類(lèi)型必需可以支持賦值運(yùn)算 元素類(lèi)型對(duì)象必需可以復(fù)制( 3,迭代器 全部容器供應(yīng)的運(yùn)算: *iter iter-mem +iter -iter iter+ iter- iter1 = iter2iter1 .= iter2 IO 對(duì)象不行以復(fù)制) vector 和 deque 供應(yīng)額外的運(yùn)算 算術(shù)運(yùn)算(只適用于 vector, deque): iter+niter-n iter1 += iter2iter1 -=iter2iter1 -iter2 關(guān)系運(yùn)算(只適用于 vector, deque):
9、, = , , , = , =, .= , , =) 8,與容器大小相關(guān)的操作適用于整個(gè)容器 c.size c.max_size 返回 c 可容納的最多元素個(gè)數(shù) c.empty 返回布爾類(lèi)型 c.resizen c.resizen,t for example: listilist10,42;/10ints:each has value 42 ilist.resize15;/add 5 elements of value 0 to back of ilistilist.resize25,-1;/add 10 elements of value -1 to back of ilist.resize
10、5;/erase 20 elements from the back of ilist ilist 9,拜望元素 c.front 返回 c 第一個(gè)元素的引用,假如 c.back返回 c 最終一個(gè)元素的引用,假如 c 為空,就該操作未定義 c 為空,就該操作未定義 cn 返回下標(biāo)為 n 的元素的引用,假如 c 為空,就該操作未定義 c.atn返回下標(biāo)為 n 的元素的引用,假如 c 為空,就該操作未定義 10,刪除元素 c.erasep返回一個(gè)迭代器,指向被刪除元素后面的元素 c.eraseb,e c.clear返回 void c.pop_back 返回 void c.pop_front 返回 v
11、oid (只適用于 list, deque) 11,賦值操作符(適用于整個(gè)容器) c1 = c2 刪除 c1 全部,然后將 器類(lèi)型)必需相同 c2 元素復(fù)制給 c1,c1,c2 類(lèi)型(元素類(lèi)型,容 c1.swapc2 c1, c2 類(lèi)型必需相同,速度要比 c2 復(fù)制到 c1 快 c.assignb,e c.assignn,t12,容器的選擇 假如程序要求隨機(jī)拜望,就應(yīng)使用 vector 或 deque 假如程序必需在容器的中間位置插入或刪除元素,就用 list 假如要在首部或尾部插入或刪除元素,就應(yīng)用 deque 假如只需要在輸入時(shí)在容器的中間位置插入元素, 然后需要隨機(jī)拜望元素, 就可 考慮
12、在輸入時(shí)將元素讀入到一個(gè) list 中,接著對(duì)此容重視新排序,使其次序拜望, 然后將排序后的 list 容器復(fù)制到一個(gè) vector 中 十二,關(guān)聯(lián)容器 1, pair 類(lèi)型定義在 #include 初始化 pairp1;/holds two strings pairp2Marcel,Proust;make_pairJames,Joyce; 相關(guān)的操作 p1p2 ,p1=p2 第 5 頁(yè),共 8 頁(yè)p1.first , 作 2,關(guān)聯(lián)容器不供應(yīng) front , back, push_front , push_back, pop_front , pop_back 操 初始化: C c; C c1c
13、2; C cb,e; 次序容器和關(guān)聯(lián)容器的公共操作: 關(guān)系運(yùn)算 begin, end, rebegin, rend 賦值操作(不供應(yīng) assign 函數(shù)) clear, erase 操作(但 erase 返回的是 void ) 關(guān)于容器大小的操作(不包括 resize) 3, map 類(lèi)型 初始化 mapm; mapm1m2; mapmb,e map 定義的類(lèi)型 map:key_type map:mapped_typemap:value_type (一個(gè) 為 mapped_type) pair 類(lèi)型, first 元素為 const key_type,second 元素 添加元素 用下標(biāo)操作符
14、實(shí)現(xiàn) mapword_count;/empty map word_countAnna=1; 注:假如該鍵存在,就該下標(biāo)操作與 vector 行為類(lèi)似 該鍵如不存在, 就容器將創(chuàng)建一個(gè)元素插入到該容器的對(duì)象中, 此時(shí), 所關(guān)聯(lián) 的值接受值初始化,而內(nèi)置類(lèi)型元素就初始化為 0 insert 運(yùn)算 m.inserte e 是 value_type 類(lèi)型,假如鍵( )不在 m 中,就插入 e.second; 假如存在,就保持 m 不變,返回 pair 類(lèi)型,包括指向 元素的迭代 器,以及一個(gè) bool 類(lèi)型對(duì)象 for example: word_count.insertmap:value_typeA
15、nna,1; word_count.insertmake_pairAnna,1; m.insertbeg,end m.insertiter,e 查找并讀取 map 元素 m.countk 返回 m 中 k 的顯現(xiàn)次數(shù) m.findk 假如按 k 索引存在,就返回指向該元素的迭代器;假如不存在, 第 6 頁(yè),共 8 頁(yè)就返回超出末端迭代器 刪除元素 m.erasek刪除 m 中鍵為 k 的元素;返回 m.erasep返回 voidm.eraseb,e返回 void 4, set 類(lèi)型單純的鍵的集合(不供應(yīng)下標(biāo)運(yùn)算) 初始化與 map 一樣 size_type 表示刪除元素個(gè)數(shù) 定義的類(lèi)型:與 m
16、ap 有區(qū)分的是 value_type, 在 set 中, value_type 不是 pair,而 是 key_type 添加元素 setset1; set1.insertthe; set1.insertand; vectorint ivec10; Setiset2; Iset2.insertivec.begin,ivec.end; 查找并獵取元素與 map 一樣 iset.find1 iset.find11 iset.count1 iset.count11 multimap 和 multiset_ 頭文件與 map, set 一樣 十三,標(biāo)準(zhǔn)庫(kù) multimap :一個(gè)鍵對(duì)應(yīng)多個(gè)值,不支持
17、下標(biāo)運(yùn)算 String 類(lèi)型 1,頭文件: #include using std:string; 2,初始化 string s1; string s2s1; string s3value; string s4n,c; string scp cp 指向 C 風(fēng)格字符串 string scp,n 初始化為 string ss2,pos2 string ss2,pos2,len2for example: char * cp = Hiya; cp 所指向的前幾個(gè)元素 char c_array = World.; string s1cp;/s1 = Hiya string s2c_array,5;/s2 =World
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保理念下的現(xiàn)代家居設(shè)計(jì)風(fēng)格
- 現(xiàn)代飲食文化與胃腸健康的平衡
- 生產(chǎn)環(huán)境下的操作規(guī)范與質(zhì)量控制
- 現(xiàn)代企業(yè)網(wǎng)絡(luò)攻擊的防范與應(yīng)對(duì)
- 現(xiàn)代企業(yè)決策分析與科學(xué)決策
- 2023三年級(jí)語(yǔ)文下冊(cè) 第八單元 口語(yǔ)交際:趣味故事會(huì)配套說(shuō)課稿 新人教版
- Unit5 Humans and nature Lesson 1 A sea story 說(shuō)課稿-2024-2025學(xué)年高中英語(yǔ)北師大版(2019)必修第二冊(cè)001
- 2024-2025學(xué)年新教材高中數(shù)學(xué) 第五章 三角函數(shù) 5.7 三角函數(shù)的應(yīng)用(2)說(shuō)課稿 新人教A版必修第一冊(cè)
- 2023八年級(jí)數(shù)學(xué)下冊(cè) 第18章 平行四邊形18.1 平行四邊形的性質(zhì)第2課時(shí) 平行四邊形的性質(zhì)定理3說(shuō)課稿 (新版)華東師大版
- 2023二年級(jí)語(yǔ)文上冊(cè) 第二單元 2 樹(shù)之歌配套說(shuō)課稿 新人教版
- 四年級(jí)下冊(cè)數(shù)學(xué)知識(shí)點(diǎn)總結(jié)
- 第三屆全國(guó)石油工程設(shè)計(jì)大賽作品(油藏工程設(shè)計(jì)單項(xiàng))
- (人衛(wèi)版第九版?zhèn)魅静W(xué)總論(一))課件
- 壓力性損傷護(hù)理質(zhì)控細(xì)則及集束化管理措施
- 《批判性思維原理和方法》全套教學(xué)課件
- 產(chǎn)后康復(fù)-腹直肌分離
- 丙烯-危險(xiǎn)化學(xué)品安全周知卡
- 粉條加工廠建設(shè)項(xiàng)目可行性研究報(bào)告
- 《配電網(wǎng)設(shè)施可靠性評(píng)價(jià)指標(biāo)導(dǎo)則》
- 2024年國(guó)家電網(wǎng)招聘之通信類(lèi)題庫(kù)附參考答案(考試直接用)
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論