C語言知識點總結(jié)_第1頁
C語言知識點總結(jié)_第2頁
C語言知識點總結(jié)_第3頁
C語言知識點總結(jié)_第4頁
C語言知識點總結(jié)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、c語言知識點總結(jié)c語言知識點總結(jié)1一、常量2標(biāo)2三、變量2四、表達(dá)式3五、輸入輸出函數(shù)4六、c語言的語句5七、c程序的基本結(jié)構(gòu)5八、選擇結(jié)構(gòu)語句5> if(表達(dá)式)語句 1 else 語句 25> 條件運算符 表達(dá)式1?表達(dá)式2 :表達(dá)式36> switch 語句6九、循環(huán)結(jié)構(gòu)6> foi循環(huán)語句6> while循環(huán)語句 do while循環(huán)語句6十、數(shù)組7十一、字符串函數(shù)7十二、函數(shù)8十三、指針9十四、宏定義10十五、結(jié)構(gòu)體,共用體,枚舉類型10十六、turbo c的使用12常量數(shù)字常量i. 普通數(shù)字:1, 35, 2.7ii. 指數(shù)形式:2.45e-2等價于2

2、.45*10-2注意e大小寫皆可,e前面的數(shù)字 不能省,就算是1也不能省,后面的數(shù)字_走要是整數(shù)iii. 長整型,單精度浮點型:3235l, 32.5f分別表示3235是長整型數(shù)據(jù), 32.5是單精度浮點型左,若不寫上l, f則表示3235是整型,32.5是 雙精度浮點型,l, f大小寫皆可字符常量i. 普通字符常量:用単號把一個字符括起來,如,at,ii. 轉(zhuǎn)義字符常量:一對單引號括起來并以弋開頭的字符序列,如'w(回車)、,123'(8進(jìn)制123對應(yīng)的字符),'x23'(16進(jìn)制23對應(yīng)的字符)字符串常量用一對寂喬號把一個字符序列括起來,如“abcef”,系

3、統(tǒng)存放字符串 常量,每個字符分配一個字節(jié),各字符所占字節(jié)緊鄰,并且字符吊末尾會給再開一個字節(jié)里而放一個做為結(jié)束標(biāo)志。符號常量定義格式#define符號常量名 符號常量值,如#define n 20則定義了符號常量n,其值為20,注意符號常量名和符號常量值之間是用空格隔開, 而不是寫上=號,#define和符號常量名之間也有空格的。> 題目:p71, 5, 6, 7, 9, 10二、標(biāo)識符命名規(guī)則以數(shù)字,字母,下劃線這三類字符組成,但只影以字母或下劃線開頭, 而不能也數(shù)字開頭,另叭不能將關(guān)鍵字做為標(biāo)識符。32個關(guān)鍵字表在 p365附錄b變量名,函數(shù)名,符號常量名全都是標(biāo)識符 題目:p72,

4、 3, 4三. 變量變量的定義格式類型名變量名如int a;定義寧一個整型常量a。變量名是由人類隨便定義的,符合命 名規(guī)則的前提卜,愛寫啥就寫啥。所以什么flag,cc,yl或者函數(shù)名fun,find 等全部是自定的用來做為名字而已,沒冇更特別的意義。類型名int整型,long長整型:用于存放整數(shù),只是數(shù)值范圍不同float單精度浮點型double雙精度浮點型:用于存放實數(shù),數(shù)值范圍, 精度不同chai字符型:用于存放字符變量賦值,初始化int a=3;定義的同吋初始化a=6*9;定義后在程序中進(jìn)行賦值變量的值只有在賦值操作時才會被改變,即將其放在等號左邊時才會改變它的值, 或自增自減操作:a

5、=5,a+,a,像a+3并未改變a的值,只是使用了 a 的值而已.自增自減運算變量+,+變量,變量“,變量 使變量的值自增1或自減1等價于 變量二變量+1變量二變量1+,-放于變量前后效果的區(qū)別:當(dāng)自增自減運算做為表達(dá)式的一部分時,+, 一放在變量前面是先自增 自減再使用變量的值,放在變量后面則是先使用變量的值,再自增自減。 如 x=3; printf(“ct,+x);貝!相當(dāng)于執(zhí)行了 +x; printf(“ct,x);這樣的操作 所以打卬岀4一再如 x=3; printf(“d",x+);則相當(dāng)于執(zhí)行 了 printf(“d",x); x+;這樣的操 作,則打印出3,當(dāng)

