歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++基礎知識學習筆記

C++基礎知識學習筆記

日期:2017/3/1 9:26:58   编辑:Linux編程

最近兩天打開本科學校的C++教材,快速回顧了一下C++方面的內容。雖然書本內容比較基礎,但是還是有些知識點值得自己強化記憶。分幾篇文章,加上自己的理解把C++基礎知識學習筆記整理如下。

先回顧面向過程的部分。

C++數據類型

1、數據類型修飾符:

  1.1 long不僅可以修飾int,還可以修飾double;而short只能修飾int;

  1.2 "只有修飾符"的數據類型都是"修飾符 int"的簡寫,比如unsigned long是unsigned long int的簡寫。

2、整型常量:八進制數以0開頭,十六進制數以0x或者0X開頭。

3、浮點型常量:1.23*10^4在C++中可以表示為1.23E4或者1.23e4。

4、轉義字符:

  4.1 若轉義字符後邊跟的是一個整型常量,則必須是一個以0為前綴的八進制數(注意前綴0可以省略),或者以x為前綴的十六進制數(注意是x而不是0x);

  4.2 若轉義字符後面跟有字符時,其字符必須小寫,大寫只能表示其自身。如'\E'認為就是'E'。

5、變量:

  5.1 變量名實際上是一個符號地址,在對程序編譯連接時由系統給每一個變量名分配一個內存地址。在程序中從變量中取值,實際上是通過變量名找到相應的內存地址,從其存儲單元中讀取數據。

  5.2 C++要求變量作強制定義的目的:

    5.2.1 凡未被事先定義的,不作為變量名,保證程序中變量名使用的正確;

    5.2.2 每個變量被指定為一個確定類型,在編譯時就能為其分配相應的存儲單元;

    5.2.3 在編譯時就能根據變量類型檢查其進行的運算是否合法。(如:a, b為實型變量,則不允許進行求余運算)

  5.3 #define定義的符號常量和const定義的常變量的區別:

    符號常量只是用一個符號代替一個字符序列,在編譯預處理時把所有符號常量替換為指定的字符序列,它沒有類型,在內存中並不存在以符號常量命名的存儲單元;

    而常變量具有變量的特征,它具有類型,在內存中存在著以它命名的存儲單元。

  5.4 C++中一般使用常變量。因為使用const語句定義常變量帶有數據類型,便於系統進行類型檢查,同時它還具有計算初值表達式的功能。

6、在邏輯表達式的求解中,並不是所有的邏輯運算符都被執行,只是在必須執行下一個邏輯運算符才能求出表達式的解時,才執行該運算符。

  6.1 如a || b || c,只要a為true就不必判斷b和c;

  6.2 如int a = 1, b = 2, c = 3, d = 4, m =5, n =6; bool x; x = (m = a > b) && (n = c > d); 執行完之後n的值不是0,而仍然是6。

7、逗號運算符:

  7.1 int a; (a = 3 * 5, a * 4), a + 5; 執行完之後,a為15,第二條語句整個表達式的值為20;

  7.2 逗號運算符是所有運算符中級別最低的。

程序控制語句

1、if...else...語句中,else總是與離它最近的上一個if配對。

2、switch...case...語句中,case後跟的是常量表達式(不能是普通變量),常量表達式的值必須是整型、字符型或枚舉類型。

3、for(statment1; statement2; statement3),如果for循環內有執行到continue語句,則跳到執行statement3,並進行下一輪循環。

數組和結構體

1、字符串處理:

  1.1 gets(str)的作用是從終端輸入一個字符串到字符數組,並且得到一個函數值,該函數值是字符數組的起始地址。(本節下述str開頭的均為char *類型)

    拓展:cin.get(str, size),每次讀取一整行,並把enter鍵生成的換行符留在輸入隊列,通常這樣組合使用:cin.get(str, size).get();

       cin.getline(str, size),每次讀取一整行,並把enter鍵生成的換行符拋棄;用法與gets(str)幾乎一樣,只是多了一個size參數;

       getline(cin, string),每次讀取一整行,並且為string類型;

       getchar(ch),接受一個字符。

  1.2 puts(str)的作用是將一個字符串(以'\0'結束的字符序列)輸出到終端。

  1.3 strcat(strDest, strSource)是將字符串strSource連接到字符串strDest後面,返回為字符數組strDest的地址。

  1.4 strcpy(strDest, strSource)是將字符串strSource復制到字符數組strDest中去,返回為字符數組strDest的地址。

  1.5 strcmp(str1, str2)比較str1和str2,若str1 == str2,返回0;若str1 > str2,返回一個正整數;若str1 < str2,返回一個負整數。

  1.6 strlen(str)返回字符串的實際長度,不包括 '\0' 在內。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-07/120575p2.htm

Copyright © Linux教程網 All Rights Reserved