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頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)C語言程序設(shè)計(jì)基礎(chǔ)知識要點(diǎn)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:""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(“ToC,”);printf(“ornottoC:”);與printf(“ToC,ornottoC:”);是等價(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<>intmain(void){printf(“Hello.\n”);return0;}說明:#include<>是必不可少的,它包含了C語言標(biāo)準(zhǔn)輸入輸出庫的相關(guān)信息;printf函數(shù)來自”標(biāo)準(zhǔn)輸入輸出庫”,可以產(chǎn)生格式化輸出;\n告訴printf函數(shù)執(zhí)行完信息顯示后要進(jìn)行換行操作;return0表明程序終止時(shí)會(huì)向操作系統(tǒng)返回值0;{}來標(biāo)出main()函數(shù)的起始和結(jié)束。""數(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í)行以后,通過其他函數(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(“ToC,”);printf(“ornottoC:”);與printf(“ToC,ornottoC:”);是等價(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<>intmain(void){printf(“Hello.\n”);return0;}說明:#include<>是必不可少的,它包含了C語言標(biāo)準(zhǔn)輸入輸出庫的相關(guān)信息;printf函數(shù)來自”標(biāo)準(zhǔn)輸入輸出庫”,可以產(chǎn)生格式化輸出;\n告訴printf函數(shù)執(zhí)行完信息顯示后要進(jìn)行換行操作;return0表明程序終止時(shí)會(huì)向操作系統(tǒng)返回值0;{}來標(biāo)出main()函數(shù)的起始和結(jié)束。03,運(yùn)算符和表達(dá)式1、算術(shù)運(yùn)算符和表達(dá)式+:加法運(yùn)算符,如3+5;-:減法運(yùn)算符,如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á)式 賦值運(yùn)算符:”=”,其作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量;其一般形式為:變量=表達(dá)式如:x=a+b;賦值表達(dá)式的功能是計(jì)算表達(dá)式的值再賦予左邊的變量。賦值運(yùn)算符具有右結(jié)合性。因此a=b=c=5可理解為a=(b=(c=5));復(fù)合賦值運(yùn)算符:+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=構(gòu)成復(fù)合賦值表達(dá)式的一般形式為:變量雙目運(yùn)算符=表達(dá)式它等價(jià)于:變量=變量運(yùn)算符表達(dá)式如:a+=5等價(jià)于a=a+5x*=y+7等價(jià)于x=x*(y+7)r%=p等價(jià)于r=r%p3、類型轉(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。整型賦予字符型,只把低八位賦予字符量。4、自增、自減運(yùn)算符:自增運(yùn)算符:“++”,功能是將變量的值加1;自減運(yùn)算符:“--”,功能是將變量的值減1;可有以下幾種形式: ++ii自增1后再參與其它運(yùn)算。 --ii自減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(){inti=8;printf("%d\n",++i);/*i先加1,再輸出i,輸出結(jié)果為9*/printf("%d\n",--i);/*i先減1,再輸出i,結(jié)果為8*/printf("%d\n",i++);/*先輸出i,輸出結(jié)果為8,i再加1,*/printf("%d\n",i--);/*先輸出i,輸出結(jié)果為9,i再減1,*/printf("%d\n",-i++);/*先加輸出-i,輸出結(jié)果為-8,i再加1*/printf("%d\n",-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)的值為2,占2個(gè)字節(jié);6、關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符:“<”(小于)、“<=”(小于等于)、”>”(大于)、”>=”(大于等于)、”==”(等于)、“!=”(不等于)關(guān)系表達(dá)式:若關(guān)系表達(dá)式成立,其值為“真”,否則為“假”;在C語言中,用0代表“假”,用1代表“真”;7、邏輯運(yùn)算符和邏輯表達(dá)式:邏輯運(yùn)算符:“!”(非)、“&&”(與)、“||”(或);運(yùn)算優(yōu)先級:!>&&>||邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連接起來的式子;邏輯表達(dá)式的結(jié)果仍然是邏輯量(“真”或“假”)8、條件運(yùn)算符:一般格式:<表達(dá)式1><表達(dá)式2>:<表達(dá)式3>先計(jì)算表達(dá)式1,若表達(dá)式1的值為真,則計(jì)算表達(dá)式2的值,且表達(dá)式2的值為整個(gè)條件表達(dá)式的值;否則,計(jì)算表達(dá)式3的值,且表達(dá)式3的值即為整個(gè)條件表達(dá)式的值。9、逗號運(yùn)算符和逗號表達(dá)式逗號運(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á)式的值。""順序結(jié)構(gòu)一、概述:順序語句按照語法形式分為:表達(dá)式語句、函數(shù)調(diào)用語句、復(fù)合語句、流程控制語句和空語句。1、表達(dá)式語句:語法格式:表達(dá)式;如:a+4;其中賦值語句為最典型的表達(dá)式語句,如:a=5;a=b+3;特別提示:分號(;)是表達(dá)式語句中不可缺少的一部分。2、函數(shù)調(diào)用語句:如:printf(”Iamastudent!”);其中: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í),必須將標(biāo)準(zhǔn)輸入輸出頭文件“”包含到用戶所編寫的源程序中。如:#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è)字符的空間,左對齊;%:以十進(jìn)制形式顯示變量的值,且至少占用5個(gè)字符的空間并至少有3位數(shù)字,若不夠3位數(shù)字,則左側(cè)補(bǔ)0;如:#include<>main(){inti;i=40;printf(“%d\n”,i);printf(“%5d\n”,i);printf(“%-5d\n”,i);printf(“%\n”,i);}?f格式符:用于以小數(shù)形式輸出實(shí)數(shù);%:以定點(diǎn)十進(jìn)制形式顯示變量的值,且總共用10個(gè)字符,其中,整數(shù)位6位,小數(shù)位3位,小數(shù)點(diǎn)1位;如:#include<>main(){floatx;x=;printf(“%\n”,x);}?c格式符:用于輸出一個(gè)字符;如:x=”a”,y=”b”,則printf(%c%c",x,y)的輸出結(jié)果為:ab若變量的值為整數(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”,”Iamastudent!”)?e,E格式符:用于以指數(shù)形式輸出實(shí)數(shù)。如:printf(“%e”,,則輸出結(jié)果為:+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,%f”,&x,&y);則輸入格式為:,?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ù)的輸入輸出:(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ù)的返回值。""選擇結(jié)構(gòu)一、if語句:一般格式:if(表達(dá)式)語句;表示:當(dāng)“表達(dá)式”成立時(shí),則執(zhí)行“語句”;否則跳過“語句”;如:if(a>b)printf(“a>b!”);例:若用戶輸入的數(shù)為3的倍數(shù),則顯示”O(jiān)K”#include<>main(){inta;scanf(“%d”,&a);if(a%3==0)printf(“OK”);}二、if-else語句:一般格式:if(表達(dá)式)語句1;else語句2;例:給出用戶輸入的兩個(gè)整數(shù)的較大者#include<>main(){inta,b;scanf(“%d,%d”,&a,&b);if(a>b)printf(“themax=%d”,a);elseprintf(“themax=%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;elseif(表達(dá)式2)語句2;else語句3;?if(表達(dá)式1)語句1;elseif(表達(dá)式2)語句2;3、嵌套一般格式:if(表達(dá)式1)語句1;elseif(表達(dá)式2)語句2;elseif(表達(dá)式3)語句3;…elseif(表達(dá)式n)語句n;else語句n+1;例:將用戶輸入的成績按以下規(guī)則轉(zhuǎn)換成等級成績:分?jǐn)?shù):90~100等級:優(yōu)分?jǐn)?shù):80~89等級:良分?jǐn)?shù):70~79等級:中分?jǐn)?shù):60~69等級:及格分?jǐn)?shù):60以下等級:不及格#include<>main(){intd;printf(“輸入分?jǐn)?shù):”);scanf(“%d”,&d);if(d>=90)printf(“優(yōu)”);elseif(d>=80)printf(“良”);elseif(d>=70)printf(“中”);elseif(d>=60)printf(“及格”);elseprintf(“不及格”);}四、條件語句:表達(dá)式1表達(dá)式2:表達(dá)式3執(zhí)行的過程:若表達(dá)式1的值為非0時(shí),該條件語句的職位表達(dá)式2,否則為表達(dá)式3;例:求一個(gè)整數(shù)的絕對值#include<>main(){inti,absi;scanf(“%d”,&i);absi=i>0i:-i;printf(“%d絕對值是%d\n”,i,absi);}五、switch語句switch(表達(dá)式){case常量表達(dá)式1:語句1;break;case常量表達(dá)式2:語句2;break;…case常量表達(dá)式n:語句n;break;default:語句n+1;}例:商店賣貨物,每一件元,按購買的數(shù)量給與優(yōu)惠:購買100件,優(yōu)惠5%;購買200件以上,優(yōu)惠6%;購買300件以上,優(yōu)惠8%;購買400件以上,優(yōu)惠10%;購買500件以上,優(yōu)惠15%;#include<>main(){intn;floatp,price;scanf("%d",&n);switch(n/100){case1:p=;break;case2:p=;break;case3:p=;break;case4:p=;break;case5:p=;break;}price=*n*(1-p);printf("%應(yīng)付款=%\n",price);}""循環(huán)結(jié)構(gòu)一、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(){inti,sum;sum=0;for(i=1;i<=100;i++)sum=sum+i;printf(“sum=%d”,sum);}二、while語句:一般格式:while<表達(dá)式>語句;表示:先計(jì)算表達(dá)式的值,若為非0,則執(zhí)行循環(huán)體語句,然后再計(jì)算表達(dá)式的值,重復(fù)上述過程,直到計(jì)算表達(dá)式的值為0時(shí)結(jié)束循環(huán)。例:計(jì)算sum=1+2+3…+100的值#include<>main(){inti,sum;i=1;sum=0;while(i<=100){sum=sum+i;i++;}printf(“sum=%d”,sum);}三、do-while語句1、一般格式:Do語句;While<表達(dá)式>;表示:先執(zhí)行一次循環(huán)語句,然后計(jì)算表達(dá)式的值,若表達(dá)式的值非0,則再執(zhí)行循環(huán)語句,然后從計(jì)算表達(dá)式的值開始重復(fù)上述過程,直到計(jì)算表達(dá)式的值為0,循環(huán)結(jié)束。例:計(jì)算sum=1+2+3…+100的值#include<>main(){inti,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(){inta,d;printf(“請輸入一個(gè)整數(shù):”);scanf(“%d”,&a);for(d=2;d<a;d++)if(a%d==

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論