C Primer學習記錄02

2021-06-01 11:00:35 字數 2533 閱讀 5524

4、       表示式         

※ 求餘                    

%操作符只能被應用在整值型別 char short int和 long 的運算元上                   

如果有乙個 或兩個 運算元為負 餘數的符號則取決於機器                   

3.14 % 3; // 編譯時刻錯誤: 浮點運算元                  

21 % -5; // 機器相關: 結果為 -1 或 1                  

※邏輯與操作符                    

if(a>0 && arr[a] != 3)    //將有危險的(越界)放在後面                   

對於操作符的運算,並不保證從左到右的計算順序                   

ival++ && ival         ptr != 0 && *ptr++          // 結果是不確定的 

※sizeof                    

返回值的型別是 size_t 這是一種與機器相關的typedef 定義                    

#include 在cstddef 標頭檔案中找到它的定義                    例:size_t array_size = sizeof ia;

sizeof (type name );                   

sizeof ( object );             三種格式      

sizeof object;                   

string st1( "foobar" );                     

string st2( "a mighty oak" );                     

string *ps = &st1;                     

cout << "st1: " << sizeof( st1 )                // 乙個 string 的大小與它所指的字串的長度無關     

<< " st2: " << sizeof( st2 )                     

<< " ps: " << sizeof( ps )                     

<< " *ps: " << sizeof( *ps )                     

<< endl;                     

cout << "short :\t" << sizeof(short) << endl;                     

cout << "short* :\t"  << sizeof(short*) << endl;                     

cout << "short& :\t"  << sizeof(short&) << endl;                     

cout << "short[3] :\t" << sizeof(short[3]) << endl;                     

結果  st1: 12 st2: 12 ps: 4 *ps: 12                   

short : 2                   

short* : 4        在引用型別上的 sizeof 操作符返回的是包含被引用物件所需的記憶體長度           

short& : 2                   

short[3] : 6                   

※ 型別轉換                     

△隱式型別轉換                   

用一種型別的表示式賦值給另一種型別的物件                  

把乙個表示式傳遞給乙個函式呼叫 表示式的型別與形式引數的型別不相同                  

從乙個函式返回乙個表示式 表示式的型別與返回型別不相同                  

在混合型別的算術表示式中                  

△ 算術轉換       保證了二元操作符的兩個運算元被提公升為共同的型別            

1 為防止精度損失,如果必要的話型別總是被提公升為較寬的型別                  

2 所有含有小於整型的有序型別的算術表示式,在計算之前其型別都會被轉換成整 型                  

如果機器上的 m 型足夠表示所有 unsinged short型的值,則unsigned short int也被轉換成 int,                   

否則它會被提公升為unsigned int                    

△ 強制型別轉換                   

static_cast dynamic_cast const_cast和 reinterpret_cast                 

C Primer 學習記錄

includeusing namespace std int main while cin value 這裡所產生的是為判斷條件,先執行輸入操作 cin value 它具有從標準輸入讀取下乙個數並且將讀入的值儲存在value中的效果 返回其左運算元。當使用irtream物件作為條件,結果是測試流的狀...

c primer學習記錄(二)

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

c primer 容器 學習記錄

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