6、然最后x的值還是4。四. 表達(dá)式運算符和運算對象一個運算符都有若干個運算對象,如+必然要跟兩個運算對象才能進(jìn)行 加法運算:3+5oc語言里稱需要跟n個運算對象的運算符為n元運算符。 一元運算符有:!,(類型名)二元運算符有:+,*,/,%(求余), = +=, -=, *=, /=,%=, ,=, =,=(等 于),!=(不等于),&&(且),|(或)多元運算符有:,運算符的優(yōu)先級和結(jié)合性i. 優(yōu)先級:同一個運算對象左右兩邊若同時有兩個運算符,則這兩個運算 符優(yōu)先級高的先進(jìn)行運算。ii. 結(jié)合性:若同一個運算對象左右兩邊的兩個運算符優(yōu)先級相同,則根據(jù) 結(jié)合性判斷先進(jìn)行哪個運算,

7、自左自右結(jié)合性的先算左邊的運算符,自 右自左的先算右邊的運算符。hi.各運算符的優(yōu)先級和結(jié)合性見p3砧附錄c強制類型轉(zhuǎn)換格式:(類型名)表達(dá)式。將后跟的表達(dá)式的值的數(shù)據(jù)類型轉(zhuǎn)換為與圓 括號內(nèi)的類型名一致的類型。注意類型名一定要用()括起來。算術(shù)運算符:+,*,/,%(求余)算術(shù)表達(dá)式由算術(shù)運算符加上運算對象構(gòu)成算術(shù)表達(dá)式,如3+3*69/2iii. 值:跟我們小學(xué)時學(xué)的一樣,就是表達(dá)式的計算結(jié)果iv. 整數(shù)除以整數(shù)結(jié)果取整數(shù)部分,故1/3得到的值是0匕 5%3結(jié)果為2,想想小學(xué)除法,求余得到的是余數(shù)不是商。賦值表達(dá)式i. 賦值運算符:=,+=,=,*=, /=,%=ii. 賦值表達(dá)式:變量二表

8、達(dá)式,如x=3+6, x+=6-9, x+=x*=3+4莊意爭號 左邊只能是變量iii. 復(fù)合賦值運算符的運算:以/=為例:x/二表達(dá)式等價于x=x/俵達(dá)式)iv. 值:二號左邊的變量最終的值>關(guān)系表達(dá)式i. 關(guān)系運算符: <,>,<=, >=,=(等于),匕(不等于)ii. 由關(guān)系運算符加上運算對象構(gòu)成關(guān)系表達(dá)式,如3>=4, 2=aiii. 值:滿足相應(yīng)運算符所指定的關(guān)系的值為1,否則為0>邏輯表達(dá)式i. 邏輯運算符:&&(且),11(或),!(非)ii. 由邏輯運算符加上運算對象構(gòu)成邏輯表達(dá)式,如3&&4, xll

9、!yiii. 值:滿足相應(yīng)運算符所指定的關(guān)系的值為1,否則為0iv. 進(jìn)行或 運算時,若h左邊的表達(dá)式值為i,則不再對右邊的表達(dá)式 進(jìn)行運算。v.進(jìn)行&&且 運算時,若&&左邊的表達(dá)式值為0,則不再對右邊的表達(dá)式進(jìn)行運算。>逗號表達(dá)式i. 逗號運算符:,ii. 用逗號將各種表達(dá)式連續(xù)起來構(gòu)成逗號表達(dá)式,如3+4,a=9,8*aiii. 值:組成逗號表達(dá)式的各個表達(dá)式中的最后一個的值,如上例為8*a> 題口: p71117p81833五、輸入輸出函數(shù)> scanf(“格式控制串”,變量地址表列);如 scanf(<<%d%c%d,&a

10、mp;a,&ch,&b);scanf(<<%4f,&x);注意:i. 洛控制串可控制截取用戶輸入的前幾個字符給變量,但不能控制輸入 幾位小數(shù)給變量,如不能寫成scanf(“4.2f",&x);ii. 第二個參數(shù)給的是地址,即要么是&+變量名或數(shù)組元素名的形式,耍 么就是一個數(shù)組名或指針變量名,如int *p,a; p二&a; scanf(“d",p);iii. 考試時注意看題目給你寫好的scanf的格式1. 若其格式控制串內(nèi)各格式符用“,”隔開如一scanf(“d, %c, %d,&a,&ch,&a

11、mp;b);那輸入時也要用逗號隔開,如此例輸 入時應(yīng):3,+,52. 若是這種格式scanf(“d %d”,&a,&b);則輸入時應(yīng):3 5;3. 若是這種格式scanf(tt%d%c%d,&a,&ch,&b);則輸入?yún)紤?yīng)3+5,若寫成3+ 5則a=3,ch=''(空格),b二任意值(自己上機運行看看結(jié)果)> printf(“格式控制串”,輸出項表列);如float x=7.5; printf(“8.2f:x);此處的意思是將x打印岀來,月.占8歹i, 保留兩位小數(shù)。自己上機運行看看效果。>常用格式符匯總:i. %d:輸入輸岀

