c程式的基本結構
1. (1)乙個c程式由乙個或者多個函式構成,有且僅有乙個主函式main()。
(2)乙個函式由函式的首部和函式體組成。
(3)函式是從主函式(main())開始執行,回到主函式(main())結束;(與main()函式在程式中定義的位置無關)
(4)乙個程式的編譯是從第乙個函式(語句)開始,到最後乙個函式(語句)結束;
(5)演算法的特性:有窮性,確定性,有乙個或者0個輸入,有乙個或者多個輸出;有效性
(6)演算法(程式)的幾個結構:選擇結構,順序結構,迴圈結構
2. 使用者識別符號,由數字,字母,下劃線構成,第乙個不能是數字(一般會出選擇題讓你判斷哪個識別符號定義正確),字母要區分大小寫。不能與32個關鍵字相同。例:p24 第2題p122、2,模擬題第一題
3. 注釋符://注釋一行;/*和*/注釋多行,注釋不可以巢狀書寫。注釋沒有任何語法功能。
c語言的基本資料型別
1. 資料型別:分為:基本型別(整型,實型,字元型,列舉型),指標型別,構造型別(結構體型別,陣列型別,共用體型別),空型別 (空型別合法哦,不要忘記了這個特殊哦)。
基本資料型別
16位編譯器
32位編譯器
char :1個位元組
char :1個位元組
char*(即指標變數): 2個位元組
char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。)
short int:2個位元組
short int : 2個位元組
int: 2個位元組
int: 4個位元組
unsigned int :2個位元組
unsigned int : 4個位元組
float:4個位元組
float: 4個位元組
double: 8個位元組
double: 8個位元組
long: 4個位元組
long: 4個位元組
long long: 8個位元組
long long: 8個位元組
unsigned long: 4個位元組
unsigned long: 4個位元組
一般只需要記int型別是2個位元組,float是4個位元組,double是8個位元組,注意int的最大表示範圍是-32768――+32767,當超過這個範圍的時候,即以%d輸出+32768時結果為-32768長整型(long)表示方法是在數字後面加l,如果乙個變數a=3,那麼表示的是乙個整型的3,如果是a=3l,那麼就是長整型的3;當分別以%o,%ld,%x (8進製,長整型,16進製制)輸出的時候,結果沒有前面的0,0x,和後面的l
例:int a=075,b=ox14;long int c=5l;
printf(「%o,%x,%ld」,a b c); 結果為(75,14,5)
2. 轉義字元: 』 」 ddd(1-3位八進位製所代表的字元) xhh(1-2位十六進製製所代表的字元) 這個書上習題特別多,p25 第19題,p120第3題,p138第16題p147第14題p152第2題等
3. sizeof()和strlen():sizeof()測試字串的儲存長度;strlen()測試字串長度,只計算遇到的第乙個0前面的字元個數。
例:strlen(「abc089」)=3 strlen(「abc012」)=4
注意這個例題:char a[30]=「abc0b」;
sizeof(a)=30 ;
sizeof(「abc0b」)=6;
strlen(a)=3 ;
strlen(「abc0b」)=3 ;
4. 運算子和表示式
(1)算術運算子和算術表示式:注意自增++,自減--,自反-,
++,--,當++,--,在變數後面的時候表示在本次運算的時候不會改變,在下次引用或者參與運算的時候才會自變;當++,--,在變數的前面的時候則是在本次運算就會發生自變(順便掌握++,--結合性是右結合,若i+++j等價於(i++)+j;
(2)關係運算子:>,=,= =,!= ,==和!=優先順序最低。
注意=與==的區別:=是賦值的意思,表示式的值是對變數賦的值,==是關係運算子,關係運算表示式的值為0或者1(關係運算的結果本應是邏輯值,但c語言中沒有邏輯資料型別,因此用整型資料來表示關係運算的結果)。
(3)邏輯運算子:&& ,||,!在這幾個中優先順序!大於 && 大於 ||,優先順序是體現在結合性上而不是運算的先後性上。例如
a=b=c=1;d=++a||++b&&++c
在這個裡面&&最高那就是加粗部分先看成乙個整體,運算順序還是從++a開始,即做完這個運算後,可以依次判斷出後邊的表示式子沒有必要計算了,所以d=1,a=2,b=1,c=1
(4)賦值運算子:簡單賦值運算子「=」其左邊必須是變數。一般形式:變數名=表示式
復合賦值運算子:+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=。注意當等號後面接的是表示式的時候要把表示式看成乙個整體即x *=y+8等價於x=x*(y+8),y+8是乙個整體
(5)條件運算子:由兩個符號「?」和「:」構成,
一般形式:表示式1?表示式2:表示式3
先計算表示式1的值,如果值為真(非0),則將表示式2的值作為條件表示式的值,否則將表示式3的值作為條件表示式的值。
(6)逗號運算子和逗號表示式
一般形式:表示式1,表示式2,……,表示式n
求值時從左至右依次計算,最後計算表示式n的值,並將表示式n的值作為逗號表示式的值。
例:#include
void main()
該程式的輸出結果為29,變數a的值為24,注意此處考察了逗號表示式、逗號和賦值符號的優先順序。=優先順序高於,的優先順序。
(7)位運算子和位表示式(參考教材p17-18)
位運算子有 | (或)即只要有乙個1就是1, &(與)要全部為1才為1 ^(異或)要不相同才為1 ;注意的是當向左移動n位就是乘以2的n次方;向右移動n位就是除以2的n次方。
(8)強制型別轉換運算子
強制型別轉換的一般形式:(型別名)表示式
表示式(double)(x+y),是將x+y的值轉換為double型別後得到的值,變數x,y和表示式x+y都保持原來的資料型別。
c程式的輸出
printf()函式的一般形式為:printf(「格式控制字串」,輸出表列);
格式控制包括兩種資訊:(1)格式說明:由%和格式字元組成。如%d、%f等。作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由%字元開始。(2)普通字元:即需要原樣輸出的字元。如逗號、空格和換行符。所以在寫程式輸出結果時,這種字元要原樣寫出來。
putchar()函式的作用是向終端輸出乙個字元。一般形式:putchar(c),輸出字元變數c的值,c可以是字元型變數或整型變數。
%d,%md,%m.nd, %e,以及相應的幾種格式是什麼意思
c程式的輸入
這裡的格式控制與printf()中的一樣。變數位址表是由若干個位址組成的表列,可以是變數的位址,或字串的首位址。
getchar()函式的作用是從終端輸入乙個字元。gechar函式沒有引數,一般形式:getchar()
常用數學類標準庫函式的簡單應用:
abs()、fabs()、fmod()、sin()、cos()、tan()、exp()、pow()、log()、log10()、sqrt()。參考教材
c列舉型別enum例題 c語言列舉型別的一些例子
c 語言列舉型別的一些例子 注以下全部 的執行環境為 vc 6.0 巨集和列舉的區別 巨集和列舉之間的差別主要在作用的時期和儲存的形式不同,巨集是在預 處理的階段進行替換工作的,它替換 段的文字,程式執行的過程中巨集已不 存在了。而列舉是在程式執行之 b5e2rgbcap 而列舉除后才起作用的,列舉...
列舉型別enum例題 c語言之列舉型別(enum)
1 如果乙個變數只有幾種可能的值,則可以定義為 列舉型別 所謂 列舉 就是把可能的值一一的列舉出來,變數的值只限於列舉出來的值的範圍,如 語法 enum 列舉型別 其中的列舉成員列表是以逗號 相分隔 如 enum spectrum enum spectrum enum spectrum 其中 enu...
C語言基礎 C語言列舉 列舉型別的基本認識
前言 前段時間我們講完了指標和結構體,這次我們來講列舉型別,什麼是列舉呢?打個比方,比如我們乙個星期有七天,從周一到週日,這是固定不變,不可能無端端的跳出乙個星期八出來,在這種固定的情況下,我們如果要寫乙個程式去固定這七天,並且不讓別人亂修改,為了滿足這個需求,列舉就誕生啦.開始首先我們來看看乙個需...