c語言基礎 變數型別和定義

2021-10-24 08:32:41 字數 2344 閱讀 5213

常量:固定的乙個值 例如1 2 3 a b

變數:乙個固定的記憶體位址,其中儲存的值可以變化,這個位址的名字在程式體現就是變數

例子:#include 「stdio.h」

int main(void)

計算機當中資料是以二進位制儲存的 0 1

以char型為例 char型佔1位元組

1byte=8bit

1k=1024byte

1m=1024k

1g=1024m

1t=1024g

char型 1位元組8位

0000 0000 最小

1111 1111 最大

這都是二進位制

二進位制 <–> 十進位制

8421

1001 0011 這是乙個二進位制

1 0 0 1 0 0 1 1 二進位制

128 64 32 16 8 4 2 1 權數

128 + 16 + 2 + 1 = 147

十進位制怎麼轉二進位制:

63 --> 二進位制 ??

63最大不超過64

63 - 32 餘 31

31 - 16 餘 15

15 - 8 餘 7

7 - 4 餘 3

3 - 2 餘 1

1 - 1 餘 0

128 64 32 16 8 4 2 1 權數

0 0 1 1 1 1 1 1

結果為 0011 1111

二進位制 – 十進位制 – 十六進製制的轉換

二進位制轉16進製制 4位表示乙個16進製制

十進位制轉16進製制 將十進位制先轉成二進位制,然後再轉成16進製制

0011 1111 --> 十六進製制: 0x或h表示十六進製制

表:十進位制 二進位制 十六進製制

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 a

11 1011 b

12 1100 c

13 1101 d

14 1110 e

15 1111 f

char型佔1位元組 8個位

最小 0000 0000 0

最大 1111 1111 255

變數的型別不同,所表示的範圍不同

char 0~255 在無符號的情況下

變數型別有 有符號和無符號的區分

signed 有符號

unsigned 無符號

負數怎麼表示:

以char型為例:8位

用最高位表示符號位

0 表示為正

1 表示為負

unsigned char a; (a的數值範圍0~255)

signed char a; (a的數值範圍-128~+127)

0111 1111 +127

1111 1111 -127

1000 0000 和 0000 0000 都表示0 表示-128(這跟負數的儲存方式有關,負數用補碼儲存,補碼反碼的概念)

1、char 佔1位元組 8位

範圍 如果是unsigned char 8位都是數值位 0~255

如果是signed char 最高位符號位 7個數值位 -128~+127

2、int型:

在32位晶元和編譯器上int佔4位元組

4位元組 32位

***x ***x ***x ***x ***x ***x ***x ***x

2^31 2^0

unsigned int a; a的範圍0~4294967295

signed int a; a的範圍-2147483648~+2147483647

注意:在定義變數的時候注意變數的範圍:

unsigned char a= 128; 對

signed char a=128; 錯

#include 「stdio.h」

int main(void)

else if (rec >= 'a' && rec <= 'z')

printf("\n轉換結果為:%c\n",rec);

getchar();

return 0;// 從鍵盤任意輸入乙個字元,如果是大寫就轉換為小寫,如果是小寫,就轉為大寫

#include 「stdio.h」

int main(void)

else if (rec >= 65 && rec <= 90)

printf("\n轉換結果為:%c\n",rec);

getchar();

return 0;

C 基礎變數和以及型別定義

基礎變數型別short 短整形,佔兩個位元組 long 長整型,佔4個位元組 int 整形,2或4個位元組 long long 長長整形,8個位元組 char 字元型別,1個位元組 bool 布林值,1個位元組,true或者false float 浮點數,單精度,4個位元組 double 浮點數,雙...

C語言struct結構型別定義和結構變數說明

在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型 學號可為整型或字元型 年齡應為整型 性別應為字元型 成績可為整型或實型。顯然不能用乙個陣列來存放這一組資料。因為陣列中各元素的型別和長度都必須一致,以便於編譯系統處理。為了解決這個問題,語言中給出了另一種構造資料型別...

C語言基礎四 預處理和變數型別

預處理指令 以 號開頭,可以寫在任何位置,在編譯之前執行 巨集定義檔案包含 條件編譯 一 巨集定義 無引數 有引數 num叫做巨集名,6是用來替換巨集名的字串 define num 6 define sum a,b a b 這裡需要括號括起來,防止複雜運算出錯 巨集定義和函式雖然相似,但巨集定義在編...