C語言的基本資料型態&運算式

類別

符號位元

位元長

表示法

數值範圍

整數

16

int (short)

-32768~32767

32

long

-2147483648~2147483647

16

unsigned int

0~65535

16

unsigned short

0~65535

32

unsigned long

0~4294967295

浮點數

32

float

10^-38~10^38

64

double

10^-308~10^308

字元

8

char

0~255

 
C語言的算術運算有加、減、除、取餘數,這些運算皆需要兩個運算元。
算術運算子
運算子
功能
例子
+
 a+b;
-
減 
 a-b;
*
 a*b;
/
 a/b;
%
取餘數
 a&b;
  
C語言的遞增與遞減的功能類似算術運算,但只能應用在單一運算元上,也限制於加一減一。
遞增以及遞減運算子
運算子
功能
例子
++
b=a++;(先執行b=a,在執行+1)
 a++;
++
b=++a;(先執行a+1,在存入b)
++a;
--
b=a--;(先執行b=a,在執行-1)
 a--;
--
b=--a;(先執行a-1,在存入b)
 --a;
 
C語言的關係運算子包含小於、小於等於、大於、大於等於,另外有兩個測試相等性的運算子,皆需要兩個運算來構成運算式,運算結果會以0表示假,1表示真。
關係運算子
運算子
功能
例子
<
小於
a<b;
<=
小於等於
a<=b;
>
大於
a>b;
>=
大於等於
a>=b;
==
相等
a==b;
!=
不等
a!=b;
  
C語言的邏輯運算子包含邏輯NOT、AND、OR,都需要兩個運算元。
邏輯運算子
運算子
功能
例子
!
邏輯閘NOT
!a
&&
邏輯閘AND
a&&b
||
邏輯閘OR
a||b
 
位元運算子把他們的運算元視為一組位元的集合(零或一),而非十進制十六進制、八進制。例如,十進制數 9 的二進制表示法為 1001。位元運算子對這些二進制表示法進行運算。
位元運算子
運算子
功能
例子
&
位元AND,每一個對應至同一位元位置的兩個運算元兩者為 1 時,返回 1
a&b
|
位元OR,每一個對應至同一位元位置的兩個運算元兩者或其中一者為 1 時,返回 1
a|b
^
位元XOR,每一個對應至同一位元位置的兩個運算元其中一者而非兩者為 1 時,返回 1
a^b
<<
往左移動 a 的二進制表示法 b 位元,從右邊補 0
a<<b
>>
往右移動 a 的二進制表示法 b 位元,丟棄移出的位元
a>>b
~
位元NOT,反轉運算元的位元,取 1 的補數
~a
 
C 語言的 cast 運算子的用途作為強迫轉型
Cast運算子
運算子 功能 例子
(type) operand
這樣子operand 會被強迫轉換型態為小括弧中的 type
int a = 34;
int b = 8;
float c, d;
     
d = a / b;
c = (float) a / b;
 
C 語言的 sizeof  運算子的用來計算資料所佔用的位元組數
Sizeof運算子
運算子
功能
例子
sizeof()
sizeof 運算子用來計算資料所佔用的位元組數。
printf("%11s%4d\n", "char", sizeof(char));
 
C 語言最基本的指派運算子為單一個等號 = ,這是用來將等號右邊的值拷貝給給左邊的變數資料。等號也可以跟其他運算子合用,會直接將結果儲存到原變數之中
指派運算子
運算子
功能
例子
=
 指派
 a=b
+=
 相加同時指派
 a+=b
-=
 相減同時指派
 a-=b
*=
 相乘同時指派
 a*=b
/=
 相除同時指派
 a/=b
%=
 取餘數同時指派
 a%=b
&=
 位元AND同時指派
 a&=b
|=
 位元OR同時指派
 a|=b
^=
 位元XOR同時指派
 a^=b
<<=
 位元向左位移同時指派
 a<<=b
>>=
 位元向右位移同時指派
 a>>=b
  
條件運算子是 C 語言裡唯一的三元運算子 ?: ,需要三個運算元,三個運算元都可為運算式
條件運算子
運算子 功能 例子
expr 1? expr 2: expr3
若 expr1 為真,運算結果會是 expr2 的值,若為假,運算結果則是 expr3 的值。 
條件運算子通常利用在需要二選一的情況下,例如比較兩個整數取較大的值。
int a = 22;
int b = 34;
     
printf("a = %d\n", a);
printf("b = %d\n", b);
printf("%d 較大\n", a > b ? a : b);

 

 

創作者介紹
創作者 記錄學習的過往 的頭像
ken

記錄學習的過往

ken 發表在 痞客邦 留言(0) 人氣( 19 )