科大C語言筆記 1

2022-07-21 13:12:13 字數 3000 閱讀 9322

關於c語言:

1.計算機的資料在電腦中儲存是以二進位制的形式.

2.編譯預處理不是c語言的一部分,不佔執行時間,不要加分號

3.每個c語言程式寫完後,都是先編譯,後鏈結,最後執行。(.c--->.obj--->.exe)

4.記住預定義識別符號可以做為使用者識別符號。

c語言只有

八、十、十六進製制,沒有二進位制。但是執行時候,所有的進製都要轉換成二進位制來進行處理

小數的合法寫法:c語言小數點兩邊有乙個是零的話,可以不用寫。

1.0在c語言中可寫成1.

0.1在c語言中可以寫成.1

2.333e-1 就是合法的,且資料是2.333×10-1

e前e後必有數,e後必為整數

算術表示式:+,-,*,/,%

考試一定要注意:「/」 兩邊都是整型的話,結果就是乙個整型。 3/2的結果就是1.

「/」 如果

有一邊是

小數,那麼結果就是小數。 3/2.0的結果就是0.5

「%」符號請一定要注意是餘數,  %符號兩邊要求是整數。不是整數就錯了。[注意!!!]

賦值表示式:表示式數值是最左邊的數值,a=b=5;該表示式為5,常量不可以賦值。

1、int x=y=10: 錯啦,定義時,不可以

連續賦值。

2、int x,y;

x=y=10; 對滴,定義完成後,可以連續賦值。

3、賦值的左邊只能是乙個變數。

4、int x=7.7;對滴,x就是7   //int 則截斷小數部分

5、float y=7;對滴,x就是7.0000000  //float,則小數部分自動加0

字元資料的合法形式::

'1' 是字元佔乙個位元組,"1"是字串佔兩個位元組(含有乙個結束符號)。

'0' 的ascii數值表示為48,'a' 的ascii數值是97,'a'的ascii數值是65。

一般考試表示單個字元錯誤的形式:'65' "1"  

字元是可以進行算術運算的,記住: '0'-0=48

大寫字母和小寫字母轉換的方法: 'a'+32='a' 相互之間一般是相差32。

字元是可以進行算術運算的,記住: '0'-0=48

大寫字母和小寫字母轉換的方法: 'a'+32='a' 相互之間一般是相差32。

八進位制轉義字元: 『\141』 是合法的, 前導的0是不能寫的。

十六進製制轉義字元:』\x6d』 才是合法的,前導的0不能寫,並且x是小寫

格式說明

表示內容

格式說明

表示內容

%d整型 int

%c字元 char

%ld長整型 long int

%s字串

%f浮點型 float

%o八進位制

%lfdouble

%#o帶前導的八進位制

%%輸出乙個百分號

%x十六進製制

%5d%#x

帶前導的十六進製制

printf(「%2d」,123 ); 第二部分有三位,大於指定的兩位,原樣輸出123

printf(「%5d」,123 ); 第二部分有三位,小於指定的五位,左邊補兩個空格 123

printf(「%10f」,1.25 ); 小數要求補足6位的,沒有六位的補0,。結果為 1.250000

printf(「%5.3f」,125 ); 小數三位,整個五位,結果為1.250(小數點算一位)//其實輸出的是0.000        

printf(「%3.1f」,1.25 );小數一位,整個三位,結果為1.3(要進行四捨五入)

scanf(「a=%d,b=%d」,&a,&b)

一定要記住是以第一部分的格式在終端輸入資料。考試核心為:一模一樣。

在黑色螢幕上面輸入的為 a=12,b=34才可以把12和34正確給a和b 。有一點不同也不行。

2、scanf(「%d,%d」,x,y);這種寫法絕對錯誤,scanf的第二個部分一定要是位址!

scanf(「%d,%d」,&x,&y);注意寫成這樣才可以!

二叉樹的遍歷是指按照某種順序訪問二叉樹中的每個結點,使每個結點被訪問一次且僅被訪問一次。

通過一次完整的遍歷,可使二叉樹中結點資訊由非線性排列變為某種意義上的線性序列。也就是說,遍歷操作使非線性結構線性化。

二叉樹:根結點、根結點的左子樹和根結點的右子樹三部分組成

dlr(稱為先序遍歷)、ldr(稱為中序遍歷)和lrd(稱為後序遍歷)

1

先序遍歷二叉樹的遞迴演算法如下:

2void

preorder(bitree bt)

3

中序遍歷二叉樹的遞迴演算法如下:

void

inorder(bitree bt)

後序遍歷二叉樹的遞迴演算法如下:

void

postorder(bitree bt)

所謂二叉樹的層次遍歷,是指從二叉樹的第一層(根結點)開始,從上至下逐層遍歷,在同一層中,則按從左到右的順序對結點逐個訪問

malloc() 函式     #include

其原型為:void* malloc (size_t size);    

【引數說明】size 為需要分配的記憶體空間的大小,以位元組(byte)計

【函式說明】malloc() 在堆區分配一塊指定大小的記憶體空間,用來存放資料。這塊記憶體空間在函式執行完成後不會被初始化,它們的值是未知的。如果希望在分配記憶體的同時進行初始化,請使用 calloc() 函式

分配成功返回指向該記憶體的位址,失敗則返回 null

由於申請記憶體空間時可能有也可能沒有,所以需要自行判斷是否申請成功,再進行後續操作。

函式的返回值型別是 void *,void 並不是說沒有返回值或者返回空指標,而是返回的指標型別未知。所以在使用 malloc() 時通常需要進行強制型別轉換,將void 指標轉換成我們希望的型別

char *ptr = (char *)malloc(10);  //

分配10個位元組的記憶體空間,用來存放字元

科大C語言筆記 2

最優二叉樹,也稱哈夫曼 haffman 樹,是指對於一組帶有確定權值的葉結點,構造的具有最小帶權路徑長度的二叉樹 給出4 個葉結點,設其權值分別為1,3,5,7,我們可以構造出形狀不同的多個二叉樹。這些形狀不同的二叉樹的帶權路徑長度將各不相同。這五棵樹的帶權路徑長度分別為 a wpl 1 2 3 2...

C語言筆記 1

字與位元組 不同系統的字的定義可能不一樣,位元組長度與編譯器有關 bit 位 位元組 8bit 字 4位元組 32bit 半字 2位元組 16bit int 4位元組 char 1位元組 double 8位元組 float 4位元組 short 2位元組 long 4位元組 注意 指標都是4位元組 ...

C語言筆記1

helloworld include main fahrshiftcelsius1.0 include 當fahr 0,20,300時,分別 列印華氏溫度 攝氏溫度對照表 main getch fahrshiftcelsius2.0 include 當fahr 0,20,300時,分別 列印華氏溫度...