第四章 第五章 表示式和語句學習筆記(第一遍閱讀)

2021-08-03 01:20:03 字數 3108 閱讀 1661

一元運算子的優先順序最高,其次是乘除法,優先順序最低的是加減法。

所有運算子都滿足做結合律,當優先順序相同時,按照從左向右的順序進行組合。

! 邏輯非

&& || 邏輯與 邏輯或

< > <= >=

== !=

關係運算子比較運算物件的大小關係返回布林值,進行比較運算時,除非比較的物件是布林型別,否則不要使用布林型字面值作為運算物件。

if(val)    %如果val是任意的非零值,條件為真

if(!val) %如果val是0條件為真

if(val==1)

賦值運算子滿足又結合律,賦值運算子優先順序較低。

遞增和遞減運算子有兩種形式,前置版本和後置版本。

int i=0,j;

j=++i;%j=1,i=1 前紙版本得到的是遞增之後的值

j=i++;%j=1,i=2 後置版本得到的是遞增之前的值

除非必須,否則不適用遞增或遞減運算子的後置版本。

如果在一條復合表示式中即將變數+1、-1,又能使用他原來的值,就使用遞增遞減運算子的後置版本。

auto p=v.begin();

while(p!=v.end()&&*p>=0)

cout<*p++<%輸出當前值,並將p向前挪動乙個元素

% *p++ 等價於 *p ++p寫法更簡潔。

.點運算子和->箭頭運算子都可以用於成員訪問。

n=(*p).size();%解引用運算子優先順序低於點運算子,*p要加括號

n=p->size();

條件運算子將簡單的if-else邏輯嵌入到單個表示式中。

cond?expr1:expr2;
條件運算子可巢狀使用,最好別超過兩到三層。

~     %位求反

<< %左移

>> %右移

& %位與

^ %位異或

| %位或

sizeof運算子返回一條表示式或乙個型別名字所佔的位元組數。

sizeof(char)結果為1;

對引用型別執行sizeof運算得到被引用物件所佔空間的大小;

對指標執行sizeof運算得到指標本身所佔空間的大小;

對解引用指標執行sizeof運算得到指標指向的物件所佔空間的大小,指標不需有效;

對陣列執行sizeof運算得到整個陣列所佔空間的大小;

對string物件或這vector物件執行sizeof運算只返回該型別固定部分的大小。

含有兩個運算物件,按照從左向右的順序依次求值.

for(...;...;++ix,--cnt)
隱式轉換 (陣列轉換成指標,指標的轉換)

顯式轉換

命名的強制型別轉換

cast-name(expression)

static_cast

%任何具有明確定義的型別轉換,只要不包含底層const,都可以使用static_const

double slope = static_cast

(j) / i;

dynamic_cast

%只用於物件的指標和引用.

const_cast

%const_cast只能改變運算物件的底層const。

const

char *pc;

char *p=const_cast

(pc);

reinterpret_cast

%通常為運算物件的位模式提供較低層次上的重新解釋。本質上依賴於機器,使用reinterpret_cast是非常危險的。

if語句
if(condition)

statement1

else

statement2

switch語句
switch(ch)

break;

default:

;break;

}

while語句
while(condition)

statement

當不確定到底要迭代多少次時,使用while迴圈比較合適。

for語句

for(init-satatmen;condition;expression)

statement

for(declaration:expression)

statement

do-while語句
do

statement

while(condition);

do while語句是先執行迴圈體後檢查條件,不管條件的值如何,至少執行一次迴圈。

break語句

只能出現在迭代語句和switch語句內部,作用範圍僅限於最近的迴圈或者switch。

continue語句

continue語句終止最近的迴圈中的當前迭代並立即開始下一次迭代,只能出現在for while 和do-while迴圈內部。

while(cin>>buf&&!buf.empty())
goto語句

goto語句的作用是從goto語句無條件跳轉到同一函式內的另一條語句。不要在程式中使用goto語句,因為它使得程式既難理解又難修改。

end:return;%帶標籤語句

goto end;

異常檢測部分使用throw表示式表示他遇到了無法處理的問題

使用try語句塊處理異常,try語句塊以關鍵字try開始,以乙個或多個catch語句結束

一套異常類用於在throw表示式和相關的catch子句之間傳遞異常具體資訊。

if(a == 0)  

try

catch(const

char *str) 接收異常,處理異常

c++標準庫定義了一組類用於報告標準庫函式遇到的問題。

Thinking in Java 第四章 第五章

第四章 1 for迴圈 可以在初始化和步進控制部分,採用逗號表示式,處理多個相同型別變數的計算。2 break和continue都是結束當前迴圈,不再執行當前迴圈剩餘的語句。不同的是,break結束迴圈語句,continue從迴圈下乙個開始節點繼續執行。3 switch可使用的型別 int char...

第四章 學習 表示式

4.1 c 將運算子分為三類 1.一元運算子2.二元運算子 3.三元運算子 4.2 使用初等表示式 是運算子的重要組成部分。幾種不同的初等表示式 1 字面值 在c 中 直接使用硬編碼的值。比如 if firstname brain brain 就輸入直接使用硬編碼 也可以這樣 將其存入某個變數中,然...

第四章 表示式

左值,用的是物件的身份 記憶體中的位置 右值,用的是物件的值 解引用生成 左值,取位址生成乙個 右值 bool b true bool c b c為true,因為 bool值在計算的時候被轉換成整型號int,所以b被轉換成 1,不為0,所以賦值給c的時候,為true int b while b ge...