C Primer 學習記錄

2021-06-27 05:25:10 字數 2529 閱讀 5932

#includeusing namespace std;

int main()

while(cin>>value) 這裡所產生的是為判斷條件,先執行輸入操作;

cin>>value  它具有從標準輸入讀取下乙個數並且將讀入的值儲存在value中的效果;返回其左運算元。

當使用irtream物件作為條件,結果是測試流的狀態。如果流是有效的(讀入下乙個輸入是可能的)那麼測試成功。

遇到檔案結束符(end-of-file)或者無效輸入時,istream物件無效。條件失敗  往下執行;

2. 帶字元型和不帶字元型 signed   不帶unsigned 正負 和零;

3初始化不是賦值,初始化時建立物件並給他賦初始值,賦值是擦除物件的當前值並用新值代替。

4.類型別變數的初始化、

沒有定義初始化的時候,類自動執行預設建構函式。不管定義在**都會呼叫預設建構函式。但是有些類型別是沒有預設建構函式的。

std::string global_str;

int global_int;

int main()

其中只有local_int 沒有付初始值;

5.extern 只是宣告。宣告定義在其他地方,乙個變數可以多次宣告但是只能定義一次。

6. const 限定符;

定義乙個不可修改的 常量 也可以是變數;通過extern 宣告的const 可以再整個程式中使用。

int temp=dval=3.14;

const int &ri=temp;

如果ri不是const 那麼修改temp是不會修改 dval的;

int i=42;

const int &r=42;

const int &r2=r+1;

編譯時不能通過的。 因為const是唯讀的、不允許修改。

7.列舉 enum;

enum forms;

那麼預設為shere=2,cylin=3,polytgon=4;

也可以enum forms;

這時候piont2w=2,point3w=3;

enum的物件可以初始化或者賦值。

只能同意物件中的

8.類不是在類定義裡定義資料成員初始化資料成員,而是通過建構函式的特殊成員函式控制初始化;private成員,不是類的組成部分的**不能訪問;

struct,如果是使用struct那麼裡面所有的資料成員都是public;也可以這樣定義:

struct sales_item

9.標頭檔案為相關宣告提供乙個集中存放的位置。標頭檔案一般包含類的定義,extern變數的宣告和函式的宣告

標頭檔案中所做的宣告在邏輯上應該是適於放在一起的。編譯標頭檔案需要一定時間的,如果標頭檔案太大程式設計師可能不願意承受時間代價;

標頭檔案用於宣告而不是用於定義;宣告可以做多次定義只能一次,定義會分配空間,所以類似於

extern int ival=10;//這是乙個定義

double fica_rate;//這是乙個定義;沒有宣告

標頭檔案可以定義類,值在編譯時就已知道的const物件和inline 內聯函式;

10. 預處理器

#ifindef salesitem_h

#defin salesitem_h

#endif

測試salesitem_h預處理器變數是否未定義,如果未定義則執行下面語句,直到發現#endif。如果定義那麼忽略剩餘部分;

11 usingnamespace:

讀入未知的string 時候

#include#includeusing std::string;

int main(){

string word;

while (cin >> word)

cout《輸入 hello  world 輸出的時候是 hello  換行 world;

因為讀取資料的時候遇到空格就返回  然後再次檢測資料流;

如果是int main(){

string s;

cin >> s;

cout<

11.2 getline 讀取整行文字

int main(){

string line;

while (getline(cin,line))

cout<

類似的還有getchar();clear.cin等等;

11.3 string

string.size() 返回s中字元的個數 string.empty 如果串為空則返回true 否則返回false;

11.4 vector 是容器,儲存一種型別的int string  或者自己定義的類point  vectorpoint1;

作用的儲存同意型別的資料然後再做處理。

11.5 迭代器iterator

除了使用下標來訪問vector物件的元素外,標準庫還提供了另一種訪問元素的方法;使用迭代器;它是一種檢查容器內元素並遍歷元素的資料型別、

// 另外學習

11.6標準庫bitset

#include處理二進位制位的有序集;

C Primer學習記錄02

4 表示式 求餘 操作符只能被應用在整值型別 char short int和 long 的運算元上 如果有乙個 或兩個 運算元為負 餘數的符號則取決於機器 3.14 3 編譯時刻錯誤 浮點運算元 21 5 機器相關 結果為 1 或 1 邏輯與操作符 if a 0 arr a 3 將有危險的 越界 放...

c primer學習記錄(二)

string getline cin,s 讀取一行 cin讀入會自動忽略開頭的空白 空格符 換行符 製表符 從第乙個真正的字元讀起,直到遇到下一處空白為止 getline函式的引數是乙個輸入流和乙個string物件,函式從給定的輸入流中讀取內容,直到遇到換行符 換行符也被讀入 之後將所存內容存入到s...

c primer 容器 學習記錄

一般用vector 在容器中間施行插入集,則應該在輸入階段使用list,然後將內容拷貝給vector 讀取未知數量單詞,總是將新單詞插入末尾,刪除操作在頭部進行 快速隨機訪問 尾部插入好 頭部刪除好 deque 讀取固定數量單詞,將他們按字典順序插入到容器中 快速隨機訪問 尾部插入好 string ...