C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)_第1頁
C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)_第2頁
C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)_第3頁
C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)_第4頁
C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.01.c程序基本結(jié)構(gòu)一、c語言的特點(diǎn): 1、c語言源程序的基本組成單位是函數(shù);一個(gè)c程序可由若干個(gè)函數(shù)組成,其中必須有且僅有一個(gè)以main命名的主函數(shù),其余的函數(shù)名稱可由編程者自行設(shè)定。, 2、c程序的執(zhí)行總是由main()函數(shù)的第一個(gè)可執(zhí)行語句開始,到main()函數(shù)的最后一個(gè)可執(zhí)行的語句結(jié)束;而其他函數(shù)都是在main()函數(shù)開始執(zhí)行以后,通過其他函數(shù)的調(diào)用才得以運(yùn)行。 3、c語言系統(tǒng)提供了豐富的庫函數(shù),用戶在程序中需要調(diào)用某個(gè)庫函數(shù)時(shí),必須用#include編譯預(yù)處理命令將描述該庫函數(shù)的頭文件包含進(jìn)去。二、c程序的書寫格式: 1、語句可從分開放在任意多行內(nèi); 如:printf(“to c

2、,”); printf(“ or not to c:”); 與printf(“to c , or not to c:”);是等價(jià)的 2、一行中可以有若干個(gè)語句; 如:a=123;b=345; 3、每個(gè)語句和數(shù)據(jù)定義的最后必須有一個(gè)分號;三、c語言程序的運(yùn)行: 1、編譯(compile):將c源程序文件翻譯成能被計(jì)算機(jī)識別的二進(jìn)制形式的“目標(biāo)”文件;編譯時(shí),編譯器將檢查源程序每一條語句的語法錯(cuò)誤。 2、建造(bulid): c語言程序示例:顯示“hello” #include int main(void) printf(“hello.n”); return 0; 說明:#include 是必不可

3、少的,它包含了c語言標(biāo)準(zhǔn)輸入輸出庫的相關(guān)信息; printf函數(shù)來自”標(biāo)準(zhǔn)輸入輸出庫”,可以產(chǎn)生格式化輸出; n 告訴printf函數(shù)執(zhí)行完信息顯示后要進(jìn)行換行操作; return 0 表明程序終止時(shí)會向操作系統(tǒng)返回值0; 來標(biāo)出main()函數(shù)的起始和結(jié)束。02.數(shù)據(jù)類型一、c語言的特點(diǎn): 1、c語言源程序的基本組成單位是函數(shù);一個(gè)c程序可由若干個(gè)函數(shù)組成,其中必須有且僅有一個(gè)以main命名的主函數(shù),其余的函數(shù)名稱可由編程者自行設(shè)定。 2、c程序的執(zhí)行總是由main()函數(shù)的第一個(gè)可執(zhí)行語句開始,到main()函數(shù)的最后一個(gè)可執(zhí)行的語句結(jié)束;而其他函數(shù)都是在main()函數(shù)開始執(zhí)行以后,通過

4、其他函數(shù)的調(diào)用才得以運(yùn)行。 3、c語言系統(tǒng)提供了豐富的庫函數(shù),用戶在程序中需要調(diào)用某個(gè)庫函數(shù)時(shí),必須用#include編譯預(yù)處理命令將描述該庫函數(shù)的頭文件包含進(jìn)去。二、c程序的書寫格式: 1、語句可從分開放在任意多行內(nèi); 如:printf(“to c,”); printf(“ or not to c:”);精品. 與printf(“to c , or not to c:”);是等價(jià)的 2、一行中可以有若干個(gè)語句; 如:a=123;b=345; 3、每個(gè)語句和數(shù)據(jù)定義的最后必須有一個(gè)分號;三、c語言程序的運(yùn)行: 1、編譯(compile):將c源程序文件翻譯成能被計(jì)算機(jī)識別的二進(jìn)制形式的“目標(biāo)”

