變數名規定:
1.只能是字母、數字和下劃線組成。
2.第乙個必須由字母或者下劃線開頭
3.變數名區分大小寫
4.不能使用關鍵字來命名變數
運算子優先順序:
優先順序運算子
名稱或含義
使用形式
結合方向說明1
陣列下標
陣列名[常量表示式]
左到右()
圓括號(表示式)/函式名(形參表)
.成員選擇(物件)
物件.成員名
->
成員選擇(指標)
物件指標->成員名
++後置自增運算子
++變數名
單目運算子
--後置自減運算子
--變數名
單目運算子2-
負號運算子
-表示式
右到左單目運算子
(型別)
強制型別轉換
(資料型別)表示式
++前置自增運算子
變數名++
單目運算子
--前置自減運算子
變數名--
單目運算子
*取值運算子
*指標變數
單目運算子
&取位址運算子
&變數名
單目運算子
!邏輯非運算子
!表示式
單目運算子
~按位取反運算子
~表示式
單目運算子
sizeof
長度運算子
sizeof(表示式)3/
除表示式/表示式
左到右雙目運算子*乘
表示式*表示式
雙目運算子
%餘數(取模)
整型表示式/整型表示式
雙目運算子4+
加表示式+表示式
左到右雙目運算子-減
表示式-表示式
雙目運算子
5<<
左移變數《表示式
左到右雙目運算子
>>
右移變數》表示式
雙目運算子
6>
大於表示式》表示式
左到右雙目運算子
>=
大於等於
表示式》=表示式
雙目運算子
<
小於表示式《表示式
雙目運算子
<=
小於等於
表示式<=表示式
雙目運算子7==
等於表示式==表示式
左到右雙目運算子
!=不等於
表示式!= 表示式
雙目運算子8&
按位與表示式&表示式
左到右雙目運算子9^
按位異或
表示式^表示式
左到右雙目運算子10|
按位或表示式|表示式
左到右雙目運算子
11&&
邏輯與表示式&&表示式
左到右雙目運算子
12||
邏輯或表示式||表示式
左到右雙目運算子
13?:
條件運算子
表示式1? 表示式2: 表示式3
右到左三目運算子14=
賦值運算子
變數=表示式
右到左/=
除后賦值
變數/=表示式
*=乘後賦值
變數*=表示式
%=取模後賦值
變數%=表示式
+=加後賦值
變數+=表示式
-=減後賦值
變數-=表示式
<<=
左移後賦值
變數<<=表示式
>>=
右移後賦值
變數》=表示式
&=按位與後賦值
變數&=表示式
^=按位異或後賦值
變數^=表示式
|=按位或後賦值
變數|=表示式15,
逗號運算子
表示式,表示式,…
左到右從左向右順序運算
『a』和「a」的區別
「a」輸出的就是a這個字母,『a』就是輸出65;
短路求值(c語言只對邏輯與(&&)和邏輯非(||)採用短路求值的方法);
只有當第乙個運算子的值無法確定邏輯運算結果時,才對第二個運算數進行求值
ES6隨筆 重點
es6新增塊級作用域概念。let和const宣告的變數和常量,只在所處的 塊內有效,外部訪問列印 x is not defined.最典型的就是for迴圈中的變數宣告,用var宣告的話,i是全域性變數,每一次迴圈i的值都增加,所以在迴圈內部列印的i就是全域性變數i,所以i列印出來的就是最後一次i 完...
C語言個人隨筆
for語句使用break,後續條件不會執行。for u8 i 0x00 i 10 i printf i d i 結果為i 4。continue會執行後續條件。查表一般會省去大部分的if判斷條件語句,使用結構體陣列查表會使 看上去不那麼low。下面 是直接if判斷的 define page size ...
PAT考試乙級1030 C語言實現 重點題目
以下兩段 均為c 編譯器 include include using namespace std int main sort a,a n 排序的起始位址到結束位址 for i 0 i a i 作為最小值 for j n 1 j 0 j printf d n c 1 return 0 這個答案提交後會...