"C++"程序設計-學習筆記



文檔說明:這是一篇關於自考"C++"程序設計的學習筆記
課程名稱:辛運幃/機械工業2019年版"C++"程序設計
課程代碼:04737
文檔作者:Yohann Fang

第一章 > "C++"語言簡介

第1節 > "C++"語言的發展簡史

通常根據是否可以直接操縱計算機底層硬件,將程序語言分為低級語言 中級語言 高級語言
低級語言:機器語言、匯編語言,可以直接操縱計算機的寄存器和內存,能夠直接被計算機識別
機器語言使用機器指令的二進制代碼編寫程序
匯編語言可以看作是添加了助記詞的符號化機器語言
低級語言會因為機器底層指令系統的不同而不同,可讀性和通用性都差
高級語言是面向用戶的語言,語言形式上接近自然語言,使用高級語言編寫的程序通用性強,易讀性高,但是大部分不能直接和硬件打交道,也不能直接在計算機上運行,需要系統軟件的支持
高級語言需要編譯或者鏈接為機器指令后才能運行,第一代高級語言以Fortran語言和ALGOL60語言為代表
"C++"語言屬於高級語言,也有說法為中級語言("C++"一定程度上可以直接操縱硬件)
"C++"語言誕生於貝爾實驗室,"C++" 98 被認為是標准"C++"
"C++"是"C"語言的超集

第2節 > "C++"語言的特點

"C++"語言是編譯式的,通用的,大小寫敏感的編程語言
"C++"語言完全支持面向對象的開發模式
"C++"語言繼承了"C"語言的優點,同時可以進行面向對象的程序設計
"C++"語言比"C"語言更安全,支持面向過程,面向對象,泛型編程的開發方式
"C++"可以運行的平台廣泛,如:Windows、MacOS、Linux
因為"C++"加入了面向對象的概念,所以和"C"語言編寫方式上有很大差別

2.1 > 基本的輸入/輸出

在"C"語言中,標准的鍵盤輸入和屏幕輸出分別使用 scanf() 和 printf() 兩個函數實現,在"C++"中,類庫提供了輸入流類 istream 和輸出流類 ostream
cin 和 cout 分別是輸入/輸出類的對象
在輸入流中獲取數據的操作被稱為提取操作,向輸出流中添加數據的操作被稱為插入操作,運算符 ">>" 和 "<<" 是位移運算符,在"C++"類庫提供的頭文件中已經對位移運算符進行了重載,使之分別作為流提取運算符和流插入運算符,用來輸入輸出"C++"標准類型數據
語句 cin>>x 表示從鍵盤獲取輸入數據並賦值給變量x,使用 cin 可以獲取多個來自鍵盤的輸入值,cout 是標准輸出流對象,使用流插入運算符向設備輸出信息
當程序中使用 cin 或 cout 時,需要在程序中包含頭文件
注意流提取和流插入符號中間不能有空格或其它符號
用戶自定義類型的數據,不能直接使用流提取或流插入符號進行輸入/輸出,此時必須對符號進行運算符重載后才可以使用
cin 的一般格式

cin>>變量;

cout 的一般格式

cout<<表達式;

cin 中的變量可以是任何基本類型變量,cout 中的表達式可以是任何變量、常量、變量和常量的組合得到的正確表達式
當讀取數據時,如果第一個字符是空格、Tap鍵、Enter鍵,會將其忽略並清除掉,繼續讀取下一個字符
輸入輸出實例

#include <iostream> //包含 cin 或 cout 符號定義的頭文件
#include <string>

using namespace std;

int main() {
  int oneInt1,oneInt2;
  char strArray[20];
  string str;
  double oneDouble;
  char oneChar = 'a';

  cout<<"輸入兩個整數值、一個字符、一個字符串和一個小數";
  cout<<"用空格作分隔符";

  cin>>oneInt1>>oneInt2>>oneChar>>strArray>>oneDouble;
  str = strstrArray;
  cout<<"輸入的數據是"<<endl; //endl的作用是換行
  cout<<"兩個整數是\t"<<oneInt1<<"\t"<<oneInt2<<endl
  <<"字符是\t"<<oneChar<<"\n" // \n 是轉義序列
  <<"字符串是\t"<<str<<endl
  <<"小數是\t"<<oneDouble<<endl;
  return 0;
}

程序說明
字符串既可以使用字符型數組表示也可以使用 string 類的對象來表示
注意 ">>" 和 "<<" 運算符的后面都只能跟一個項,不能多個項連用,如下寫法是不正確的

cout<<a, b, c; //這種寫法是錯誤的

正確寫法如下所示

cout<<a<<b<<c; //這種寫法是正確的

字符串太長時可以通過符號(反斜杠)進行分割換行書寫,如下所示

cout<<"12345\
67890"<<endl

cout 可以混合輸出多種類型的數據

2.2 > 頭文件和命名空間

"C++"語言使用頭文件保存程序中用到的聲明,如函數聲明、常量定義等,程序中用到了 #include 指令包含了頭文件 iostream,iostream 是"C++"語言的標准輸入/輸出流
當使用 cin 或 cout 時,必須在程序前面包含這個流,如果還需要使用其它內容,則需要包含其它頭文件,如 string 頭文件
每個 #include 指令僅可以包含一個頭文件,如果需要包含多個頭文件,只能用多條 #include 指令
在"C++"語言中,頭文件不再用 .h 結尾,所以以 .h 結尾的頭文件是"C"語言中常用的頭文件
常用的頭文件如下所示
1:標准輸入輸出流 <iostream>
2:標准文件流 <fstream>
3:標准字符串處理函數 <string>
4:標准數學函數 <cmath>
除了可以使用系統提供的頭文件,程序員還可以定義自己的頭文件,並在程序中使用 #include 指令包含進來
通常使用尖括號括住系統提供的頭文件,使用雙引號括住程序員自己定義的頭文件
使用尖括號,系統將在系統目錄或指定目錄下尋找頭文件
使用雙引號,系統將在當前目錄或指定目錄下尋找頭文件
如下所示

#include "c:\mybook\a.h" //在指定目錄下尋找頭文件

"using namespace std;" 這段代碼表示使用命名空間 std
命名空間的作用是為了消除不同模塊下命名相同引發的爭議
定義命名空間的語法格式如下

namespace 命名空間名 {
  命名空間內的各種聲明 > 函數聲明、類聲明
}

命名空間也稱為名字空間,"C++"標准程序庫中所有標識符都定義在一個名為 std 的命名空間中
引用其它命名空間的標識符語法格式如下

命名空間名::標識符名

如輸入輸出示例中如果沒有 "using namespace std;" 這段代碼,則需要分別使用全稱 std::cin, std::cout, std::string, std::endl 等指明來自命名空間 std
"C++"提供了 using 語句簡化命名空間的寫法,如下所示

using 命名空間名::標識符名;

2.3 > 強制類型轉換運算符


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM