3.2 運算子和表示式
常量:在程式執行過程中,其值不能被改變的量。例如
整型 100,125,-100,0
實型小數形式:3.14,0.125,-3.789
指數形式:12.3e3,3.57e-2
字元型普通字元:『a』,『b』,『a』,『#』
轉義字元:『\n』,『\t』,『\101』,『\x1b』
字串 「a」,「ab」,「1232」
十進位制 4123 = 4103 + 1102 + 2101 + 3100
二進位制 『\101』:182 + 081 + 1*80 = 65
八進位制 『\x1b』: 1161 + 11160 = 27
十六進製制 10–a 11–b 12–c 13–d 14–e 15—f
符號常量:用乙個識別符號代表乙個常量,例如在下面程式中
#define price 30
#include
intmain()
若再用賦值語句給price賦值就是錯誤的。
優勢:
(1) 規範程式設計時不提倡使用很多常數
(2) 易於修改,一改全改
變數代表記憶體中具有特定屬性的乙個儲存單元,它用來存放資料,這就是變數的值,在程式執行期間,這些值是可以改變的。
變數
int a = 3, b, c = 5;
常變數(與符號常量不同)
const int a = 3;
識別符號:用來對符號常量、變數、函式、陣列、型別等資料物件命名的有效字串行。例如
sum, _total, month, student_name,lotus_1_2_3
規定:識別符號只能由字母、數字和下劃線三種字元組成,且第乙個字元不能為數字。
基本型別:整型、字元型、浮點型。
(1)整型資料可分為:
資料型別
關鍵字表示
資料型別
關鍵字表示
基本整型
int有/無符號
signed(預設)/unsigned
短整型short int或short
長整型ong int或long
雙長整型
long long int或long long
有符號基本整型
[signed] int
無符號基本整型
unsigned int
有符號短整型
[signed] short [int]
無符號短整型
unsigned short [int]
有符號長整型
[signed] long [int]
無符號長整型
unsigned long [int]
有符號雙長整型
[signed] long long [int]
無符號雙長整型
unsigned long long [int]
(2)數值的表示
數值是以補碼表示的
原碼:最高位為符號位,其餘位為該數的二進位制表示。1表示負數,0表示正數(會出現+0和-0)。例如
帶符號位的四位二進位制數1010:最高位為1,表示這是乙個負數,010轉十進位制為2,所以二進位制1010表示-2。(注意和不帶符號位的二進位制加以區別)
反碼:正數的反碼是其原碼,負數的反碼是其原碼除符號位外,其餘按位取反。例如
3的帶符號位的四位二進位制為0011,則
3的原碼:0011
3的反碼:0011
-3的原碼:1011
-3的反碼:1100
補碼:正數的補碼等於其原碼,負數的補碼等於其反碼+1.
另:負數的補碼等於其原碼自低位向高位,尾數的第乙個1及其右邊的0保持不變,左邊的各位按位取反。
注:原碼不能做正數和負數的相加,還會出現+0和-0;反碼不能做兩個負數的相加;
計算機儲存資料的單位:位(二進位制位,0和1)、位元組(8個二進位制位)
乙個字元型資料在記憶體中佔乙個位元組
ascii碼字元
ascii碼
單精度型(float)
雙精度型(double)
長雙精度型(long double)
浮點型資料是按照指數形式儲存的系統把乙個浮點型資料分成小數部分和指數部分,分別存放。例如
小數部分佔的位越多,有效數字就越多,精度也就越高。指數部分佔的位越多,表示的數值範圍就越大。
名稱符號
名稱符號
算術運算子
+ - * / % ++ –
關係運算子
> < == >= <= !=
邏輯運算子
!&& //
位運算子
<< >> ~
賦值運算子
=及其擴充套件賦值運算子
條件運算子
?:逗號運算子
,指標運算子
*和&求位元組數運算子
sizeof
強制型別轉換運算子
(型別)
成員運算子
.->
下標運算子
[]其他
如函式呼叫運算子()
符號含義
符號含義
+加法運算子,或正值運算子
-減法運算子,或負值運算子
*乘法運算子
/除法運算子
%模運算子,或稱求餘運算子
符號含義
++i在使用i之前,先使i的值加1
i++在使用i之後,使i的值加1
–i在使用i之前,先使i的值減1
i–在使用i之後,使i的值減1
i++與++i的區別:
++i是先執行i=i+1後,再使用i的值。
i++是先使用i的值後,再執行i=i+1。
注:自增、自減運算子,只能用於變數,而不能用於常量或表示式。
例如,5++、(a+b)++:不合法
用算術運算子和括號將運算物件連線起來,得到的符合c語法規則的式子,稱為c算術表示式。運算物件包括常量、變數、函式等。
優先順序:由高到低 結合性:從左到右
整型、字元型、浮點型可以混合運算不同型別的資料先轉換成同一型別,然後進行運算
注:
橫向:必定的轉換
縱向:不同型別時的轉換方向
將乙個表示式轉換成所需型別。一般形式:
(型別名)(表示式)
例如,
運算含義
(double)a
將a的值轉換成double型
(int)(x+y)
將x+y的值轉換成整型
(float)(5%3)
將5%3的值轉換成float型
(int)x+y
將x的值轉換成整型,再與y相加
C 語言程式設計 第三章
函式呼叫 呼叫函式前要宣告函式原型 型別識別符號 被呼叫函式名 含型別說明的形參表 呼叫形式 函式名 實參列表 函式的遞迴呼叫 函式直接或間接呼叫自身 函式的引數傳遞 1.在函式被呼叫時才分配形參的儲存單元 2.實參可以是常量 變數或表示式 3.實參型別必須與形參相符 如果不相符,編譯器會先進行型別...
C語言程式設計(第三章例題)
例3.1 把用華氏法表示的溫度 如64 f 轉換成用攝氏法表示的溫度。編寫 includeint main 執行結果 例3.2 計算存款利息。有1000元,想存一年。有三種方法可選 1 活期,年利率為r1。2 一年期定期,年利率為r2。3 存兩次半年定期存款,年利率為r3。請分別計算出一年後按三種方...
c 第三章總結
第三章函式部分學完了,弄乙個大概的總結 這是自製的乙個思維導圖,大概列出了第三章以及9.1的主要內容結構。c 的函式部分有一半是與c基本一樣的,老師告訴我們說c語言是乙個面向過程的程式語言,所以函式的定義裡面不像c 的類一樣將資料與操作封裝在一起,在c的函式裡只有操作。定義乙個函式,實現乙個特定的功...