12、整型數(shù)據(jù),%ld:輸入輸岀長整型數(shù)據(jù)ii. %c:輸入輸出字符型數(shù)據(jù)iii. %f:輸出單(雙)精度浮點型數(shù)據(jù),輸入單精度型數(shù)據(jù)。% if:輸入雙精度型數(shù)據(jù)iv. %s:輸入輸出一個字符串,用printf輸出字符串時,輸出項書寫時可為字符串常量,或字符數(shù)組名。如printf(“sthello”);或charstr 1 othello”; printf(6<%sn,str);v. %u:輸入輸出無符號整型,%o:輸入輸出八進(jìn)制數(shù),%x:輸入輸出十六進(jìn)制數(shù)> getchar();函數(shù)調(diào)用后返回用戶輸入的一個字符,故需再定義一個變量來存放這個 字符,即使用時應(yīng)char c; c=getc

13、har();意思就是接收用戶輸入的一個字 符,并將其賦值給變量c。> putchar(字符常量或字符變量名);如 char ca,; putchar(c);或 putcharca9);都會向屏幕輸出字符 a。六. c語言的語句>表達(dá)式語句:由表達(dá)式末尾加上分號構(gòu)成。>函數(shù)調(diào)用語句:由函數(shù)調(diào)用表達(dá)式加上分號構(gòu)成。>空語句:;> 選擇結(jié)構(gòu)語句:if語句switch語句> 循環(huán)語句:for語句while語句do while語句>復(fù)合語句:用花括號將以上任意語句折起來構(gòu)成一條復(fù)合語句。七. c程序的基本結(jié)構(gòu)void main()聲明部分:用來定義變量和聲明自定

14、義函數(shù)的原型,需以結(jié)尾,如intx; 執(zhí)行語句部分:第六點里介紹的各種語句,如x=3; primf(“ct,x);main函數(shù)外可寫自定義函數(shù)。如int max()return 0;八. 選擇結(jié)構(gòu)語句> if(表達(dá)式)語句1 else語句2如果訐語句的圓括號內(nèi)的表達(dá)式值為非0,則執(zhí)行語句1,值為0則執(zhí)行語 句2。i. 表達(dá)式可為任意表達(dá)式,if語句執(zhí)行的實質(zhì)是判斷表達(dá)式的值是否為0 來決定執(zhí)行語句1還是語句2。另外請在此處表達(dá)嚴(yán)重關(guān)切,不管是高 手還是菜鳥經(jīng)常會把判斷兩個數(shù)相等的符號“=”寫成了一個等號 成為了賦值運算,這樣的寫法不會引發(fā)編譯錯誤,但結(jié)杲會與原意大 大不同,所以考試前請再

15、三提醒自己。ii. 語句1和語句2都只能是一個語句,若要跟多條語句,切記用一對0 括起來,構(gòu)成復(fù)合語句;也不要隨便在圓括號后加“;”,因“;" 構(gòu)成一條空語句,這會使后面跟的語句1不再屬于if語句的組成部分。iii. 訐語句的三種結(jié)構(gòu)1.單邊:if(表達(dá)式)語句2. 雙邊:if(表達(dá)式)語句1 else語句23. 多層(重點掌握上if(表達(dá)式1)語句1else if(表達(dá)式2)語句2else if(表達(dá)式3)語句3 else語句n> 條件運算符表達(dá)式1?表達(dá)式2 :表達(dá)式3若表達(dá)式1的值非0,則取表達(dá)式2的值做為整個表達(dá)式的值,否則取表達(dá) 式3的值為整個表達(dá)式的值。如3>

