C語言學習筆記(三) 資料和C

2021-08-18 01:33:48 字數 2410 閱讀 6637

#include int main(void)
有些資料在程式使用之前已經設定好了,在整個程式的執行過程中沒有變化,這些被稱為常量,比如上面示例中的233.55。

其他資料型別在程式執行中可能被改變或賦值,這些被稱為變數,比如上面示例中的weight。

最初k&r給出的關鍵字

c90標準新增的關鍵字

c99標準新增的關鍵字

intsigned

_bool(布林值)

long

void

_complex(複數)

short

_imaginary(虛數)

unsigned

char

float

double

按計算機的儲存方式可以分為兩大基本型別:整數型別和浮點數型別。

計算機把浮點數分為小數部分和指數部分來表示,而且分開儲存這兩部分。例如:7.00和7的儲存方式是不同的,7.0可以寫成0.7e1,0.7是小數部分,1是指數部分。

① 整數沒有小數部分,浮點數有小數部分;

② 浮點數可以表示的範圍比整數大;

③ 對於一些算術運算,浮點數損失的精度更多;

④ 在區間內都存在無窮個實數,所以計算機的浮點數不能表示區間內的所有值,通常只是實際值的近似值;

⑤ 浮點運算比整數運算慢。

int值目前是32位,取值範圍是-2^31~2^31-1

① 宣告int變數

可以單獨宣告乙個變數,也可以在int後列出多個變數名

//宣告int變數,但還沒有賦值

int num1;

int num2,num3;

② 初始化變數

就是為變數賦乙個初始值,可以先宣告再賦值,也可以在宣告中賦值

//初始化變數

int num4;

num4 = 10; //先宣告再賦值

int num5 = 20; //宣告並賦值

int num6, num7 = 30; //宣告兩個變數並為其中乙個變數賦值,可以但不建議

③ int常量

如上面出現的10、20、30都是int常量

④ 列印int值

void example3()
⑤ 八進位制與十六進製制

以十進位制顯示數字使用%d

以八進位制顯示數字使用%o,字首0,要顯示字首使用%#o

以十六進製制顯示數字使用%x,字首0x,要顯示字首使用%#x

void example4()
char型別用於儲存字元,但從技術層面上看,char是整數型別,因為char型別實際上儲存的是整數而不是字元。計算機使用數字編碼來處理字元,它用特定的整數來表示特定的字元,例如在ascii編碼中,整數65代表大寫字母a,因此儲存字母a實際上儲存的是整數65。

① 宣告char型別變數並初始化

用單引號括起來的字元稱為字元常量,編譯器發現'a',會將其轉化為相應的**值

char c='t';
因為字元是以數值的形式存在的,所以也可以用數字**賦值,如下:

char c = 65;//可以這樣做,但這不是一種好的程式設計習慣
② 轉義序列

③ 列印字元

%d轉換說明列印型別變數的值是乙個整數,而%c轉換說明則是列印該整數對應的字元。

void example5()
注意:printf()中的轉換說明決定了資料的顯示方式,而不是資料的儲存方式,儲存都是整數。

值1表示true,值0表示false,所以_bool實際上也是一種整數型別,它僅佔一位儲存空間

void example6()  else 

}

① float和double的區別

float

double

至少能表示的有效數字

6位6位

取值範圍

10^-37~10^+37

所佔位數

32位,8位表示指數值和符號,24位表示非指數部分

64位,多出的32位全部表示非指數部分

變數宣告

帶f或f字尾

系統預設

轉換說明

%f%f

② 宣告浮點數變數並賦值

void example7()
%zd轉換說明匹配sizeof的返回型別,不支援c99和c11的可以使用%u或%lu

void example8()
printf()語句把輸出傳送到乙個叫緩衝區的中間儲存區域,當緩衝區滿、遇到換行字元或需要輸入的時候,然後緩衝區中的內容就會被重新整理到螢幕上。

C語言學習筆記(三)

1.控制語句 if else 條件語句 for 迴圈語句 while 迴圈語句 do while 迴圈語句 continue 結束本次迴圈語句 break 中止執行switch或迴圈語句 switch 多分支選擇語句 return 從函式返回語句 goto 最好不使用 2.函式呼叫語句 3.表示式語...

C語言學習筆記(三) 函式

c語言學習筆記 三 函式 函式的過載 函式名相同,函式的引數型別或者引數的數量不同 int max2 int a,int b int max3 int a,int b,int c 這就是函式的過載,編譯器會自動選擇使用哪個函式 函式的重寫 c 子類的虛函式重寫父類的虛函式,函式名相同,函式的引數型別...

C語言學習(三)

程式的模組化設計 程式設計練習 課外話 挫折是人生的常態,在我們遭遇疫情,不應一味放大痛苦讓其充塞心靈。我們要學會調適心弦,坦然面對,全國人民團結一致,就一定會戰勝疫情。祖國加油 武漢加油 你的答案 陣列程式的模組化設計 所謂陣列,是有序的元素序列。1 若將有限個型別相同的變數的集合命名,那麼這個名...