C 學習筆記之表示式

2021-08-04 10:07:07 字數 1101 閱讀 9597

表示式中如果沒有指定運算的順序,表示式如果指向並修改了同乙個變數會引發未知錯誤,因為程式不知道先對變數執行什麼操作。

以下幾個運算子指定了執行順序。

&&  從左到右,只有左側值為真才執行右側

||  同上

? :  從左到右計算

,  規定了逗號運算子的計算順序,從左到右計算,左側計算以後將左側的值丟棄,再計算右側的值,逗號運算子的真正結果是逗號右側的值。逗號運算子的優先順序非常低,比其他運算子都低。

注意:1.確定不了的時候加括號,讓運算的順序更清晰。

2.一旦在表示式中改變了某個物件的值,在其他地方就不要在使用這個物件了。

整數相除的結果還是整數,多餘的部分被剔除了。21/6=3 

兩個數相除,只要兩個數的符號相同,結果就是正數,符號不同,結果是負數。

取餘不一樣%,如果取餘的兩個物件符號相同,結果是正數,符號不同,m%(-n)=m%n, (-m)%n=-(m%n)

想要表達a>b,b>c,c>d需要用表示式:a>b&&b>c&&c>d, 不能連著寫,那樣會造成錯誤

建議除非必須,否則都用++i 

iter++返回的是iter加1之前的值。cout<<*iter++<

成員訪問運算子:

有兩種成員訪問運算子,一種是.,一種是->,點運算子獲取類物件的乙個成員,箭頭和點運算子有關係a->m=(*a).m

sizeof運算子

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

對指標進行sizeof運算得到指標本身所佔空間的大小 int* p; sizeof p;

對解引用指標進行sizeof運算得到指標指向的物件所佔空間的大小,指標無需有效 int *p; sizeof *p;

對陣列進行sizeof運算得到陣列的大小

對string或vector進行sizeof運算得到該型別固定部分的大小,不計算物件中的元素佔據了多少空間

javascript學習筆記之表示式

1.with表示式 如 with frames 1 document.forms 0 name.value address.value email.value 也可以寫為 var form frames 1 document.forms 0 form.name.value form.address....

C 學習筆記 lambda表示式

在使用委託的時候,除了將乙個已存在的方法賦給乙個委託之外,還可以使用匿名方法的方式。使用匿名方法的時候,需要乙個delegate關鍵字,並且方法的引數列表要和委託定義的完全一樣。這裡有乙個匿名方法 func add delegate int a,int b console.writeline 操作的...

C 學習筆記 lambda表示式

lambda表示式本質上是一種函式,只要掌握了函式的寫法,完全不學lambda表示式也沒問題。但是,既然有lambda表示式,就有它存在的道理。與通常定義的函式相比,lambda表示式其實是一種匿名函式,就是lambda定義的函式沒有名字。與有名字的函式相比,lambda更簡潔,更適合定義一些功能簡...