5、文件;編譯時(shí),編譯器將檢查源程序每一條語句的語法錯(cuò)誤。 2、建造(bulid): c語言程序示例:顯示“hello” #include int main(void) printf(“hello.n”); return 0; 說明:#include 是必不可少的,它包含了c語言標(biāo)準(zhǔn)輸入輸出庫的相關(guān)信息; printf函數(shù)來自”標(biāo)準(zhǔn)輸入輸出庫”,可以產(chǎn)生格式化輸出; n 告訴printf函數(shù)執(zhí)行完信息顯示后要進(jìn)行換行操作; return 0 表明程序終止時(shí)會向操作系統(tǒng)返回值0; 來標(biāo)出main()函數(shù)的起始和結(jié)束。03,運(yùn)算符和表達(dá)式1、算術(shù)運(yùn)算符和表達(dá)式 +:加法運(yùn)算符,如 35; -:減法運(yùn)算

6、符,如 5-3; *:乘法運(yùn)算符,如 5*8; /:除法運(yùn)算符,如 3/6;參與運(yùn)算量均為整型時(shí),結(jié)果也為整型,舍去小數(shù);若運(yùn)算量中有一個(gè)是實(shí)型,則結(jié)果為雙精度實(shí)型。 %:模運(yùn)算符,也稱“取余運(yùn)算符”,用于計(jì)算兩數(shù)相除后的余數(shù),如 5%3=2;2、賦值運(yùn)算符和賦值表達(dá)式l賦值運(yùn)算符:”,其作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量; 其一般形式為:變量=表達(dá)式 如: x=a+b;l賦值表達(dá)式的功能是計(jì)算表達(dá)式的值再賦予左邊的變量。賦值運(yùn)算符具有右結(jié)合性。因此 a=b=c=5 可理解為 a=(b=(c=5);l復(fù)合賦值運(yùn)算符:+=、-=、*=、/=、%=、=、=、&=、=、|= 構(gòu)成復(fù)合賦值表達(dá)式的一般

7、形式為:變量 雙目運(yùn)算符=表達(dá)式 它等價(jià)于:變量=變量 運(yùn)算符 表達(dá)式 如: a+=5 等價(jià)于a=a+5 x*=y+7 等價(jià)于x=x*(y+7) r%=p 等價(jià)于r=r%p精品.3、類型轉(zhuǎn)換如果賦值運(yùn)算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將自動(dòng)進(jìn)行類型轉(zhuǎn)換,即把賦值號右邊的類型換成左邊的類型。具體規(guī)定如下: 1)實(shí)型賦予整型,舍去小數(shù)部分。前面的例子已經(jīng)說明了這種情況。 2)整型賦予實(shí)型,數(shù)值不變,但將以浮點(diǎn)形式存放,即增加小數(shù)部分(小數(shù)部分的值為0)。 3)字符型賦予整型,由于字符型為一個(gè)字節(jié),而整型為二個(gè)字節(jié),故將字符的ascii碼值放到整型量的低八位中,高八位為0。整型賦予字符型,只把低八位賦予

8、字符量。4、自增、自減運(yùn)算符:l 自增運(yùn)算符:“+”,功能是將變量的值加1;l 自減運(yùn)算符:“-”,功能是將變量的值減1; 可有以下幾種形式:+i i自增1后再參與其它運(yùn)算。-i i自減1后再參與其它運(yùn)算。i+ i參與運(yùn)算后,i的值再自增1。i- i參與運(yùn)算后,i的值再自減1。 注: (1)”+”、”-“的操作對象只能是變量; (2)”+”、”-“運(yùn)算優(yōu)先級相同,且結(jié)合方向自右向左;-i+應(yīng)理解為-(i+), 【例】自增、自減運(yùn)算、 #include main() int i=8; printf(%dn,+i); /* i先加1,再輸出i ,輸出結(jié)果為9 */ printf(%dn,-i);

