四、運算子和表示式
(一)算術運算子和算術表示式
1.算術運算子
(1)+ 加法
(2)- 減法
(3)* 乘法
(4)/ 除法
注意:雙目均為整型,則"/"的結果是整型(取商的整數部分)。
(5)% 求餘
注意:雙目必須均為整型,且結果餘數的符號與被除數符號
2.算術表示式
例 數的分離:設有乙個3位正整數x,則其各位數字分別為多少?
個位: x%10
十位: (x/10)%10
百位: x/100
(二) 賦值運算子和賦值表示式
1.基本賦值運算子
(1)形式:變數名=常量(或變數或表示式)。
(2)功能:將右邊的常量(變數或表示式)的值賦給左邊的變數
(3)結合性:自右向左
(4)說明:"="左邊必須是變數名,且右邊必須具有常量值。
2.算術復合賦值運算子
(1)符號: += , -= ,*= ,/= , %=
(2)用法與功能與"="一致
例: a+=3 a=a+3 x%=y+3 x=x%(y+3)
3.賦值表示式
例 特殊用法
a=b=c=d=5 /*連續賦值*/
a=5+(c=6)
a+=a-=a*a /*若a初值為12,則表示式值為-264*/
(三)自增,自減運算子
1.符號: ++(自增) -- (自減)
2.作用:使單個變數的值增1或減1
3.用法(單目運算子)
(1)字首形式 ++變數名 --變數名
(2)字尾形式 變數名++ 變數名--
例 字首與字尾形式的區別
設有定義 int m=4, n;
(a)m++; /*m=m+1; m=5*/
(b)++m; /*m=m+1; m=5*/
(c)n=m++; /*n=m;m=m+1; 先操作,後自增,m=5,n=4*/
(d)n=++m; /*m=m+1;n=m; 先自增,在操作,m=5,n=5*/
練習 設有 int m=4 ; 則以下片段輸出結果分別是:
(a)printf("%d",m++); /*輸出4,m值為5*/
(b)printf("%d",++m); /*輸出5,m值為5*/
4.說明
(1)"++"和"--"只能用於變數
(2)結合性:右結合性
(四)關係運算子和關係表示式
1.關係運算子
< 小於, > 大於, <= 小於等於 , >= 大於等於, == 等於, != 不等於
2.關係表示式
(1)運算結果 邏輯真用"1"表示,邏輯假用"0"表示
例 設有 int a=3, b=2, c=1; 則下列表示式值為:
c>b 0
c(2)常用代數邏輯的c語言表示式
例 代數式: x是偶數(奇數)
c語言 x%2==0(x%2==1或x%2!=0)
例 代數式: a是3的倍數
c語言 a%3==0
例 代數式: b的個位不是7
c語言 b%10!=7
(五)邏輯運算子和邏輯表示式
1.邏輯運算子
(1) ! 邏輯非(單目運算子)
(2) && 邏輯與
(3) || 邏輯或
2.邏輯表示式
(1)運算結果:邏輯真用"1"表示,邏輯假用"0"表示
(2)運算物件 非0即真,0即假
(3)邏輯表示式一般與關係表示式混合使用
例 代數式 2<=x<5
c語言 x>=2&&x<5
(4)短路現象
例 若有 int a=2,b=1,c=3,d=4,t=9; 分別計算:
(a(a>b)||(t=c
(5)常見代數邏輯的c語言表示式
例 代數式 x整除7且其個位不是偶數
c語言 (x%7==0)&&(x%10%2!=0)
(六)條件運算子即條件表示式(三目運算子)
1.形式: 表示式1? 表示式2 :表示式3
2.計算方法
求表示式1的值,判斷非0:求表示式2的值(結果),0:求表示式3的值(結果)
3.結合性:右結合性
例 若有 int a=1,b=2,c=3,d=4,t=9,計算:
(a>b)? t=0 : (c
(a>b)是表示式1,t=0 是表示式2, (c
C語言基本資料型別
2.各種資料型別介紹 2.1整型 整形包括短整型 整形和長整形。2.1.1短整形 short a 1 2.1.2整形 一般佔4個位元組 32位 最高位代表符號,0表示正數,1表示負數,取值範圍是 2147483648 2147483647,在記憶體中的儲存順序是地位在前 高位在後,例如0x12345...
C語言基本資料型別
1.資料型別可以理解為固定記憶體大小的別名 c語言誕生之前的彙編時代,在低端的機器語言裡面沒有資料型別的概念,如何操作記憶體呢?當然我們知道記憶體的起始位址和記憶體大小,就可以操作這段記憶體了。然而在程式設計過程中,我們發現經常用到1個位元組,2個位元組和4個位元組的記憶體。我們每次呢都會去記這個2...
C語言基本資料型別
記得大學一年級上的基礎課中就有c 語言,剛開始學的時候感覺很難 雖然現在感覺也不容易 最近開始重新翻開c語言的書籍,對於其中的基本資料型別感覺很重要也別有一翻feel。c語言基本資料型別有 int,short int long int double float,char.不管是整型,浮點型以及字元型...