# 資料型態和變數 ## 介紹變數之前... ### 電腦是如何存資料的? 先來了解bit跟byte bit與byte皆是電腦資訊的計量單位。 * Bit = 位元 = b(小寫) = 0 或 1 * Byte = 位元組 = B(大寫) = 00000000、00000001 ~ 11111111,2^8(256)種狀態  1 Byte = 8 Bits 1個字為1個byte,中文字則為2 byte 1個byte 可表示 0~255的數字,也可以表示一個英文字母及符號 這個東西叫二進制 --- ### 如何計算? 以100來舉例: * 要從十進位轉成二進位  * 從二進位轉成十進位  --- 如果是負數? 有<font color=#FF0000>二補數</font>的概念 就是把最後一個Bit 所代表的數字加個負號。  --- 如果是浮點數? 浮點數的二進位牽扯到數學指數部分,但原理幾乎都差不多,有興趣可以去查一下 --- ## 資料型態 以下表格為常用的資料型態 | 型別 | 表示方法 | 數值範圍 | Bits | |:----------:|:------------------ |:------------------------------------------- |:-------- | | 整數(有號) | int | -2147483648 ~ 2147483647 | 16 or 32 | | | char | -128 ~ 127 | 8 | | | long | -2147483648 ~ 2147483647 | 32 | | | long long | -9223372036854775808 ~ 9223372036854775807 | 64 | | 整數(無號) | unsigned int | 0 ~ 4294967295 | 16 or 32 | | | unsigned char | 0 ~ 256 | 8 | | | unsigned long | 0 ~ 4294967295 | 32 | | | unsigned long long | 0 ~ 18446744073709551615 | 64 | | 浮點數 | float | 3.4E +/- 38 (7 位數) | 32 | | | double | 1.7E +/- 308 (15 位數) | 64 | | 布林值 | bool | 0~1 | 1 | | 字元 | char | -128 到127(預設值) 使用編譯時為0到255 | 8 | 字元:  由圖可知,我們發現每一個字元對電腦來說都代表一個數字。 ex: 字元'1'代表的數字不是1,而是49。 ## 變數 變數:可以將我們要的資料存起來,之後可以使用 ### 如何宣告變數? 在C/C++,當需要使用變數時,都需要先宣告。 ``` 資料型態 資料名稱 ``` 舉例: ```c int a; float b; char c; ``` 變數名稱可以隨便取都可以,但有幾種規定 :::warning 1. 變數名稱不能有中文 如:`int 變數`、`int 人數`:-1: 2. 變數名稱的開頭不能是數字,但在英文後面加數字是可以的 如:`int 123`、`int 33`:-1: `int q1`:+1: 4. 變數名稱中不能有運算符號或判斷運算子 如:+ - * / % & | { } []:-1: 5. 大小寫所宣告的變數,記憶體位置是不一樣的 如:`int star` `int Star` 6. 變數名稱中不能有空格,可以用_代替 如:`int counter people` :-1: `int counter_people` :+1: ::: --- 我們也可以宣告多個變數,用`,`分開變數 ```c int a,b,c; ``` ## 賦值 將我們要的資料放進變數裡 舉例: ```c int a; float b; char c; a=1; b=1.5; c='A'; ``` --- 也可以在宣告時就直接賦值 舉例: ```c int a=1,b=2,c=3; ``` --- 強制變更變數的資料型態 舉例: ```c float a; int b; a=(float)b; ``` ## 補充:#define、const ### define `#define`中文代表定義,可以將一個變數轉換成一個數字或者資料型態。 define後面不用加`;` ``` #define 名稱 數值or資料型態 ``` 舉例: ```c= #include <stdio.h> #define SEANCHOU 10 #define CHISC int int main(){ CHISC a=SEANCHOU; printf("%d",a); return 0 ; } ``` 輸出: ``` 10 ``` ### const 當有一個變數你希望他的值不要變,那就可以用const保護起來,你果你試著更改這個變數的值,他會報錯。 舉例 ```c= #include <stdio.h> int main(){ const int a=10; a=20; printf("%d",a); return 0 ; } ``` 報錯 ``` error: assignment of read-only variable 'a' ``` ###### tags: `中和高中`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.