16、4? 1:2該表達(dá)式的值為2> switch 語句switch(表達(dá)式)case表達(dá)式1:語句case表達(dá)式2:語句 case表達(dá)式n:語句 default:語句語句執(zhí)行過程:先計算表達(dá)式的值,然后判斷該值與表達(dá)式1到表達(dá)式n中的哪個相等,若與表達(dá)式i的值相等,則執(zhí)行表達(dá)式i后的所冇語句,當(dāng)遇到break;語句時結(jié)束整個switch語句的執(zhí)行。表達(dá)式1到表達(dá)式n的值都不相等的情況下執(zhí)行default后跟的語句。每個case后可跟多條語句。九、循環(huán)結(jié)構(gòu)> for循環(huán)語句for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語句語句執(zhí)行過程:1. 計算表達(dá)式12. 判斷表達(dá)式2的值是否為0,若為

17、0,語句執(zhí)行結(jié)束,若不為0,進(jìn)入 步驟33. 執(zhí)行循環(huán)體語句(需注意的是循環(huán)體語句只能有一個語句,若要包含多 個語句要用一對0括起來,構(gòu)成一條復(fù)合語句,此處也不要隨便加上因一個“;"可構(gòu)成一條空語句,這會使得后面真正的循環(huán)體 語句不屬于for循環(huán)語句的部分進(jìn)入步驟44. 計算表達(dá)式3,然后重新進(jìn)入步驟2> while循環(huán)語句do while循環(huán)語句i- while(表達(dá)式)循環(huán)體語句執(zhí)行過程:1. 判斷表達(dá)式的值是否為非0,若是進(jìn)入步驟2,否則結(jié)束語句執(zhí)行。2. 執(zhí)行循環(huán)體語句,重新回到步驟1。ii. do循環(huán)體語句while(表達(dá)式);執(zhí)行過程:1.執(zhí)行循環(huán)體語句,進(jìn)入步驟2

18、2. 判斷表達(dá)式的值是否為非0,若是重新回到步驟1,否則結(jié)束語句執(zhí)行。這里要注意的地方跟for語句一樣,即循環(huán)體語句只能有一個語句,若要 包含多個語句要用一對0括起來,構(gòu)成一條復(fù)合語句,此處也不要隨便加 上因一個“;”可構(gòu)成一條空語句,這會使得后面真正的循環(huán)體語 句不屬于wh訂e循環(huán)語句的部分,另外do while循環(huán)的while (表達(dá)式)后 是要加“;”的。 break語句:放在循環(huán)體內(nèi)實現(xiàn)的功能是結(jié)束其所在的那層循環(huán)的執(zhí)行。十、數(shù)組定義格式:數(shù)據(jù)類型數(shù)組名整型常量;如定義了一個整型數(shù)組,數(shù)組名為a,這個數(shù)組含冇10個元素。引用數(shù)組元素:格式:數(shù)組名下標(biāo)切記下標(biāo)值從0開始。下標(biāo)可為常量,表

19、達(dá)式,變量等,如 int i=3;a0=5; a3*2=9;ai=7;初始化:數(shù)據(jù)類型數(shù)組名整型常量=數(shù)據(jù)表列;將數(shù)據(jù)表列的各個值依次賦值給數(shù)組的各個元素。女flint a5=0,1,2,3,4;則數(shù)組a各元素a0到 a4的值分別為0, 1, 2, 3, 4遍歷數(shù)組元素數(shù)組定義后,我們不能對數(shù)組進(jìn)行整體的操作,如inta10;不能用*3這樣 的操作將數(shù)組的各元索都賦值為3;而只能一個一個元索的進(jìn)行賦值,如 a0=3;al=3;a2=3.a9=3;當(dāng)然此時我們就可以借助于一個for循環(huán)來 控制下標(biāo)的變化從而對數(shù)組的各個元素進(jìn)行賦值for(i=0;i10;i+) ai=3;當(dāng)然這只是用for循環(huán)遍

20、歷數(shù)組各元素的最簡單的例子,一般考試考的是找 出數(shù)組元索的某種特性的極值,比如最大值,最小值,或?qū)?shù)組各元索進(jìn)行 排序,這時我們就可以使用for循環(huán)來遍歷數(shù)組的各元素,然后在當(dāng)前循環(huán) 屮得到一個元素再對其進(jìn)行處理。如i=2時訪問到的元素是a2,你就可以 問問它,你是不是最小值啊。整型數(shù)組int a10;整型數(shù)組里的各個元索存放的是整數(shù)。a3=3;字符型數(shù)組char str20;字符型數(shù)組里的各個元素存放的是字符。str3=?a?;十一、字符串函數(shù) gets(字符數(shù)組名或字符指針變量);如 char str10,* str2; str2=str;貝ij gets(str);或 gets(str2

21、);都是接收用戶輸 入的字符串如“abc”存入到字符數(shù)組str屮 puts(字符數(shù)組名或字符指針變量或字符串常量);如 char str10= hina; char *str2;str=str2; 則 puts(str);或 puts(str2);或 puts(“china");都會在屏幕上打印出china> strlen(字符數(shù)組名或字符指針變量);字符串測長函數(shù)char str20=nhello world!"int len;len=strlen(str);得出的結(jié)果是 len 的值為 12> strcat(字符串1的地址,字符串2的地址);將字符串2的內(nèi)容

22、連接到字符串1的尾部。char strl 20=''abc",str220="xyz''strcat(strl,str2);則程序運行的結(jié)果是血1內(nèi)存放的字符串變?yōu)閍bcxyz,當(dāng)然血2存放 的字符串還是xyzo> strcmp(字符串1的地址,字符串2的地址);比較串1和串2哪個比較大。比較大小的依據(jù)是,兩個字符串從左往右 相應(yīng)位置上第一個不相等的字符ascii碼值之差。char strl20=,abce,str220=,abde,>int i;i=strcmp (strl,str2);第一個不相等的字符為s"的

