資料型別
1--- 定義變數
資料型別 變數名 = 初始值;
資料型別 變數名;
變數名:由數字、字母、下劃線組成,開頭不能是數字
2--- bool
#include bool a = 123;
printf(「a = %d\n」,a);
3--- char
char a = 'a'; //佔1個位元組,8位
printf(「a = %c\n」,a); --> a
printf(「a = %d\n」,a); --> 65
signed char :-128~127
unsigned char :0~255
4--- int
int 佔4位元組,32位
signed int :-2147483648 ~ 2147483647
unsigned int :0~ 4294967295
short 佔2位元組,16位
signed short :-32768 ~ 32767
unsigned short :0 ~ 65535
long 佔4位元組
5--- float
float 佔4位元組
double 佔8位元組
資料的儲存
正數:unsigned char a = 12
0000 1100 原始碼、反碼、補碼相同
負數:signed char a = -12
1000 1100 原始碼(最高位是符號位)
1111 0011 反碼(符號位不變,其它位取反)
1111 0100 補碼(反碼+1)
unsigned char b = -1; signed char c = 129;
儲存(看數值): 儲存(看數值):
原始碼: 1000 0001 --> -1 原始碼: 1000 0001 --> 129
反碼: 1111 1110
補碼: 1111 1111 讀取(signed):
讀取(unsigned): 補碼: 1000 0001
反碼: 1000 000
補碼: 1111 1111 --> 255 原始碼: 1111 1111 --> -127
全域性變數和區域性變數
全域性變數,不初始化時為0。
區域性變數,不初始化時為隨機值。
全域性變數和區域性變數名字相重時預設使用區域性的變數。
常量
唯讀的資料。
字元常量 :『a』 『*』 『!』 『\n』
整數常量 : 12 012 0x12
浮點型常量: 12.34
指數常量 : 1.2e-3
字串常量: "world" //以『\0』作為結束標誌
"world" // w o r l d \0
『w』 //乙個字元
"w" //字串: 'w' + '\0'
運算子
1--- 算術運算子
+ - * / %(參與運算的只能是整數)
++ 自增運算子;++在變數名的後面:則先參與其他所有運算,再執行自增
-- 自建運算子;--在變數名的後面:則先參與其他所有運算,再執行自減
2--- 關係運算子
運算結果只有兩種情況:真1 假0
< <= > >= == !=
3--- 邏輯運算
運算結果只有兩種情況:真1 假0
&& :一假則假
|| :一真則真
! :真變假,假變真
短路原則:當乙個表示式可以決定整個運算的結果,其它運算不執行
4--- 位運算
~ :位運算取反
^ :異或,相同為0,不同為1
& :位與
| :位或
a>>n : a / 2^n;
a<>=
6--- 條件運算子
《表示式1> ? 《表示式2> : 《表示式3>
先判斷表示式1,為真執行表示式2, 為假執行表示式3
運算優先順序
()
++ --
* / %
+ -
<< >>
關係運算
位運算子(& ^ |)
邏輯運算
賦值運算,復合運算子
,
1、1_bool.c
#include
#include
//資料型別 變數名 = 初始值;
int main(int argc, const
char *argv)
2、2_char.c
#include
//資料型別 變數名 = 初始值;
int main(int argc, const
char *argv)
3、3_int.c
#include
int main(int argc, const
char *argv)
4、4_float.c
#include
int c; //全域性變數,不初始化時為0
int main(int argc, const
char *argv)
5、5_count.c
#include
#define n 30 //巨集定義:給乙個常量命名
int main(int argc, const char *argv)
6、6_expr+.c
#include
// + - * / %
int main(int argc, const
char *argv)
7、7_expr++.c
#include
//自增運算子 ++
//自減運算子 --
int main(int argc, const
char *argv)
8、8_expr_relation.c
#include
//關係運算的結果只有兩個值: 真1 假0
//< <= > >= == !=
int main(int argc, const
char *argv)
else
return
0;}
9、9_expr_logic.c
#include
//邏輯運算的運算結果只有兩個值: 真1 假0
//&& || !
int main(int argc, const
char *argv)
else
return
0;}
10、5_bit.c
#include
//位運算
// & | ^ ~
int main(int argc, const
char *argv)
11、11_expr=.c
#include
int main(int argc, const
char *argv)
12、12_expr.c
#include
//sizeof():用於求乙個資料開闢空間的大小
//sizeof(型別名); sizeof(變數)
int main(int argc, const
char *argv)
資料型別和運算子(二)
運算子分類 二元運算子指的是需要兩個運算元才能完成運算的運算子。二元運算子的運算規則 整數運算 如果兩個運算元有乙個為long,則結果也為long。沒有long時,結果為int。即使運算元全為short,byte,結果也是int。浮點運算 如果兩個運算元有乙個為double,則結果為double。只...
資料型別 運算子
一.資料型別 1.整數型別 2.浮點數 定點數 m為精度 資料總長度 d為標度 小數點後長度 單精度 佔4個位元組,有效數字是7位 雙精度 佔8個位元組,有效數字是16位 在一定情況下,浮點數能表示更大的儲存範圍,但容易產生誤差。因而對精度要求較高時,選擇定點數。定點數以字串儲存。3.日期 時間 4...
資料型別。運算子
一.變數不能重複宣告 int a 10 int a 100 錯誤 二.8種資料型別 1.整形 byte short int long byte 的取值範圍 128 127 2的7次方到2的7次方 1 short 的取值範圍 32768 32767 2的15次方到2的15次方 1 int 的取值範圍 ...