C語言 基礎部分

2021-10-02 03:31:46 字數 4038 閱讀 9964

無符號整型的取值範圍是0-65535(2^16-1),有符號整型的取值範圍是-32768——+32767(-2^8——2^8-1)

/*

*l&u可以是小寫

*/num=100l //l表示長整型

num=100u //u表示無符號整型

num=0123 //0用來表示八進位制,所有數字均需小於8

num=123 //十進位制數不需要新增字首

num=0x123 //0x十六進製制,十六進製制由0-9、a-f組成

/*資料以二進位制的方式存放在計算機中,數值是以補碼的形式儲存的,

*正數的補碼為原碼,負數的補碼其絕對值為按位取反再加1*/

/* *有符號數第一為符號位,0為負1為正

*/num=10e2 //表示10的平方

num=123f //單精度型別

num=123l //長雙精度型別 如果不新增預設為雙精度型別

char a = 'a'; //字元型常量

儲存字串常量時,系統會為字串後面自動新增「\0」作為結束符,長度為1

符號常量:程式開頭用define定義      格式:#definr num 10

signed int num;    //有符號整型

unsigned int num; //無符號整型

long double num; //長雙精度變數

char c = 'a'; //字元型變數

變數的儲存型別:靜態static、暫存器register、外部extern、自動auto。

auto int num = 1;    //自動儲存型別

static int num = 1; //靜態儲存型別

register int num = 1; //暫存器變數

extern int num = 1; //外部儲存變數

auto關鍵字用於定義乙個區域性變數為自動的,每次執行到該變數時,都會產生乙個新的變數,並對其重新進行初始化。區域性變數的儲存方式預設為自動的。

static變數為靜態變數,在語句執行期間,static變數始終保持它的值,初始化操作只在第一次執行時起作用,在執行過程中,變數保持語塊上一次執行的值。

register變數,將區域性變數儲存到暫存器中,提高程式執行速度

強制型別轉換

float i = 10.1f;

int j = (int)i;

算數運算子:兩個單目運算子(正負)+5個雙目運算子(加減乘除取餘)

兩個整數相除結果為整數,如7/4=1,捨去的是小數部分,若其中乙個為負數時,採取「向零取整」的方法,7/-4=-1,取整後向零靠攏。

當算數運算子的優先順序相同時,採用 自左向右結合的方式進行運算。

賦值運算子:=       等於運算子:==

邏輯運算子!!將變數的數值轉化為相應的邏輯真值或假值。

value = 2+5,3+1,5+7;       //value=7

value = (2+5,3+1,5+7); //value=12

/* *()運算的優先順序高於,

*/printf("%d",~-15); //14

printf("%d",~15); //-16

/* *正數取反添負號加一,負數取反為正減一

字元輸入輸出函式

putchar();    //字元輸出函式,引數可為字元型

getchar(); //字元輸入函式,無參

//字元輸入輸出示例

getchar();

putchar(getchar());

char a = getchar();

putchar(a);

putchar(getchar()); //不會執行,無法輸入輸出字元

//字串輸入輸出示例

int main()

//\0作為結束符

int main()

puts(char *str); //字串輸出函式,引數為指標字元變數,以\0作為結束符,會自動換行

gets(); //字串輸入函式,會自動換行

%a           浮點數、十六進製制數字和p-記數法(c99)

%a   浮點數、十六進製制數字和p-記法(c99)

%c   乙個字元(char)

%c          乙個iso寬字元

%d    有符號十進位制整數(int)(%ld、%ld:長整型資料(long),%hd:輸出短整形。) 

%e    浮點數、e-記數法

%e    浮點數、e-記數法

%f     單精度浮點數(預設float)、十進位制記數法(%.nf  這裡n表示精確到小數字後n位.十進位制計數)

%g    根據數值不同自動選擇%f或%e.

%g   根據數值不同自動選擇%f或%e.

%i             有符號十進位制數(與%d相同)

%o   無符號八進位制整數

%p   指標

%s   對應字串char*(%s == %hs == %hs 輸出 窄字元)

%s          對應寬字串wcahr*(%ws == %s 輸出寬字串)

%u      無符號十進位制整數(unsigned int)

%x    使用十六進製制數字0f的無符號十六進製制整數 

%x      使用十六進製制數字0f的無符號十六進製制整數

%%     列印乙個百分號

%i64d 用於int64 或者 long long

%i64u 用於uint64 或者 unsigned long long

%i64x 用於64位16進製制資料

int main()

scanf格式化輸出符號詳細說明 c

輸出乙個字元

d 或 i

輸出帶符號的十進位制整數

o以八進位制無符號形式輸出整形數(不帶前導 0 )

x 或 x

以十六進製制無符號形式輸出整型數(不帶前導), x 輸出小寫字母, x 輸出大寫字母

u按無符號的十進位制形式輸出證型數

f以帶小數點的形式輸出單精度和雙精度數

e 或 e

以 [-]m..dde(e)+_xx 的指數形式輸出浮點數。 d 的個數精度指定,精度為 0 時小數部分不輸出

g 或 g

由系統決定採用 %f 格式還是採用 %e 格式,以使輸出寬度最小

s輸出字串的字元,直到

目錄

printf 格式化輸出符號詳細說明

遇到「 \0 」,或者輸出由精度指定的字串數

p輸出變數的記憶體位址

列印乙個「 % 」

m(m 為一正整數 )

規定輸出資料的最小寬度為 m 位

.n(n 為一正整數 )

對實數,表示輸出的實數保留 n 位小數,對字串,表示擷取字串的前 n 個字元

一使輸出的資料在域內向左對齊,省略「一」時,向右對齊

#includeint main()

輸入輸出字元格式以結束標誌「\0」作為最後乙個字元

printf使用的是變數的識別符號,而不是變數的位址。而scanf函式是用的是變數的位址,而不是變數的識別符號。

輸入輸出double型別的資料使用%lf

//大小寫轉換

#includeint main()

C 基礎 C語言部分4

一 編譯預處理 1.巨集定義 以 define 開始,分為帶引數和不帶引數兩種。不帶引數的巨集定義 define pi 3.14 巨集替換只是巨集名譽字串之間的簡單替換,不做其他任何資料型別和合法性檢查,也不分配記憶體空間。帶引數的巨集定義 define mul x y x y 注意 寫帶引數巨集定...

C 基礎 C語言部分2

一 列舉型別 enum 列舉型別名 enum weekday 二 全域性變數 在函式外定義,如 int a 但是引用的時候要使用 當區域性變數與全域性變數同名的時候,不同名的時候直接用a就可以了 a 來引用。三 變數的儲存類別 1.auto變數 只能修飾區域性變數,auto變數的空間在棧中分配,分配...

008 C語言基礎部分

c語言嚴格區分大小寫 常量與變數的區別 常量不可變,變數可變 資料型別 基本型別 構造型別 指標型別 空型別 基本型別 整型,字元型,浮點型,列舉型別 浮點型 單精度型,雙精度型 構造型別 陣列型別,結構型別,共用體型別 運算子和表示式 賦值運算子 計算運算子 關係運算子 邏輯運算子 位運算子 條件...