C語言基礎

2021-07-22 02:25:41 字數 2989 閱讀 2807

注意:計算機中使用補碼來表示資料的!!!(由於正數的原碼、反碼、補碼相同,所以在計算機中顯示的二進位制(補碼)和我們通過計算把數字轉碼成二進位制(原碼)相同)

有符號int型別,取值範圍是:-2^31 ~ (2^31 - 1)

所以int能表示的最大值是 (2^32 -1)

signed:有符號,最高位表示符號位

unsigned:無符號,最高位表示數值位

在c語言中沒有字串,只能使用字元陣列來表示字串;每個字元陣列最後面都有乙個結束符\0,所以字元陣列的長度都+1;

char c = "你好啊hello";
%d

- int

%ld – long int

%lld

- long long

%hd – 短整型

%c - char

%f - float

%lf – double

%u – 無符號數

%x – 十六進製制輸出 int 或者long int 或者short int

%o - 八進位制輸出

%s – 字串

一級指標

二級指標

指標如果沒有賦值,那麼就不能使用,此時指標指向的位址是乙個隨機值,這種指標叫野指標

#include

#include

void function(int* p,int* q)

main()

#include

#include

void function(int* p)

main()

#include

#include

void function(int

** p)

main()

int i =;

int* p = &i;

*p // 1

*(p+1) // 2

char* q = &i;

*q // 1

*(q+4) // 2 注意:這裡如果寫成*(q+1)是錯誤的!!!因為陣列中儲存的是int型,每個元素佔4個位元組,指標應該向右位移4個位元組才能拿到下乙個元素

(1) 在棧上分配的記憶體,叫靜態記憶體

(2) 在堆上分配的記憶體,叫動態記憶體

申請方式

系統申請後的反應

申請大小的限制

申請效率的比較

堆和棧中的儲存內容

記憶體的**

#include

#include

main()

printf("請輸入插班人數:");

int newcount;

scanf("%d", &newcount);

//現在原來舊的堆記憶體後面,擴充套件新的空間

//如果舊堆記憶體後面的空間已經被別的程式占用了,那麼就無法擴充套件

//如果不能擴充套件,就會尋找乙個塊足夠大的記憶體區域,申請新的堆記憶體 ,並且會把舊堆記憶體的資料複製到新的堆記憶體中

//釋放舊的堆記憶體

p = realloc(p , (count + newcount) * sizeof(int));

for(i = count + 1; i <= count + newcount; i++)

for(i = 1; i <= count + newcount; i++)

system("pause");

}

struct student

第二種

struct student2

st2;

第三種

struct

st3

#include 

#include

void study()

// 定義結構體

// 結構體中不能定義函式,但是可以定義函式指標

struct student;

main();// std 結構體變數

printf("芳齡%d\n",std.age);

std.studyp();// 第一種方法

struct student* stdp = &std;

(*stdp).studyp(); // 第二種方法

// ->左邊必須是結構體的一級指標,右邊是函式指標名字

stdp->studyp();// 第三種方法(開發中一般使用這種 )

system("pause");

}

#include

#include

main() un;

un.i = 30;

un.s = 20;

printf("%d\n",un.i);

// 20 聯合體同時只能有乙個值,後面的值會把前面賦給聯合體變數的值覆蓋掉

printf("%d\n",sizeof(un));

// 4個位元組 聯合體長度取變數中的最大值 int

system("pause");

}

#include 

enum weekday

;int main(void)

typedef newname oldtype;

#include

#include

// hehe這個時候跟int的作用一樣,相當於給int起了個別名

typedef

int hehe;

main()

c 語言基礎

三個訪問描述符 public private 和protected 都可以修飾類的資料成員和成員函式 public 可以可以被任何訪問,private 只能被該類的公,私成員函式,該類的友元函式或者友元類的成員函式訪問。protected 只能被該類的公,私成員函式和該類的派生類訪問。c 中除了,和...

c語言基礎

1.問題描述 從鍵盤輸入三個整數,分別存入x,y,z三個整型變數中,計算並輸出三個數的和以及平均值。輸入形式 從鍵盤輸入三個整數,整數之間以空格隔開。輸出形式 在螢幕上分兩行顯示結果 第一行為三個數的和,整數形式輸出 第二行為三個數的平均值,浮點數形式輸出,小數點後保留兩位小數。輸入樣例 3 2 3...

C語言基礎

找最大最小整數 2.問題描述 編寫乙個程式,使用者輸入若干整數,試找出其中的最大數和最小數。輸入形式 使用者在第一行待輸入資料個數,在第二行輸入資料。輸出形式 程式在下一行輸出資料的最大值和最小值 樣例輸入 589 62 96 74 52 樣例輸出 96 52 樣例說明 使用者第一次輸入的為資料個數...