9、/* i先減1,再輸出i ,結(jié)果為8 */ printf(%dn,i+); /* 先輸出i ,輸出結(jié)果為8,i再加1, */ printf(%dn,i-); /* 先輸出i ,輸出結(jié)果為9,i再減1, */ printf(%dn,-i+); /* 先加輸出-i,輸出結(jié)果為-8,i再加1 */ printf(%dn,-i-); /* 先輸出-i ,輸出結(jié)果為-9,i再減1 */ 5、求字節(jié)運(yùn)算符 計(jì)算表達(dá)式的結(jié)果所占字節(jié)數(shù)或某種數(shù)據(jù)類型的定義字節(jié)數(shù)。 一般格式:sizeof(數(shù)據(jù)類型標(biāo)識符) 或 sizeof(表達(dá)式) 如: sizeof(float)的值為4,占4個(gè)字節(jié); sizeof(2*3

10、)的值為2,占2個(gè)字節(jié);6、關(guān)系運(yùn)算符和關(guān)系表達(dá)式l 關(guān)系運(yùn)算符:“”(小于)、 “”(大于)、”=”(大于等于) 、”=”(等于)、 “!=”(不等于)l 關(guān)系表達(dá)式:若關(guān)系表達(dá)式成立,其值為“真”,否則為“假”;在c語言中,用0代表“假”,用1代表“真”;7、邏輯運(yùn)算符和邏輯表達(dá)式:l 邏輯運(yùn)算符: “!” (非)、 “&” (與)、 “|”(或);運(yùn)算優(yōu)先級: !&|l 邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連接起來的式子;邏輯表達(dá)式的結(jié)果仍然是邏輯量(“真”或“假”)8、條件運(yùn)算符: 一般格式: ?:精品. 先計(jì)算表達(dá)式1,若表達(dá)式1的值為真,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為整個(gè)條件表達(dá)

11、式的值;否則,計(jì)算表達(dá)式3的值,且表達(dá)式3的值即為整個(gè)條件表達(dá)式的值。9、逗號運(yùn)算符和逗號表達(dá)式l 逗號運(yùn)算符:”,”作為運(yùn)算符,其功能是將多個(gè)表達(dá)式組成一個(gè)表達(dá)式; 一般形式:表達(dá)式1,表達(dá)式2,表達(dá)式n 求解過程:先計(jì)算表達(dá)式1,再計(jì)算表達(dá)式2,依此計(jì)算表達(dá)式n,最終,表達(dá)式n的值即為整個(gè)表達(dá)式的值。04.順序結(jié)構(gòu)一、概述: 順序語句按照語法形式分為:表達(dá)式語句、函數(shù)調(diào)用語句、復(fù)合語句、流程控制語句和空語句。1、表達(dá)式語句: 語法格式:表達(dá)式; 如:a+4; 其中賦值語句為最典型的表達(dá)式語句,如: a=5; a=b+3; 特別提示:分號(;)是表達(dá)式語句中不可缺少的一部分。2、函數(shù)調(diào)用語句

12、: 如:printf(”i am a student!”); 其中:printf()為系統(tǒng)提供的函數(shù),用于顯示信息。3、復(fù)合語句: 所謂“復(fù)合語句”即由一對“”括起來的一組語句,也稱“塊語句”或“分程序”。 一般形式為: 語句1 語句2 . 語句n 如: i+; j=a+3; printf(%d,j=,i,j); 特別提示:復(fù)合語句中的最后一條語句的分號不得缺少;復(fù)合語句的“”之后不得有分號。4、空語句: “空語句”即為一個(gè)獨(dú)立的分號。 如: main() . ; . 精品.二、數(shù)據(jù)的輸入輸出 c語言提供了一些輸入輸出函數(shù),如printf()和scanf(),在程序中調(diào)用這些輸入輸出函數(shù)時(shí),必

13、須將標(biāo)準(zhǔn)輸入輸出頭文件“stdio.h”包含到用戶所編寫的源程序中。 如:#include 其中:#include命令一般寫在程序的開頭位置。 1、格式輸入輸出 1、格式輸出函數(shù)printf() (1)一般格式: printf(格式字符串,輸出列表) 其中:“格式字符串”包括“輸出字符”和“格式控制字符”(由%和格式字符組成,指定輸出項(xiàng)的輸出格式)。 d格式符:用于輸出十進(jìn)制整數(shù); %d:以十進(jìn)制形式顯示輸出變量的值; %5d:以十進(jìn)制形式顯示變量的值,且至少占用5個(gè)字符的空間,若不夠5位數(shù)字,則左側(cè)補(bǔ)空格; %-5d:以十進(jìn)制形式顯示變量的值,且至少占用5個(gè)字符的空間,左對齊; %5.3d:

14、以十進(jìn)制形式顯示變量的值,且至少占用5個(gè)字符的空間并至少有3位數(shù)字,若不夠3位數(shù)字,則左側(cè)補(bǔ)0; 如:#include main() int i; i=40; printf(“%dn”,i); printf(“%5dn”,i); printf(“%-5dn”,i); printf(“%5.3dn”,i); f格式符:用于以小數(shù)形式輸出實(shí)數(shù); %10.3f:以定點(diǎn)十進(jìn)制形式顯示變量的值,且總共用10個(gè)字符,其中,整數(shù)位6位,小數(shù)位3位,小數(shù)點(diǎn)1位; 如:#include main() float x; x=839.21f; printf(“%10.3fn”,x); c格式符:用于輸出一個(gè)字符;