23、9;c'和血2的'd',而二者相差1,故1 做為strcmp函數(shù)執(zhí)行的結(jié)果返冋到被調(diào)用的位置,該位置位于賦值表達(dá) 式內(nèi),故將其值賦值給i,即此時i的值就是1> strcpy(字符串1的地址,字符串2的地址);將字符串2的內(nèi)容復(fù)制到字符串1內(nèi)。char strl 20=''abc',str220'xyz''strcpy(strl,st;此吋strl的內(nèi)容為=yz”,當(dāng)然str2的內(nèi)容沒變 strcpy(strl juvw");此時 strl 的內(nèi)容又變成了 “uvw十二. 函數(shù)>函數(shù)定義函數(shù)類型 函數(shù)名

24、(形式參數(shù)列表)內(nèi)部變量定義和聲明部分執(zhí)行語句如:int max (int x , int y ) int z;z= x > y ? x : y ;return ( z );注意點:1. 函數(shù)類型是指返回值的類型,即要與return語句后跟的表達(dá)式的值的類型一致。 若函數(shù)類型為void則說明該函數(shù)無返回值,即函數(shù)體里不能出現(xiàn)return語句。2. 形式參數(shù)列表里定義的變量耍記得給它們指定類型,而丸如果同時要定義多 個,應(yīng)在每個前面都分別指定類型名,而不能寫成int x,y;3. 函數(shù)體里能寫的語句跟main函數(shù)一樣,在開頭可定義所需要的變量,后面跟 上一堆執(zhí)行語句。>函數(shù)調(diào)用流程以

