「C++」C++ Primer Plus 笔记:第二章 开始学习C++
生活随笔
收集整理的這篇文章主要介紹了
「C++」C++ Primer Plus 笔记:第二章 开始学习C++
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2.1 進(jìn)入C++
- 注釋以//打頭
- 想要執(zhí)行程序后保持窗口打開(kāi)(有的情況下執(zhí)行完后窗口會(huì)自動(dòng)關(guān)閉)可以在return前加上cin.get()
2.1.1 main()函數(shù)
- 函數(shù)結(jié)構(gòu)為:函數(shù)返回類型 函數(shù)名 (形參列表) 函數(shù)體
- C++中main()函數(shù)是操作系統(tǒng)和程序之間的連接,即運(yùn)行C++程序時(shí),系統(tǒng)自動(dòng)調(diào)用main()函數(shù);如果沒(méi)有main()函數(shù),系統(tǒng)會(huì)指出未定義
- 用作庫(kù)函數(shù)的代碼可以不需要main()函數(shù),且?guī)旌瘮?shù)一般用于生成動(dòng)態(tài)鏈接庫(kù)(DLL),被其他C++代碼調(diào)用
2.1.2 C++注釋
// C++風(fēng)格的注釋,不可以跨行 /* C風(fēng)格的注釋,可以跨行 */2.1.3 C++預(yù)處理器和iostream文件
- 編譯器對(duì)源代碼中的#include <iostream>預(yù)處理后,源代碼中的#include <iostream>被替換成了iostream中的代碼,此時(shí)源代碼變成了一個(gè)包含iostream內(nèi)容的復(fù)合文件
2.1.4 頭文件名
- 頭文件約定#include <iostream.h> //C風(fēng)格頭文件 #include <math.h> //C++舊風(fēng)格頭文件 #include <iostream> //C++新風(fēng)格頭文件 #include <cmath> //C轉(zhuǎn)C++后的頭文件
2.1.5 名稱空間
- 通過(guò)名稱空間來(lái)避免多個(gè)庫(kù)中重名的定義,尤其是在使用不同產(chǎn)品的庫(kù)函數(shù)時(shí)
- std是C++標(biāo)準(zhǔn)庫(kù)的命名空間
- 如果命名空間放在全局,則在全局調(diào)用不需要加上名稱空間前綴;如果在函數(shù)內(nèi)申明命名空間,則可使用的范圍也僅在函數(shù)內(nèi)部
2.1.6 使用cout進(jìn)行C++輸出
- C++中雙引號(hào)引起來(lái)的字符是字符串
- \n在字符串中表示換行
- \n 與 endl換行的區(qū)別是,endl確保程序繼續(xù)運(yùn)行,而有的系統(tǒng)中執(zhí)行\(zhòng)n后需要輸入信息才會(huì)出現(xiàn)
2.1.7 C++源代碼的格式化
- 有些語(yǔ)言是面向行的,這意味著每條語(yǔ)句占一行,比如python;但在C++中,分號(hào)才表示一條語(yǔ)句的結(jié)尾,這就意味著,using namespace std這一語(yǔ)句中的三個(gè)詞即使使用回車寫(xiě)成三行,也是合法的代碼。因此在C++中,只要能使用空格的地方都可以使用回車接著寫(xiě),盡管在書(shū)寫(xiě)方面不易閱讀,但它是合法的代碼;但一句完整的字符串不能使用空格分割成兩行
- 一行代碼中不可分割的元素叫做標(biāo)記(token),空格、制表符、回車統(tǒng)稱為空白(white space)
2.2 C++語(yǔ)句
2.2.1 聲明語(yǔ)句和變量
- C++在首次使用變量前申明即可
2.2.2 賦值語(yǔ)句
- =被稱為賦值運(yùn)算符
- C++(和C)可以連續(xù)使用賦值運(yùn)算符,例如,下面的代碼是合法的:int steinway; int baldwin; int yamaha; yamaha = baldwin = steinway = 88; // 賦值順序從右向左
2.2.3 cout的新花樣
- cout相比C中的printf函數(shù),cout能自動(dòng)區(qū)分需要輸出的內(nèi)容是int型的25還是string型的"25";而在printf中,需要用%s, %d來(lái)區(qū)分
2.3 其他C++語(yǔ)句
2.3.1 使用cin
- iostream將cout和cin定義為流的對(duì)象,輸入和輸出變量時(shí),變量是作為流進(jìn)行輸入輸出
2.3.2 使用cout進(jìn)行拼接
- 不加endl即可;此外還可以使用連續(xù)的<<進(jìn)行多行打字,例如:
2.3.3 類簡(jiǎn)介
- C++的核心概念就是面向?qū)ο?#xff0c;類是實(shí)現(xiàn)面向?qū)ο蟮耐緩?/li>
- 類是一種用戶定義的數(shù)據(jù)類型,類定義描述的是表示了什么信息,可以對(duì)這些信息執(zhí)行什么操作
- 類實(shí)例(對(duì)象)是調(diào)用方法的實(shí)體
2.4 函數(shù)
2.4.1 使用有返回值的函數(shù)
- 被調(diào)函數(shù)、調(diào)用函數(shù)的概念
- 在使用函數(shù)之前,C++編譯器需要明確參數(shù)類型和函數(shù)返回值類型
- 提供參數(shù)類型和返回值類型等信息的方式是使用 函數(shù)原型語(yǔ)句,C++程序應(yīng)當(dāng)為程序中使用的每個(gè)函數(shù)提供原型,原型格式如下:double sqrt(double); // function prototype 原型結(jié)尾的分號(hào)表示該語(yǔ)句是一個(gè)函數(shù)原型,函數(shù)原型一般寫(xiě)在頭文件中;如果去掉分號(hào),那么該語(yǔ)句是一個(gè)函數(shù)頭,而編譯器會(huì)要求讀取該函數(shù)頭的函數(shù)頭;函數(shù)頭一般寫(xiě)在源文件中
- 函數(shù)原型只描述函數(shù)接口;函數(shù)描述函數(shù)實(shí)現(xiàn)細(xì)節(jié)
- 使用老式頭文件引用xxx.h可以同時(shí)使用在C和C++中
2.4.2 函數(shù)變體
- void使用int rand(void); // 函數(shù)不接收任何參數(shù) int rand(); // 函數(shù)隱式地表明不接收任何參數(shù) void rand(); // 函數(shù)不返回任何參數(shù)
2.4.3 用戶定義的函數(shù)
- C/C++不允許函數(shù)嵌套定義
- main函數(shù)的返回值是返回到系統(tǒng),且main返回0表示程序運(yùn)行正常,1表示運(yùn)行發(fā)生錯(cuò)誤
2.4.4 用戶定義的有返回值的函數(shù)
- 函數(shù)特性包括:函數(shù)原型,函數(shù)頭,函數(shù)體,接受參數(shù),返回值
2.4.5 在多函數(shù)程序中使用using編譯指令
- 當(dāng)using namespace std被放在文件開(kāi)頭處,表示該文件的所有函數(shù)都能使用名稱空間std中的所有元素
- 當(dāng)using namespace std被放在函數(shù)內(nèi)部,表示只能該函數(shù)能夠使用名稱空間std中的所有元素
該聲明作用范圍只在該函數(shù);即使該函數(shù)內(nèi)調(diào)用了其他函數(shù),而其他函數(shù)使用了名稱空間中的元素而沒(méi)有該聲明,會(huì)報(bào)錯(cuò) - 當(dāng)using namespace std被放在函數(shù)內(nèi)部且放在特定函數(shù)前(例如 using std::cout),那么在該函數(shù)內(nèi)部可以直接調(diào)用該特定函數(shù)而不加名稱空間前綴
- 完全不適用using編譯指令,直接在調(diào)用名稱空間函數(shù)前加上名稱空間前綴
總結(jié)
以上是生活随笔為你收集整理的「C++」C++ Primer Plus 笔记:第二章 开始学习C++的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 「Anaconda」取消终端命令行自动加
- 下一篇: 建行企业银行客户号是什么