C++笔记1
文章目錄
- 一、概述
- 1、應用
- 2、重點
- 3、程序
- 4、IDE(集成開發環境,Integrated Development Environment)
- 二、基本語法
- 1、輸入、輸出
- 2、輸出格式控制
- 3、讀/寫文件
一、概述
C++是一種靜態數據類型檢查的、支持多種編程范式(面向過程與面向對象等)的通用程序設計語言。
1、應用
C++在某些領域(比如,操作系統編程、游戲開發、電信金融業務、服務器端開發等)仍具有不可替代的優勢。
2、重點
- C子語言——C++支持幾乎全部的C語言功能,在語法上與C語言僅有細微的差別;
- 面向對象的C++——類,封裝、繼承和多態;
- 泛型編程語言——可以編寫完全一般化并可重復使用的算法,其效率與針對特定數據類型而設計的算法的效率相近。
- STL——將容納數據的容器、訪問數據的迭代器、以及對數據進行處理的算法非常優雅地整合在一起,其效率雖然比專門設計的C++代碼稍低,但其安全性與規范性大受歡迎,在業界得到了廣泛的應用
3、程序
C++程序=預編譯指令+程序代碼+注釋
cpp文件執行的過程
- 編譯:通過編譯器將 源文件(.cpp) ==》目標文件(.obj)
- 鏈接:通過鏈接器將 目標文件(.obj)+標準庫目標文件(.lib) ==》可執行文件(.exe)
程序 = 數據結構(描述數據) + 算法(處理數據)
tip1:
當我們在Visual Studio中執行某個程序時,如果這個程序在執行過程中不需要與用戶進行交互,那么它執行時打開的DOS窗口會在其執行完畢后立即關閉。如果這個程序有結果輸出,我們甚至來不及看清程序的輸出結果。一個程序執行完了,連輸出結果都來不及看清這怎么行呢?
==》解決方法:在程序的主函數返回之前加上一條“system(“pause”);”
4、IDE(集成開發環境,Integrated Development Environment)
一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具等,是集代碼編寫功能、分析功能、編譯功能、調試功能于一體的開發軟件套裝。
- Windows:VS、Qt
- Linux/UNIX:vi(編寫源代碼)+GCC(編譯)+GDB(調試)
- gcc 常用操作:
- 格式:g++ [編譯選項] 源文件名
- gcc 常用操作:
| -c | 只編譯,而不鏈接成為可執行文件。編譯器將輸入的.cpp源代碼文件編譯生成以.o為后綴的目標文件 |
| -o 輸出文件名 | 指定輸出文件的名稱。若不指定,則生成默認的可執行文件:Windows——a.exe、Linux/UNIX——a.out |
| -g | 若要對源碼調試必選——用于產生調試工具(例如,GDB )所必需的符號信息 |
| -O | 編譯器將對程序進行優化編譯、鏈接。可提高可執行文件的執行效率,但編譯、鏈接的速度相應變慢 |
| -I 目錄名 | 指定GCC的附加頭文件目錄。在使用第三方庫時常用 |
二、基本語法
1、輸入、輸出
流(stream):在C++程序中,我們將這種數據在程序和外部對象(鍵盤、屏幕等)之間的流動。
C++標準庫中已經預先定義了4個最基本的輸入/輸出流(I/O)對象:
- cin——通過提取(get-from)符“>>”從cin中提取用戶通過 鍵盤輸入的數據;
- cout——通過插入(put-to)符“<<”向cout中插入程序內的數據;
- cerr——輸出程序錯誤信息;
- clog——輸出日志信息;
注:箭頭的方向形象地代表了數據流動的方向;
2、輸出格式控制
操縱符大都定義在頭文件中。
| dec | 十進制顯示數值數據(默認設置) |
| hex | 十六進制顯示數值數據。如果同時在輸出流中插入一個showbase操縱符,還可以同時輸出十六進制數值的0x前綴 |
| oct | 八進制顯示數值數據 |
| endl | 插入換行符,并刷新輸出流緩沖區 |
| setprecision(n) | 設置浮點數的輸出精度為n。默認情況:浮點數中小數點前后所有數字的個數。fixed操縱符:設置小數點后的數字的個數 |
| setw(n) | 設置輸出的每個數據的顯示寬度 |
==》輸出:1.23
3、讀/寫文件
- 頭文件:
- ifstream(input file stream):從文件中讀取數據;
- ofstream(output file stream)將數據輸出到文件;
出現的問題:
- qt creator——“error c2001: 常量中有換行符”
- 解決方案
- 將報錯的那個源文件在記事本中打開,然后保存一下。==》不報錯
- 若中文全是亂碼,把中文用QStringLiteral( )把中文括起來
總結
- 上一篇: 【编程4】插入排序+快速排序+LeetC
- 下一篇: GitHub上如何进行PR(Pull R