標準C語言2

2021-10-07 23:56:40 字數 2917 閱讀 2768

一、資料型別

為什麼對資料進行分類:節約儲存空間,節約執行速度

可以使用sizeof計算型別的位元組數

整形:signed:

signed char 1 -128~127

signed short 2 -32768~32767

signed int 4 2開頭十位整數(正負20億)

signed long 4/8 2開頭十位整數(正負20億)/9開頭的十九位整數

signed long long 8 9開頭的十九位整數

unsigned:

unsigned char 1 0~255

unsigned short 2 0~65535

unsigned int 4 0~40億

unsigned long 4/8 0~40億/1開頭二十位整數

unsigned long long 8 1開頭二十位整數

注意:由於定義無符號資料時比較麻煩,標準庫把這些無符號型別重新定義成需要包含標頭檔案 stdint.h

uint8_t、uint16_t、uint32_t、uint64_t

int8_t、int16_t、int32_t、int64_t

浮點:float 4

double 8

long double 12/16

注意:採用科學計數法,二進位制與真實資料之間需要翻譯,小數點後六位有效

模擬:char 字元其實就是符號或圖案,在記憶體中儲存的是整數,需要顯示時會根據ascii表

『\0』 0 特殊字元,字串的結束標誌

『0』 48

『a』 65

『a』 97

bool 布林 先有了c語言之後才有bool型別,所以c語言不可能有真正的布林型別,

bool true false

二.變數與常量

變數:程式在執行期間數值可以變化的叫變數,相當於儲存資料的盒子

定義:型別 變數名;

int num;

取名規則:

1、由字母、數字、下劃線組成

2、不能以數字開頭

3、不能與關鍵字(32)重名,能默寫

4、見名知義(功能、型別、範圍)

使用:賦值:num=10;

參與運算:num*100;

printf scanf bool sizeof

注意:變數的預設值時隨機的,為了安全要對它進行初始化,一般初始化為0

變數的輸入、輸出:

int printf(const char *format,…);

功能:輸出資料

format:雙引號包含的格式資訊(佔位符)

…:變數位址列表

注意:scanf需要的是變數型別和變數位址,變數位址=&變數名

返回值:輸出字元個數

型別佔位符:c語言通過站位方式來傳遞變數的型別

%hhu %hu %u %llu

%hhd %hd %d %lld

%f %lf %lf,

常量:程式在執行期間數值不可以變化的叫常量

字面值常量

100 預設int型別

100l long

100ll long long

100u unsigned int

100lu unsigned long

100llu unsigned long long

3.14 預設double型別

3.14f float

3.14l long double

『a』「hello world」

三、格式化輸入輸出

%nd 顯示n個字元寬度,不夠則補空格,右對齊

%-nd 顯示n個字元寬度,不夠則補空格,左對齊

%0nd 顯示n個字元寬度,不夠則補0

%n.m 顯示n個字元寬度(小數點算一位),不夠則補空格,m表示小數點後的位數

%g 不顯示小數點後多餘的零

四、運算子

自變運算子:++/-- 使變數的值自動加一或減一

前自變:變數的值立即加1,立即生效

後自變:該行語句結束才生效,下一行才生效

注意:不要一行**中多次使用自變運算子。

算術運算子:+ - * / %(取餘)

整數/整數沒有小數點

/ % 除數不能為零,否則會產生浮點數例外,核心轉儲

*******(重點)== 變數盡量放在右邊

關係運算子:>< >= <= == !=

比較的結果是0或1 比較結果還能繼續參與運算

10 < n < 100 結果永遠為真,與數學中的運算規則不同

邏輯運算子:&& || !

會把運算物件轉換邏輯值,0轉換為假,非0轉換為真

a && b 一假即假

a | | b 一真即真

!a 求反

&& || 具有短路特性,黨左邊值可以確定表示式的結果,右邊不再計算

三目運算子:運算物件由三部分

a?b:c; 判斷a的值如果為真執行b,如果為假執行c

該語句中不能使用流程控制語句,因為它必須要有運算結果

賦值運算子:+= *= /= …

a += b;a = a+b;

a = b;a = ab;

位運算子:& | ~ ^ >> <<

五、型別轉換

自動型別轉換:

只有相同型別的資料才能進行運算,不同型別資料轉換城相同型別再進行運算

轉換規則(以不丟失資料為基礎,適當犧牲一些空間):

1、位元組少向位元組多的轉換

2、有符號向無符號轉換

3、整型向浮點轉換

強制型別轉換:

(型別)資料 有丟失資料的風險,慎重使用

六、分支語句

1 if(表示式)//單分支

2 if(表示式)//雙分支

else

3 if(表示式1)//多分支

else if(表示式2)

else

C語言標準

寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c ansi c和iso c c 的第乙個標準是由ansi發布的。雖然這份文件後來被國際標準化組織 iso 採納並且iso發布的修訂版也被ansi採納了,但名稱ansi c 而不是 is...

C語言標準

c語言標準 寫在前面 k r c不用說。個人以為,我們平常說的標準c,指的是ansi c,iso c,c89,c90。k r c 1978年,丹尼斯 里奇 dennis ritchie 和布萊恩 柯林漢 brian kernighan 合作出版了 c程式語言 的第一版。書中介紹的c語言標準也被c語言...

標準C語言

1 檔案相關 建立檔案 touch 檔名 原本是用來修改檔案屬性的,但如果檔案不存在 會自動把檔案建立出來。刪除檔案 rm 檔名 此命令刪除時不經過 站,檔案恢復困難。複製檔案 cp 原始檔 目標位置 在複製過程中可以修改檔名。移植檔案 mv 原始檔 目標位置 用法與cp基本一致,區別是cp原始檔還...