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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

「C++」C++ Primer Plus 笔记:第二章 开始学习C++

發布時間:2024/9/27 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 「C++」C++ Primer Plus 笔记:第二章 开始学习C++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.1 進入C++

  • 注釋以//打頭
  • 想要執行程序后保持窗口打開(有的情況下執行完后窗口會自動關閉)可以在return前加上cin.get()

2.1.1 main()函數

  • 函數結構為:函數返回類型 函數名 (形參列表) 函數體
  • C++中main()函數是操作系統和程序之間的連接,即運行C++程序時,系統自動調用main()函數;如果沒有main()函數,系統會指出未定義
  • 用作庫函數的代碼可以不需要main()函數,且庫函數一般用于生成動態鏈接庫(DLL),被其他C++代碼調用

2.1.2 C++注釋

// C++風格的注釋,不可以跨行 /* C風格的注釋,可以跨行 */

2.1.3 C++預處理器和iostream文件

  • 編譯器對源代碼中的#include <iostream>預處理后,源代碼中的#include <iostream>被替換成了iostream中的代碼,此時源代碼變成了一個包含iostream內容的復合文件

2.1.4 頭文件名

  • 頭文件約定#include <iostream.h> //C風格頭文件 #include <math.h> //C++舊風格頭文件 #include <iostream> //C++新風格頭文件 #include <cmath> //C轉C++后的頭文件

2.1.5 名稱空間

  • 通過名稱空間來避免多個庫中重名的定義,尤其是在使用不同產品的庫函數時
  • std是C++標準庫的命名空間
  • 如果命名空間放在全局,則在全局調用不需要加上名稱空間前綴;如果在函數內申明命名空間,則可使用的范圍也僅在函數內部
using std::cout; // 或者在全局直接這樣申明,使用cout時就不需要再加std:: using std::endl; using std::cin;

2.1.6 使用cout進行C++輸出

  • C++中雙引號引起來的字符是字符串
  • \n在字符串中表示換行
  • \n 與 endl換行的區別是,endl確保程序繼續運行,而有的系統中執行\n后需要輸入信息才會出現

2.1.7 C++源代碼的格式化

  • 有些語言是面向行的,這意味著每條語句占一行,比如python;但在C++中,分號才表示一條語句的結尾,這就意味著,using namespace std這一語句中的三個詞即使使用回車寫成三行,也是合法的代碼。因此在C++中,只要能使用空格的地方都可以使用回車接著寫,盡管在書寫方面不易閱讀,但它是合法的代碼;但一句完整的字符串不能使用空格分割成兩行
  • 一行代碼中不可分割的元素叫做標記(token),空格、制表符、回車統稱為空白(white space)

2.2 C++語句

2.2.1 聲明語句和變量

  • C++在首次使用變量前申明即可

2.2.2 賦值語句

  • =被稱為賦值運算符
  • C++(和C)可以連續使用賦值運算符,例如,下面的代碼是合法的:int steinway; int baldwin; int yamaha; yamaha = baldwin = steinway = 88; // 賦值順序從右向左

2.2.3 cout的新花樣

  • cout相比C中的printf函數,cout能自動區分需要輸出的內容是int型的25還是string型的"25";而在printf中,需要用%s, %d來區分

2.3 其他C++語句

2.3.1 使用cin

  • iostream將cout和cin定義為流的對象,輸入和輸出變量時,變量是作為流進行輸入輸出

2.3.2 使用cout進行拼接

  • 不加endl即可;此外還可以使用連續的<<進行多行打字,例如:
cout << "Now you have 14"; cout << "carrots"; cout << endl; // 等價于 cout << "Now you have 14"<< "carrots"<< endl;

2.3.3 類簡介

  • C++的核心概念就是面向對象,類是實現面向對象的途徑
  • 類是一種用戶定義的數據類型,類定義描述的是表示了什么信息,可以對這些信息執行什么操作
  • 類實例(對象)是調用方法的實體

2.4 函數

2.4.1 使用有返回值的函數

  • 被調函數、調用函數的概念
  • 在使用函數之前,C++編譯器需要明確參數類型和函數返回值類型
  • 提供參數類型和返回值類型等信息的方式是使用 函數原型語句,C++程序應當為程序中使用的每個函數提供原型,原型格式如下:double sqrt(double); // function prototype 原型結尾的分號表示該語句是一個函數原型,函數原型一般寫在頭文件中;如果去掉分號,那么該語句是一個函數頭,而編譯器會要求讀取該函數頭的函數頭;函數頭一般寫在源文件中
  • 函數原型只描述函數接口;函數描述函數實現細節
  • 使用老式頭文件引用xxx.h可以同時使用在C和C++中

2.4.2 函數變體

  • void使用int rand(void); // 函數不接收任何參數 int rand(); // 函數隱式地表明不接收任何參數 void rand(); // 函數不返回任何參數

2.4.3 用戶定義的函數

  • C/C++不允許函數嵌套定義
  • main函數的返回值是返回到系統,且main返回0表示程序運行正常,1表示運行發生錯誤

2.4.4 用戶定義的有返回值的函數

  • 函數特性包括:函數原型,函數頭,函數體,接受參數,返回值

2.4.5 在多函數程序中使用using編譯指令

  • 當using namespace std被放在文件開頭處,表示該文件的所有函數都能使用名稱空間std中的所有元素
  • 當using namespace std被放在函數內部,表示只能該函數能夠使用名稱空間std中的所有元素
    該聲明作用范圍只在該函數;即使該函數內調用了其他函數,而其他函數使用了名稱空間中的元素而沒有該聲明,會報錯
  • 當using namespace std被放在函數內部且放在特定函數前(例如 using std::cout),那么在該函數內部可以直接調用該特定函數而不加名稱空間前綴
  • 完全不適用using編譯指令,直接在調用名稱空間函數前加上名稱空間前綴

總結

以上是生活随笔為你收集整理的「C++」C++ Primer Plus 笔记:第二章 开始学习C++的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。