15、如: x=”a”,y =”b”, 則 printf(%c %c,x,y)的輸出結(jié)果為:a b 若變量的值為整數(shù),則輸出該整數(shù)值為ascii碼的字符: 如 x=65,y=98,則 printf(“%c, %c”,x,y)的輸出結(jié)果為: a, b; 同理,一個(gè)字符的數(shù)據(jù)也可以以整數(shù)的形式輸出; 如 x=a,y=b,則printf(“%d,%d”,x,y)的輸出結(jié)果為:97,66 s格式符:用于輸出一個(gè)字符串。 如:printf(“%s”,”i am a student !”)精品. e,e格式符:用于以指數(shù)形式輸出實(shí)數(shù)。 如:printf(“%e”, 123.456),則輸出結(jié)果為:1.23456

16、0e+002; g,g格式符:用于輸出實(shí)數(shù),根據(jù)數(shù)值的大小自動(dòng)選擇f格式或e格式。 2、格式輸入函數(shù)scanf() (1)一般格式: scanf(格式字符串,變量地址表) 其中:格式字符串使用雙引號括起來的字符串,包括“普通字符”(按原樣輸入)、“格式控制字符”(由%和格式字符組成,用來標(biāo)定輸入數(shù)據(jù)的格式)。 變量地址表是由若干個(gè)變量地址組成的表列,可以是變量的地址,也可以使字符串的首地址。 d格式:用于輸入十進(jìn)制整數(shù); 如:scanf(“%d,%d”,&x,&y);則輸入格式為:123 ,3456 u格式:用于輸入十進(jìn)制無符號整數(shù); f格式:用于輸入以小數(shù)形式的實(shí)數(shù); 如:scanf(“%f

17、,%f”,&x,&y);則輸入格式為:123.23,23.456 c格式:用于輸入一個(gè)字符; 如:scanf(“%c,%c”,&x,&y);則輸入格式為:a,b s格式:用于輸入一個(gè)字符串; 如:scanf(“%s”,a);假定a為字符數(shù)組,則輸入格式為:abcdef 注:輸入的字符串中間不能包含空格。 特別說明: 對于變量,”&”加變量名即為該變量的地址;如:&a、&b等分別表示變量a和變量b的地址; 對于字符串?dāng)?shù)組或字符指針型變量,數(shù)組名和指針變量名本身即為其地址; 可以在%和格式字符之間加表示位數(shù)的數(shù)字;如:scanf(“%5s”,p);表示只能輸入5個(gè)字符給字符串指針p;3、字符數(shù)據(jù)的

18、輸入輸出: (1)putchar()函數(shù):是向標(biāo)準(zhǔn)輸入輸出設(shè)備輸出一個(gè)字符; 其調(diào)用格式為:putchar(ch); 其中:ch為一個(gè)字符變量或常量; putchar()函數(shù)作用等同于 printf(“%c”,ch); (2)getch() getche()和getchar()函數(shù): getch():從鍵盤上讀入一個(gè)字符,但不顯示在屏幕上; getche():從鍵盤上讀入一個(gè)字符,顯示在屏幕上; getchar():從鍵盤上讀入一個(gè)字符,并顯示在屏幕上,但直到輸入回車鍵時(shí)才結(jié)束輸入,第一個(gè)字符為其函數(shù)的返回值。 05.選擇結(jié)構(gòu)一、if語句: 一般格式: if(表達(dá)式) 語句; 表示:當(dāng)“表達(dá)式

19、”成立時(shí),則執(zhí)行“語句”;否則跳過“語句”; 如:if (ab) printf(“ab!”); 例:若用戶輸入的數(shù)為3的倍數(shù),則顯示”ok” #include main() 精品. int a; scanf(“%d”,&a); if(a %3=0) printf(“ok”); 二、if-else 語句: 一般格式: if (表達(dá)式) 語句1; else 語句2; 例:給出用戶輸入的兩個(gè)整數(shù)的較大者 #include main() int a,b; scanf(“%d,%d”,&a,&b); if(ab) printf(“the max=%d”,a); else printf(“ the max

20、=%d”,b); 三、if語句的嵌套1、if子句中嵌套: if(表達(dá)式1) if(表達(dá)式2) 語句1; else 語句2; else 語句3; if(表達(dá)式1) if(表達(dá)式2) 語句1; else 語句2;2、else子句中嵌套 if (表達(dá)式1) 語句1; else if(表達(dá)式2) 語句2; else 語句3; if(表達(dá)式1) 語句1; else if(表達(dá)式2) 語句2;3、嵌套一般格式: if (表達(dá)式1) 語句1; else if (表達(dá)式2) 語句2;精品. else if (表達(dá)式3) 語句3 ; else if(表達(dá)式n) 語句n; else 語句n+1; 例:將用戶輸入的

21、成績按以下規(guī)則轉(zhuǎn)換成等級成績: 分?jǐn)?shù): 90100 等級:優(yōu) 分?jǐn)?shù): 8089 等級:良 分?jǐn)?shù): 7079 等級:中 分?jǐn)?shù): 6069 等級:及格 分?jǐn)?shù): 60以下 等級:不及格 # include main() int d; printf(“輸入分?jǐn)?shù):”); scanf(“%d”,&d); if(d=90 ) printf(“優(yōu)”); else if(d=80) printf(“ 良”); else if(d=70) printf(“ 中”); else if(d=60) printf(“ 及格”); else printf(“ 不及格”); 四、條件語句: 表達(dá)式1 ? 表達(dá)式2 :表達(dá)式

22、3 執(zhí)行的過程:若表達(dá)式1的值為非0時(shí),該條件語句的職位表達(dá)式2,否則為表達(dá)式3; 例:求一個(gè)整數(shù)的絕對值 #include main() int i,absi; scanf(“%d”,&i); absi=i0 ? i : -i; printf(“%d絕對值是%dn”,i,absi); 五、switch語句 switch (表達(dá)式) case 常量表達(dá)式1: 語句1 ; break; case常量表達(dá)式2: 語句2 ; break;精品. case常量表達(dá)式n: 語句n ; break; default: 語句n+1; 例:商店賣貨物,每一件3.5元,按購買的數(shù)量給與優(yōu)惠: 購買100件,優(yōu)惠

23、5%; 購買200件以上,優(yōu)惠6%; 購買300件以上,優(yōu)惠8%; 購買400件以上,優(yōu)惠10%; 購買500件以上,優(yōu)惠15%; #include main() int n; float p,price; scanf(%d,&n); switch(n/100) case 1: p=0.05; break; case 2: p=0.06; break; case 3: p=0.08; break; case 4: p=0.10; break; case 5: p=0.15; break; price=3.5*n*(1-p); printf(%應(yīng)付款=%7.2fn,price); 06.循環(huán)結(jié)構(gòu)

24、一、for語句: 一般格式: for( 表達(dá)式1 ;表達(dá)式2;表達(dá)式3) 語句; 表示:先計(jì)算表達(dá)式1的值,再計(jì)算表達(dá)式2的值,若表達(dá)式2的值為0,則跳出循環(huán)體,轉(zhuǎn)去執(zhí)行循環(huán)體后面的程序命令;若表達(dá)式2的值非0,則執(zhí)行循環(huán)體中的語句,接著計(jì)算表達(dá)式3的值;而后,再從計(jì)算表達(dá)式2的值開始重復(fù)上訴操作,直到表達(dá)式2的值為0時(shí)結(jié)束。精品.例:計(jì)算sum=1+2+3+100的值” #include main() int i,sum; sum=0; for(i=1;i=100;i+) sum=sum+i; printf(“sum=%d”,sum); 二、while 語句: 一般格式: while 語句;

25、 表示:先計(jì)算表達(dá)式的值,若為非0,則執(zhí)行循環(huán)體語句,然后再計(jì)算表達(dá)式的值,重復(fù)上述過程,直到計(jì)算表達(dá)式的值為0時(shí)結(jié)束循環(huán)。例:計(jì)算sum=1+2+3+100的值 #include main() int i,sum; i=1; sum=0; while(i=100) sum=sum+i; i+; printf(“sum=%d”,sum); 三、do-while語句 1、一般格式: do 語句; while; 表示:先執(zhí)行一次循環(huán)語句,然后計(jì)算表達(dá)式的值,若表達(dá)式的值非0,則再執(zhí)行循環(huán)語句,然后從計(jì)算表達(dá)式的值開始重復(fù)上述過程,直到計(jì)算表達(dá)式的值為0,循環(huán)結(jié)束。 例:計(jì)算sum=1+2+3+10

26、0的值 #include main() int i,sum;精品. i=1; sum=0; do sum=sum+i; i+; while(i=100); printf(“sum=%d”,sum); 四、break和continue語句: 1、break語句: 使用break語句可以提前結(jié)束由while、for、do-while語句構(gòu)成的循環(huán),而去執(zhí)行循環(huán)下面的語句。 例:判定用戶輸入的一個(gè)數(shù)是否為素?cái)?shù) #include main() int a,d; printf(“請輸入一個(gè)整數(shù):”); scanf(“%d”,&a); for(d=2;da;d+) if(a%d=0) break; / 跳

27、出當(dāng)前的循環(huán),執(zhí)行循環(huán)后面的語句 if(da) printf(“%d 不是素?cái)?shù)”, a); else printf(“%d 是素?cái)?shù) “,a); 2、continue: continue語句用于for、while、do-while語句中,其作用是結(jié)束本次循環(huán),接著進(jìn)入下一次是否執(zhí)行循環(huán)的判斷。例:輸入10個(gè)非0的整數(shù)并求和。 #inclu de main() int i,n=0,sum=0; while(n10) printf(“ 請輸入整數(shù):”); scanf(“%d”,&i); if(i=0) continue; / 若為0,則繼續(xù)輸入下一個(gè)數(shù) sum+=i; n+; printf(“%d”

28、,sum);精品. 五、三種循環(huán)的比較: 1、三種循環(huán)可以處理同一個(gè)問題,一般情況下可以相互代替; 2、while和do-while循環(huán)語句只在while語句之后指定循環(huán)條件,在循環(huán)體內(nèi)應(yīng)包含使循環(huán)趨于結(jié)束的語句;for循環(huán)語句可以在中包含使循環(huán)趨于結(jié)束的語句; 3、對于while和do-while循環(huán)語句,循環(huán)變量的初始化應(yīng)在while和do-while語句之前完成;for循環(huán)語句可以在中進(jìn)行; 4、while和for語句是先判斷表達(dá)式,后執(zhí)行循環(huán);do-while循環(huán)語句是先執(zhí)行循環(huán),后判斷表達(dá)式;07數(shù)組數(shù)組是一組具有同一名字、不同下標(biāo)的變量。數(shù)組中帶下標(biāo)的變量稱為數(shù)組元素,每個(gè)數(shù)組元素

29、由數(shù)組名字和下標(biāo)唯一地來確定;同一數(shù)組中的元素?cái)?shù)據(jù)類型相同。一、一維數(shù)組: 1、定義:只有一個(gè)下標(biāo)的數(shù)組。 2、定義格式: 類型說明符 數(shù)組名常量表達(dá)式 如: int a3; /定義了一個(gè)一維數(shù)組,名稱為a,數(shù)據(jù)類型為整型,含3個(gè)數(shù)組元素 a0、a1、a2; 說明: 類型說明符:是指數(shù)組的數(shù)據(jù)類型; 常量表達(dá)式:是一個(gè)值為正整數(shù)的表達(dá)式,用來表示該數(shù)組的元素的個(gè)數(shù),即數(shù)組的大?。?3、數(shù)組的引用: 數(shù)組名下標(biāo); 如: a2 4、數(shù)組的初始化: 對數(shù)組的全部因素賦初值: 如: int a3=10,20,30; 則該語句執(zhí)行后,a0=10,a1=20,a2=30; 對數(shù)組的部分元素賦初值: 如:i

30、nt b3=12,11; 則該語句執(zhí)行后,b0=12,b1=11,a2=0; 對數(shù)組的全部元素賦初值時(shí),也可將數(shù)組定義為一個(gè)不確定長度的數(shù)組: 如:int c =10,15,20;則該語句執(zhí)行后,數(shù)組c的長度自動(dòng)確定為3,c0=10,c1=15,c2=20; 例:將輸入的10個(gè)整數(shù)按反序輸出 #include main() int a10,i; printf(請輸入10個(gè)整數(shù):); for(i=0;i=0;i-) printf(%d,ai); printf(n); 例:計(jì)算fibonacci數(shù)列的前20項(xiàng) fibonacci數(shù)列定義: f(1)=1 f(2)=1精品. f(n)=f(n-1)+

