C程式設計語言讀書筆記:型別運算子與表示式
1、變數和常量是程式處理的兩種基本資料物件。宣告語句說明變數的名字及型別,還可以指定變數的初值。所有整型都包含signed(帶符號)和unsigned(無符號)兩種形式,且可以表示無符號常量與十六進位制字元常量,浮點運算可以以單精度進行,還可以使用更高精度的long double型別運算。物件可以宣告為const 表明其值不能修改。
2、下劃線被看做是字母,命名較長的變數,提高其可讀性,庫例的名字通常以下劃線開頭,所以變數名儘量不要以下劃線開頭。大小寫有區別,一般變數用小寫,符號常量用大寫。選擇的變數名儘量從字面上表達變數用途,區域性變數一般用較短的變數名。
3、char 字元型,佔用了一個位元組,可以存放本地 字符集 中的一個字元。int 整型,通常反映了所用機器中整數的最自然長度 float 單精度浮點型 double 雙精度浮點型
4、型別限定符signed與unsigned可用於限定char型別或任何整型。unsigned型別的數總是正值或0,並遵守算數模2^n定律(佔得位元組次方表示長度)unsigned char型別變數取值範圍0-255,而signed char 取值範圍為-128~127
5、類似1234的整數常量屬於int型別,long型別的常量以字母1或L結尾,如123456789L。當整數太大無法使用int型別表示時,將被當做long型別處理,無符號常量以字母u或者U結尾。字尾,字尾ul表示是unsigned long型別。
6、浮點數常量中包含一個小數點(如123.4)或一個指數(1e-2),也可以兩者都有。沒有字尾的浮點數常量為double型別。字尾
7、常量表示式是僅僅只包含常量的表示式。表示式在編譯時求值,不在執行時求值,所以可以出現在任何位置。他就是一個常量,不過寫的讓你能看懂。
8、字串常量就是字元陣列。字串內部表示使用一個空字元‘\0’作為串的結尾,所以儲存字串的物理儲存單元數比雙引號中的字元多一個。C語言對字串的長度沒有限制,但是程式必須掃描完整個字串才能確定字串的長度。標準庫函式strlen(s)可以返回字串引數s的長度,但長度不包括末尾的‘\0’。
9、‘x’和“x”是不同的,前者是一個整數,其值是字母x在機器字符集中對應的數值;後者是一個包含一個字母x以及‘\0’的字符集。
10、列舉常量,是一個常量整型值的表,例如
enum boolean(NO,YES);在沒有顯式說明的情況下,enum型別中第一個列舉名的值為0,第二個為1.以此類推,如果指定了部分列舉名的值,那麼未指定的列舉名的值將依著最後一個指定值向後遞增。
11、不同列舉中的名字必須互不相同。統一列舉中不同的名字可以具有相同的值。
12、列舉為建立常量值與名字之間的關聯提供了一種便利的方式,相對於#define語句來說,它的優勢在於常量值可以自動生成。
13、變數的初始化必須為常量表示式,每次進入函式或程式塊時,顯式初始化的自動變數都將被初始化一次,初始化表示式可以是任何表示式。預設為0
14、任何變數宣告都可以被const限定符限定。const限定的陣列所有元素都不能被修改。
15、算數運演算法加減乘除取模,整數除法會截斷結果中小數部分表示式。
16、取模運算子%不能應用於float和double型別,有副運算元的情況下,整數除法擷取的方向以及取模運算結果的符號取決於機器具體實現。
17、== != 優先順序小於 大於等於小於等於大於小於優先順序小於加減優先順序小於乘除取模
18、&&||懶惰運算子,從左到右處理,知道結果後立刻停止運算。&&的優先順序比||高,但是都比關係運算子和相等性運算子優先順序低。
19、!用於將非零運算元轉為0,將0運算元轉為1.
20、 型別轉換,思路就是把比較窄的自動轉換為比較寬的運算元,並且不丟失資訊的轉換f+i把整型加到浮點型上,將整型變數i的值自動轉換為浮點型。
21、任何表示式中都可以使用強制型別轉換(型別名)表示式,先把一個變數強制轉換為需要的變數再去呼叫函式,比如sqrt((double)n)
22、按位操作符,這些運算只能作用於整型運算元,只能作用於帶符號或無符號的char、short、int、long型別,按位與& 按位或| 按位異或^ 左移<< 右移>> 按位求反~
23、&的性質讓它可以對二進位制數進行置0操作,用0和這個數&,|可以用來置1操作,他們是位運算子
24、移位操作符會出現補0的情況按位異或操作符……兩個運算元不相同置1相同置0.
25、運算子優先順序與求值次序表記得。圓括號是優先順序最高的,多用圓括號。
相關文章
- C語言程式設計讀書筆記:結構C語言程式設計筆記
- 《Go 語言程式設計》讀書筆記 (一)基礎型別和複合型別Go程式設計筆記型別
- 《Go 語言程式設計》讀書筆記 (二)函式Go程式設計筆記函式
- C語言學習筆記--C運算子C語言筆記
- 《Go 語言程式設計》讀書筆記(十)反射Go程式設計筆記反射
- 《Go 語言程式設計》 讀書筆記 (八) 包Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (三) 方法Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (五) 協程與通道Go程式設計筆記
- 《Go 語言程式設計》讀書筆記(十一)底層程式設計Go程式設計筆記
- 實驗一 c語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗一 C語言開發環境使用和資料型別,運算子,表示式C語言開發環境資料型別
- 實驗1 C語言開發環境使用和資料型別、運算子、表示式C語言開發環境資料型別
- 《Go 語言程式設計》讀書筆記 (九) 命令工具集Go程式設計筆記
- 《Go 語言程式設計》讀書筆記 (七) Goroutine 與系統執行緒的區別Go程式設計筆記執行緒
- C語言筆記——自定義型別C語言筆記型別
- 反應式程式設計讀書筆記程式設計筆記
- 運算子與表示式
- swift高階運算子-讀書筆記Swift筆記
- 《Python 簡明教程》讀書筆記系列二 —— 從 「運算子與表示式」「控制流」「函式」可以看出什麼Python筆記函式
- C#高階程式設計 讀書筆記C#程式設計筆記
- 《Java8函數語言程式設計》讀書筆記---類庫Java函數程式設計筆記
- GO語言————4.5 基本型別和運算子Go型別
- 程式語言語法:`=`表示賦值,`:`表示型別。賦值型別
- C語言程式設計入門之--第五章C語言基本運算和表示式-part2C語言程式設計
- 《Java8函數語言程式設計》讀書筆記---收集器Java函數程式設計筆記
- 雞啄米:C++程式設計入門系列之五(運算子和表示式)C++程式設計
- 函數語言程式設計:Lambda 表示式函數程式設計
- 福大pta--C語言--基本資料型別與表示式--判斷題C語言資料型別
- c語言運算子詳解C語言
- 《Java8函數語言程式設計》讀書筆記---常用的流操作Java函數程式設計筆記
- Lambda表示式入門--函數語言程式設計與函式式介面函數程式設計函式
- 浙大翁愷《C語言程式設計》課程筆記C語言程式設計筆記
- 算數表示式求值--c語言課程設計C語言
- C語言表示式和運算子大學霸IT達人C語言
- 《Go 語言程式設計》讀書筆記 (六) 基於共享變數的併發Go程式設計筆記變數
- shell指令碼程式設計學習筆記-運算子指令碼程式設計筆記