25、上而的函數(shù)為例,在main函數(shù)進(jìn)行調(diào)用:void main() int a, b, c;scanf ( “d%d” , &a, &b);printf ( “d” , max (a, b);或 c=max (a, b) ;printf ( "%d” , c)以上兩種方法 都會在屏幕屮打印出a, b間的較大值。調(diào)用函數(shù)的格式函數(shù)名(實際參數(shù)列表);調(diào)用的時候像什么函數(shù)類型,形式參 數(shù)的類型就不要加上去了。max (a, b)中max就是函數(shù)名,寫上變量名a, b是實際 參數(shù)列表,執(zhí)行這個調(diào)用語句時,會先把a, b的值給相應(yīng)位置的形式參數(shù)即執(zhí)行 t x=a, y=b這樣的操

26、作,然后開始執(zhí)行max函數(shù)的函數(shù)體的語句。當(dāng)max函數(shù)體 里執(zhí)行到一個return語句吋,則max函數(shù)結(jié)朿執(zhí)行,將return后的表達(dá)式的值 返回給main函數(shù)調(diào)用max函數(shù)的那個位置,即若上面滬3, b=5則max (a, b) return 后的表達(dá)式的值應(yīng)該是5也就是說執(zhí)行完max后把5返回到調(diào)用max的位置可看 成printf(“d” , 5);或另一種解法的c=5°十三、指針指針變量的聲明:類型名*指針變量名;通過指針變量訪問它所指向的普通變量的值先將普通變量的地址賦值給指針變量,再通過指針運算符*得到普通變 量的值。int *p,x,y;x=3;p=&x;則pri

27、ntf(“cf',*p);會打印出3即x的值y=*p;則y的值變?yōu)?*p=5;則x的值變?yōu)?指針變量加上(減去)一個位移的效果若指針變量存入的是數(shù)組元素的地址,則其加一減一得到的是那個數(shù)組 元才下一個或前一個元素的地址。int a10; p=&a3;邛得到的是a3的值。若p+;此時p存放的是a4的地址&a4;邛得到的就是a4的值。 或p-;此時p存放的是a的地址&a2, *p得到的就是a2的值。行指針i. 主要是對于二維數(shù)組來說的,二維數(shù)組每行都有自己的地址,第0行地 址用數(shù)組名表示,第i行地址為數(shù)組名+i;而想要得到二維數(shù)組里 一個元索的地址,必需先得到其所在

28、行的地址,然后再曲那個地址得到 元素的地址,比如說int a34;定義了一個二維數(shù)組,該二維數(shù)組 第0行的地址為a,第1行的地址為a+1,第2行的地址為a+2,想從 行的地址得到元素的地址,需在行地址前加上指針運算符“*”,即切 就是第0行首個元素的地址即aoro的地址,而a的地址就是在 a的地址基礎(chǔ)上加上位移量2,即*&+2,然后想得到a02這個元 素的值呢就再加上一個指針運算符“*”,即*(*a+2),類似地,想得到 a2這個元素的值呢就是*(*(a+2)+2)ii. 定義行指針變量:類型名(*變量名)數(shù)組長度;如int (*p)4,a;p=a;此時就可把p當(dāng)成a來用,用法同上所述

29、。判斷是否合法訪問數(shù)組元素:若是指針法訪問,判斷指針后跟的是否地址; 若是下標(biāo)法訪問,判斷下標(biāo)有無越界。函數(shù)指針:函數(shù)名即為函數(shù)的地址(指針)i. 函數(shù)指針變量的定義:類型名代變量名)(形參列表);如int (*p)();ii. 賦值:指針變量二函數(shù)名;設(shè)有個函數(shù)其函數(shù)名為max,則要將該函數(shù)的 地址給p的話只要執(zhí)行如下語句即可p = max;指針數(shù)組:指針數(shù)組的數(shù)組元素都是指針變量,是用來存放變量的地址的, 定義格式為類型名*變量名數(shù)組長度;如int*p10;指向指針的指針:指針變量也是一種變量,故在內(nèi)存中也冇對應(yīng)的一個地址, 而要存放指針變量的地址,就要求助于用來存放指針變量的地址的指針變

30、 量,定義格式 類型名*變量名;如int *pl;int*p2; int a=3;可進(jìn)行賦值 pl=&a; p2=&pl;則 a、*pl 和 *p2 的值都是 3.十四、宏定義無參宏定義#define標(biāo)識符值定義后,岀現(xiàn)所定義的標(biāo)識符的地方都 將以定義時指定的值來代替。#define m 2+3main() int x;x=m*m;則x的值為2+3*2+3=11若想得到的結(jié)果是(2+3尸(2+3)則 定義時也寫成這樣#define m (2+3)注意#define、標(biāo)識符、值之間都要用空格隔開,且宏段義結(jié)尾不需加 分號。帶參宏定義#define標(biāo)識符(參數(shù)表)值# define

31、 s(x,y) x*ymain() int a=3,b=4,c=5,d=6; printf(ha*b=%dnn, s(a,b); 此時會打印出 a*b=12 printf("a+b*c+d=%dn”,s(a+b,c+d);此時會打印出 a+b*c+d=29,帶參宏定義執(zhí)行時是將a+b這樣一個表達(dá)式代替x, c+d這樣一個表達(dá)式代 替y,所以s(a+b,c+d)進(jìn)行的是a+b*c+d的運第而不是將a+b的值給x, c+d的值給y然后再做x*y,這點跟函數(shù)調(diào)用傳遞參數(shù)是不一樣的。自定義類型名typedef:對已存在的類型名取一個外號。i. 基木格式:typedef原類型名新類型名;ii.

32、 typedef int integer;貝lj int a,b;等價于 integer a,b;iii. typedef int num10;貝lj intaflo;等價于 num a; a 即為一個有 10 個元素的數(shù)組的數(shù)組名。iv. typedef int * integer;貝lj int *a,*b;等價于 integer a,b;十五.結(jié)構(gòu)體,共用體,枚舉類型結(jié)構(gòu)體結(jié)構(gòu)體類型的定義及變量的定義 struct結(jié)構(gòu)體名 類型成員1;類型成員2; 類型成員n;變量名;如struct student char name 10;long num;int score4;stl淀義類型時同時定義變量struc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論