C語言的資料結構

2021-06-17 19:14:30 字數 1552 閱讀 9410

資料型別:基本資料型別;構造資料型別;指標型別;空型別。

1、基本資料型別:不能再分解為其他型別,如整型(int);字元型(char);浮點型(float、double);列舉(enum)

①、整型(int):十進位制;八進位制、十六進製制

a、十進位制:無字首,其數碼為0~9;

b、八進位制:必須以0開頭,數碼取值為0~7;

c、十六進製制:必須以0x或者0x開頭,數值取值為0~9,a~f或a~f;

十進位制轉換成八進位制或十六進製制採用除8(除16)取餘法

十進位制常數158(十進位制為158)、258000l(十進位制為258000);

八進位制常數012l(十進位制為10)、077l(十進位制為63)、0200000l(十進位制為65536)

十六進製制常數0x15l(十進位制為21)、0xa5l(十進位制為165)、0x1000l(十進位制為65536)

②、字元型(char):以ascii碼的形式存放

char a, b;

a = 120;

b = 121;

printf("%c,%c\n",a,b);

printf("%d,%d\n",a,b);

定義a,b為字元型,當格式符為「c」時,對應輸出的變數值為字元,當格式符為「d」時,對應輸出的變數值為整數

③、浮點型(float。double):只採用十進位制,有2種形式:十進位制小數形式,指數形式

a、單精度型(float):精度6,位元數32(4)

b、雙精度型(double):精度15,位元數64(8)

④、列舉(enum): 如enum num= 新創造

輸出結果:

該程式是以四種格式輸出整型變數a的值

資料之間的轉換規則:

1、若參與運算量的型別不同,則先轉換成同一型別,然後進行運算;

2、轉換按資料長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量裝成long型後再進行運算;

3、所有的浮點運算都是以雙精度進行運算的,及時含有float單精度的梁運算,也要先轉換成double型,在做運算;

4、char型和short型參與運算時,必須先轉換成int型;

5、在賦值運算中,賦值號兩邊量的資料型別不同時,賦值號右邊量的型別將轉換成左邊量的型別。

型別自動轉換的規則:

double

long

unsigne

intchar,short

#include

int main(int argc, int **argv)

float f = 5.75f;

printf("(int)f = %d, f  = %f\n",(int)f, f);

return 0;

f雖然強制轉換成int型,但只在運算中起作用,是臨時的,二f本身的型別並不改變。因此,(int)f的值為5而f的值仍為5.75.

資料結構 C語言 資料結構 查詢

二 查詢演算法的效能分析 三 基於線性表的查詢 四 基於樹的查詢 五 基於雜湊表的查詢 文章索引 分類typedef struct elemtype typedef struct sstable 從表中第一條 最後一條記錄開始,逐個進行記錄的關鍵字與給定值的比較,若某個記錄的關鍵字和給定值比較相等,...

C語言 資料結構

指標一維陣列 指標陣列 陣列指標 malloc函式 字元陣列 結構體聯合體 報錯問題 亂碼了,阿肆的github,這裡顯示正常,都是傳的md檔案。include include int main void ide根據檔案字尾選擇編譯器,cpp呼叫c 編譯器 c程式進行編譯是以源程式檔案為物件進行的,...

C語言資料結構

1 鍊錶的高階操作 void reverse struct node l p1 next tailp l next p1 鍊錶的反轉 2 鏈式儲存結構的棧 鏈棧 struct snode 棧的節點定義 struct stack 棧的定義 struct stack initstack 棧的初始化 bo...