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

下載本文檔

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

文檔簡介

C語言程序設(shè)計基礎(chǔ)知識要點C語言程序設(shè)計基礎(chǔ)知識要點C語言程序設(shè)計基礎(chǔ)知識要點C語言程序設(shè)計基礎(chǔ)知識要點編制僅供參考審核批準生效日期地址:電話:傳真:郵編:""C程序基本結(jié)構(gòu)一、C語言的特點:1、C語言源程序的基本組成單位是函數(shù);一個C程序可由若干個函數(shù)組成,其中必須有且僅有一個以main命名的主函數(shù),其余的函數(shù)名稱可由編程者自行設(shè)定。,2、C程序的執(zhí)行總是由main()函數(shù)的第一個可執(zhí)行語句開始,到main()函數(shù)的最后一個可執(zhí)行的語句結(jié)束;而其他函數(shù)都是在main()函數(shù)開始執(zhí)行以后,通過其他函數(shù)的調(diào)用才得以運行。3、C語言系統(tǒng)提供了豐富的庫函數(shù),用戶在程序中需要調(diào)用某個庫函數(shù)時,必須用#include編譯預處理命令將描述該庫函數(shù)的頭文件包含進去。二、C程序的書寫格式:1、語句可從分開放在任意多行內(nèi);如:printf(“ToC,”);printf(“ornottoC:”);與printf(“ToC,ornottoC:”);是等價的2、一行中可以有若干個語句;如:a=123;b=345; 3、每個語句和數(shù)據(jù)定義的最后必須有一個分號;三、C語言程序的運行:1、編譯(Compile):將C源程序文件翻譯成能被計算機識別的二進制形式的“目標”文件;編譯時,編譯器將檢查源程序每一條語句的語法錯誤。2、建造(Bulid):C語言程序示例:顯示“Hello”#include<>intmain(void){printf(“Hello.\n”);return0;}說明:#include<>是必不可少的,它包含了C語言標準輸入輸出庫的相關(guān)信息;printf函數(shù)來自”標準輸入輸出庫”,可以產(chǎn)生格式化輸出;\n告訴printf函數(shù)執(zhí)行完信息顯示后要進行換行操作;return0表明程序終止時會向操作系統(tǒng)返回值0;{}來標出main()函數(shù)的起始和結(jié)束。""數(shù)據(jù)類型一、C語言的特點:1、C語言源程序的基本組成單位是函數(shù);一個C程序可由若干個函數(shù)組成,其中必須有且僅有一個以main命名的主函數(shù),其余的函數(shù)名稱可由編程者自行設(shè)定。2、C程序的執(zhí)行總是由main()函數(shù)的第一個可執(zhí)行語句開始,到main()函數(shù)的最后一個可執(zhí)行的語句結(jié)束;而其他函數(shù)都是在main()函數(shù)開始執(zhí)行以后,通過其他函數(shù)的調(diào)用才得以運行。3、C語言系統(tǒng)提供了豐富的庫函數(shù),用戶在程序中需要調(diào)用某個庫函數(shù)時,必須用#include編譯預處理命令將描述該庫函數(shù)的頭文件包含進去。二、C程序的書寫格式:1、語句可從分開放在任意多行內(nèi);如:printf(“ToC,”);printf(“ornottoC:”);與printf(“ToC,ornottoC:”);是等價的2、一行中可以有若干個語句;如:a=123;b=345;3、每個語句和數(shù)據(jù)定義的最后必須有一個分號;三、C語言程序的運行:1、編譯(Compile):將C源程序文件翻譯成能被計算機識別的二進制形式的“目標”文件;編譯時,編譯器將檢查源程序每一條語句的語法錯誤。2、建造(Bulid):C語言程序示例:顯示“Hello”#include<>intmain(void){printf(“Hello.\n”);return0;}說明:#include<>是必不可少的,它包含了C語言標準輸入輸出庫的相關(guān)信息;printf函數(shù)來自”標準輸入輸出庫”,可以產(chǎn)生格式化輸出;\n告訴printf函數(shù)執(zhí)行完信息顯示后要進行換行操作;return0表明程序終止時會向操作系統(tǒng)返回值0;{}來標出main()函數(shù)的起始和結(jié)束。03,運算符和表達式1、算術(shù)運算符和表達式+:加法運算符,如3+5;-:減法運算符,如5-3;*:乘法運算符,如5*8;/:除法運算符,如3/6;參與運算量均為整型時,結(jié)果也為整型,舍去小數(shù);若運算量中有一個是實型,則結(jié)果為雙精度實型。%:模運算符,也稱“取余運算符”,用于計算兩數(shù)相除后的余數(shù),如5%3=2;2、賦值運算符和賦值表達式 賦值運算符:”=”,其作用是將一個表達式的值賦給一個變量;其一般形式為:變量=表達式如:x=a+b;賦值表達式的功能是計算表達式的值再賦予左邊的變量。賦值運算符具有右結(jié)合性。因此a=b=c=5可理解為a=(b=(c=5));復合賦值運算符:+=、-=、*=、/=、%=、>>=、<<=、&=、^=、|=構(gòu)成復合賦值表達式的一般形式為:變量雙目運算符=表達式它等價于:變量=變量運算符表達式如:a+=5等價于a=a+5x*=y+7等價于x=x*(y+7)r%=p等價于r=r%p3、類型轉(zhuǎn)換如果賦值運算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將自動進行類型轉(zhuǎn)換,即把賦值號右邊的類型換成左邊的類型。具體規(guī)定如下:1)實型賦予整型,舍去小數(shù)部分。前面的例子已經(jīng)說明了這種情況。2)整型賦予實型,數(shù)值不變,但將以浮點形式存放,即增加小數(shù)部分(小數(shù)部分的值為0)。3)字符型賦予整型,由于字符型為一個字節(jié),而整型為二個字節(jié),故將字符的ASCII碼值放到整型量的低八位中,高八位為0。整型賦予字符型,只把低八位賦予字符量。4、自增、自減運算符:自增運算符:“++”,功能是將變量的值加1;自減運算符:“--”,功能是將變量的值減1;可有以下幾種形式: ++ii自增1后再參與其它運算。 --ii自減1后再參與其它運算。 i++i參與運算后,i的值再自增1。 i--i參與運算后,i的值再自減1。注:(1)”++”、”--“的操作對象只能是變量;(2)”++”、”--“運算優(yōu)先級相同,且結(jié)合方向自右向左;-i++應(yīng)理解為-(i++),【例】自增、自減運算、#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é)運算符計算表達式的結(jié)果所占字節(jié)數(shù)或某種數(shù)據(jù)類型的定義字節(jié)數(shù)。一般格式:sizeof(數(shù)據(jù)類型標識符)或sizeof(表達式)如:sizeof(float)的值為4,占4個字節(jié);sizeof(2*3)的值為2,占2個字節(jié);6、關(guān)系運算符和關(guān)系表達式關(guān)系運算符:“<”(小于)、“<=”(小于等于)、”>”(大于)、”>=”(大于等于)、”==”(等于)、“!=”(不等于)關(guān)系表達式:若關(guān)系表達式成立,其值為“真”,否則為“假”;在C語言中,用0代表“假”,用1代表“真”;7、邏輯運算符和邏輯表達式:邏輯運算符:“!”(非)、“&&”(與)、“||”(或);運算優(yōu)先級:!>&&>||邏輯表達式:用邏輯運算符將表達式連接起來的式子;邏輯表達式的結(jié)果仍然是邏輯量(“真”或“假”)8、條件運算符:一般格式:<表達式1><表達式2>:<表達式3>先計算表達式1,若表達式1的值為真,則計算表達式2的值,且表達式2的值為整個條件表達式的值;否則,計算表達式3的值,且表達式3的值即為整個條件表達式的值。9、逗號運算符和逗號表達式逗號運算符:”,”作為運算符,其功能是將多個表達式組成一個表達式;一般形式:表達式1,表達式2,…,表達式n求解過程:先計算表達式1,再計算表達式2,依此計算表達式n,最終,表達式n的值即為整個表達式的值。""順序結(jié)構(gòu)一、概述:順序語句按照語法形式分為:表達式語句、函數(shù)調(diào)用語句、復合語句、流程控制語句和空語句。1、表達式語句:語法格式:表達式;如:a+4;其中賦值語句為最典型的表達式語句,如:a=5;a=b+3;特別提示:分號(;)是表達式語句中不可缺少的一部分。2、函數(shù)調(diào)用語句:如:printf(”Iamastudent!”);其中:printf()為系統(tǒng)提供的函數(shù),用于顯示信息。3、復合語句:所謂“復合語句”即由一對“{}”括起來的一組語句,也稱“塊語句”或“分程序”。一般形式為:{語句1語句2...語句n}如:{i++;j=a+3;printf("%d,j=",i,j);}特別提示:復合語句中的最后一條語句的分號不得缺少;復合語句的“}”之后不得有分號。4、空語句:“空語句”即為一個獨立的分號。如:main(){...;...}二、數(shù)據(jù)的輸入輸出C語言提供了一些輸入輸出函數(shù),如printf()和scanf(),在程序中調(diào)用這些輸入輸出函數(shù)時,必須將標準輸入輸出頭文件“”包含到用戶所編寫的源程序中。如:#include<>其中:#include命令一般寫在程序的開頭位置。1、格式輸入輸出1、格式輸出函數(shù)printf()(1)一般格式:printf(格式字符串,輸出列表)其中:“格式字符串”包括“輸出字符”和“格式控制字符”(由%和格式字符組成,指定輸出項的輸出格式)。?d格式符:用于輸出十進制整數(shù);%d:以十進制形式顯示輸出變量的值;%5d:以十進制形式顯示變量的值,且至少占用5個字符的空間,若不夠5位數(shù)字,則左側(cè)補空格;%-5d:以十進制形式顯示變量的值,且至少占用5個字符的空間,左對齊;%:以十進制形式顯示變量的值,且至少占用5個字符的空間并至少有3位數(shù)字,若不夠3位數(shù)字,則左側(cè)補0;如:#include<>main(){inti;i=40;printf(“%d\n”,i);printf(“%5d\n”,i);printf(“%-5d\n”,i);printf(“%\n”,i);}?f格式符:用于以小數(shù)形式輸出實數(shù);%:以定點十進制形式顯示變量的值,且總共用10個字符,其中,整數(shù)位6位,小數(shù)位3位,小數(shù)點1位;如:#include<>main(){floatx;x=;printf(“%\n”,x);}?c格式符:用于輸出一個字符;如: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;同理,一個字符的數(shù)據(jù)也可以以整數(shù)的形式輸出;如x=’a’,y=’B’,則printf(“%d,%d”,x,y)的輸出結(jié)果為:97,66?s格式符:用于輸出一個字符串。如:printf(“%s”,”Iamastudent!”)?e,E格式符:用于以指數(shù)形式輸出實數(shù)。如:printf(“%e”,,則輸出結(jié)果為:+002;?g,G格式符:用于輸出實數(shù),根據(jù)數(shù)值的大小自動選擇f格式或e格式。2、格式輸入函數(shù)scanf()(1)一般格式:scanf(格式字符串,變量地址表)其中:格式字符串使用雙引號括起來的字符串,包括“普通字符”(按原樣輸入)、“格式控制字符”(由%和格式字符組成,用來標定輸入數(shù)據(jù)的格式)。變量地址表是由若干個變量地址組成的表列,可以是變量的地址,也可以使字符串的首地址。?d格式:用于輸入十進制整數(shù);如:scanf(“%d,%d”,&x,&y);則輸入格式為:123,3456?u格式:用于輸入十進制無符號整數(shù);?f格式:用于輸入以小數(shù)形式的實數(shù);如:scanf(“%f,%f”,&x,&y);則輸入格式為:,?c格式:用于輸入一個字符;如:scanf(“%c,%c”,&x,&y);則輸入格式為:a,b?s格式:用于輸入一個字符串;如:scanf(“%s”,a);假定a為字符數(shù)組,則輸入格式為:abcdef注:輸入的字符串中間不能包含空格。特別說明:?對于變量,”&”加變量名即為該變量的地址;如:&a、&b等分別表示變量a和變量b的地址;?對于字符串數(shù)組或字符指針型變量,數(shù)組名和指針變量名本身即為其地址;?可以在%和格式字符之間加表示位數(shù)的數(shù)字;如:scanf(“%5s”,p);表示只能輸入5個字符給字符串指針p;3、字符數(shù)據(jù)的輸入輸出:(1)putchar()函數(shù):是向標準輸入輸出設(shè)備輸出一個字符;其調(diào)用格式為:putchar(ch);其中:ch為一個字符變量或常量;putchar()函數(shù)作用等同于printf(“%c”,ch);(2)getch()getche()和getchar()函數(shù):?getch():從鍵盤上讀入一個字符,但不顯示在屏幕上;?getche():從鍵盤上讀入一個字符,顯示在屏幕上;?getchar():從鍵盤上讀入一個字符,并顯示在屏幕上,但直到輸入回車鍵時才結(jié)束輸入,第一個字符為其函數(shù)的返回值。""選擇結(jié)構(gòu)一、if語句:一般格式:if(表達式)語句;表示:當“表達式”成立時,則執(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(表達式)語句1;else語句2;例:給出用戶輸入的兩個整數(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(表達式1)if(表達式2)語句1;else語句2;else語句3;?if(表達式1){if(表達式2)語句1;}else語句2;2、else子句中嵌套?if(表達式1)語句1;elseif(表達式2)語句2;else語句3;?if(表達式1)語句1;elseif(表達式2)語句2;3、嵌套一般格式:if(表達式1)語句1;elseif(表達式2)語句2;elseif(表達式3)語句3;…elseif(表達式n)語句n;else語句n+1;例:將用戶輸入的成績按以下規(guī)則轉(zhuǎn)換成等級成績:分數(shù):90~100等級:優(yōu)分數(shù):80~89等級:良分數(shù):70~79等級:中分數(shù):60~69等級:及格分數(shù):60以下等級:不及格#include<>main(){intd;printf(“輸入分數(shù):”);scanf(“%d”,&d);if(d>=90)printf(“優(yōu)”);elseif(d>=80)printf(“良”);elseif(d>=70)printf(“中”);elseif(d>=60)printf(“及格”);elseprintf(“不及格”);}四、條件語句:表達式1表達式2:表達式3執(zhí)行的過程:若表達式1的值為非0時,該條件語句的職位表達式2,否則為表達式3;例:求一個整數(shù)的絕對值#include<>main(){inti,absi;scanf(“%d”,&i);absi=i>0i:-i;printf(“%d絕對值是%d\n”,i,absi);}五、switch語句switch(表達式){case常量表達式1:語句1;break;case常量表達式2:語句2;break;…case常量表達式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(表達式1;表達式2;表達式3)語句;表示:先計算表達式1的值,再計算表達式2的值,若表達式2的值為0,則跳出循環(huán)體,轉(zhuǎn)去執(zhí)行循環(huán)體后面的程序命令;若表達式2的值非0,則執(zhí)行循環(huán)體中的語句,接著計算表達式3的值;而后,再從計算表達式2的值開始重復上訴操作,直到表達式2的值為0時結(jié)束。例:計算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<表達式>語句;表示:先計算表達式的值,若為非0,則執(zhí)行循環(huán)體語句,然后再計算表達式的值,重復上述過程,直到計算表達式的值為0時結(jié)束循環(huán)。例:計算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<表達式>;表示:先執(zhí)行一次循環(huán)語句,然后計算表達式的值,若表達式的值非0,則再執(zhí)行循環(huán)語句,然后從計算表達式的值開始重復上述過程,直到計算表達式的值為0,循環(huán)結(jié)束。例:計算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)下面的語句。例:判定用戶輸入的一個數(shù)是否為素數(shù)#include<>main(){inta,d;printf(“請輸入一個整數(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論