31、f(n-2) (n2) #include main() int f21,i; f1=1; f2=1; for (i=3;i=20;i+) fi=fi-1+fi-2; for (i=1;i=20;i+) printf(%8d,fi); /每個(gè)數(shù)字占8位 if(i%5=0) printf(n); /按5個(gè)一行輸出 二、二維數(shù)組: 具有兩個(gè)下標(biāo)的數(shù)組為二維數(shù)組。1、定義格式: 類型說明符 數(shù)組名常量表達(dá)式常量表達(dá)式 如: int a32; /定義了一個(gè)二維數(shù)組,名稱數(shù)組名為a,含有6個(gè)元素:a00、a01、a10、a11、a20、a21; 說明: 第一個(gè)常量表達(dá)式指出的是數(shù)組的行數(shù);第二個(gè)常量表達(dá)式

32、指出的是數(shù)組的列數(shù); 二維數(shù)組元素的順序是:按行存放;即先順序存放第一行的元素,再存放第二行的元素以此類推; 其存儲格式: a00a01 a10a11 a20a212、二維數(shù)組的初始化:同一維數(shù)組。 分行為二維數(shù)組賦初值: int a32=1,2,3,4,5,6;則該語句執(zhí)行后,a00=1, a01=2, a10=3,a11=4, a20=5, a21=6; 按數(shù)組在存儲時(shí)的排列次序賦初值: int a32=1,2,3,4,5,6; 對數(shù)組的部分元素賦初值: int a32=1,2,3,4; 忽略第一維的長度,對二維數(shù)組賦初值: int a2=1,2,3,4,5,6; 該語句執(zhí)行后,c語言系統(tǒng)

33、自動(dòng)計(jì)算出第一維的長度為6/2=3,同樣有:a00=1, a01=2,a10=3,a11=4, a20=5, a21=6;例:將兩個(gè)2行3列的矩陣相加,并顯示結(jié)果。 #include main()精品. int a23=1,3,5,7,9,11; int b23=2,4,6,8,10,12; int c23,sum=0,i,j; for(i=0;i2;i+) /i 表示第1行到第3行 for(j=0;j3;j+) /j 表示第1列到第3列 cij=aij+bij; for(i=0;i2;i+) for (j=0;j字符串2,則返回1,否則返回-1; 如:比較兩個(gè)字符串str1、str2:if(

34、strcmp(str1,str2)=1) printf(str1str2); strlen(字符數(shù)組); /返回字符數(shù)組中包含的字符串的長度; strlwr(字符串); /將字符串的大寫字符轉(zhuǎn)換為小寫; strupr(字符串); /將字符串的小寫字符轉(zhuǎn)換為大寫; 例:不使用strlen()函數(shù),計(jì)算一個(gè)字符串的長度 #include main() int i=0; char str30; printf(“ 輸入一個(gè)字符串:”); gets(str); while (stri!=0)精品. i+; printf(“字符串長度為:%dn”,i); 例:將一字符串逆轉(zhuǎn) #include #inclu

35、de main() char str20,temp; int i,j; printf(“輸入一個(gè)字符串:”); gets(str); for(i=0;i字符串2,則返回1,否則返回-1; 如:比較兩個(gè)字符串str1、str2:if(strcmp(str1,str2)=1) printf(str1str2); strlen(字符數(shù)組); /返回字符數(shù)組中包含的字符串的長度; strlwr(字符串); /將字符串的大寫字符轉(zhuǎn)換為小寫; strupr(字符串); /將字符串的小寫字符轉(zhuǎn)換為大寫; 例:不使用strlen()函數(shù),計(jì)算一個(gè)字符串的長度精品. #include main() int i=0; char str30; printf(“ 輸入一個(gè)字符串:”); gets(str); while (stri!=0) i+; printf(“字符串長度為:%dn”,i); 例:將一字符串逆轉(zhuǎn) #include #include main() char str20,temp; int i,j; printf(“輸入一個(gè)字符串:”); gets(str); for(i=0;istrlen(str)/2;i+) j=strlen(str)-1; temp=stri; stri=strj-i; strj-i=temp; printf(“倒置的字符串為:%s

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論