C語言程序設(shè)計(jì)項(xiàng)目一ppt課件_第1頁
C語言程序設(shè)計(jì)項(xiàng)目一ppt課件_第2頁
C語言程序設(shè)計(jì)項(xiàng)目一ppt課件_第3頁
C語言程序設(shè)計(jì)項(xiàng)目一ppt課件_第4頁
C語言程序設(shè)計(jì)項(xiàng)目一ppt課件_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、項(xiàng)目一項(xiàng)目一 學(xué)生成績的平均分與總分的計(jì)算學(xué)生成績的平均分與總分的計(jì)算 項(xiàng)目要求項(xiàng)目要求輸入三個(gè)學(xué)生的成績,求他們的總分及平均分。輸入三個(gè)學(xué)生的成績,求他們的總分及平均分。項(xiàng)目分析項(xiàng)目分析第一必須要學(xué)會輸入成績及輸出結(jié)果;第一必須要學(xué)會輸入成績及輸出結(jié)果;第二必須對輸入的成績進(jìn)行總分及平均分的計(jì)算。第二必須對輸入的成績進(jìn)行總分及平均分的計(jì)算。所以,將這一項(xiàng)目分成二個(gè)任務(wù)介紹。所以,將這一項(xiàng)目分成二個(gè)任務(wù)介紹。 任務(wù)任務(wù)1 學(xué)生成績的輸入、輸出學(xué)生成績的輸入、輸出一、問題情景一、問題情景一個(gè)班進(jìn)行了一次考試,現(xiàn)要將幾個(gè)學(xué)生的成績輸入電腦,并按要求輸一個(gè)班進(jìn)行了一次考試,現(xiàn)要將幾個(gè)學(xué)生的成績輸入電

2、腦,并按要求輸出。出。二、具體實(shí)現(xiàn)二、具體實(shí)現(xiàn)#include stdio.h /文件預(yù)處理文件預(yù)處理main() / 函數(shù)名函數(shù)名 /函數(shù)體開始函數(shù)體開始int x,y,z; /定義三個(gè)變量定義三個(gè)變量x,y,zprintf(請輸入三個(gè)學(xué)生的成績請輸入三個(gè)學(xué)生的成績); scanf(%d%d%d,&x,&y,&z); /*輸入三個(gè)學(xué)生的成績輸入三個(gè)學(xué)生的成績*/printf(輸出三個(gè)學(xué)生的成績輸出三個(gè)學(xué)生的成績); printf(x=%d,y=%d,z=%dn,x,y,z); /輸出三個(gè)變量輸出三個(gè)變量x,y,z的值的值 /函數(shù)體結(jié)束函數(shù)體結(jié)束程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)

3、果:從上面這段程序可分析出:首先,要了解C語言的結(jié)構(gòu); 第二,要了解C語言的運(yùn)行環(huán)境;第三,要懂得如何定義變量,輸入輸出語句。相關(guān)知識相關(guān)知識 v(一一) C程序的結(jié)構(gòu)程序的結(jié)構(gòu)#include “stdio.h”int x,y;main( )x=1;y=x+2;printf(“x=%dny=%dn”,x,y);文件預(yù)處理主函數(shù)數(shù)據(jù)聲明部分語句部分(二二) C程序運(yùn)行環(huán)境及運(yùn)行方法程序運(yùn)行環(huán)境及運(yùn)行方法 點(diǎn)擊【文件】【新建】,出現(xiàn)的對話框中用鼠標(biāo)點(diǎn)擊【文件】【C+Source File】,然后更改文件所保存的目錄若需要更改),需入文件名,然后點(diǎn)擊【確定】。輸入程序。當(dāng)程序輸入完畢后,點(diǎn)擊 或按

4、F7,進(jìn)行編譯和連接。如果沒有錯(cuò)誤,點(diǎn)擊 或按Ctrl+F5,進(jìn)行運(yùn)行,就能得出程序運(yùn)行的結(jié)果。 (三三) 數(shù)據(jù)類型數(shù)據(jù)類型C語言的數(shù)據(jù)類型可分為:基本類型:又分為整型、實(shí)型、字符型和枚舉型四種。其中枚舉型這里暫不介紹。構(gòu)造類型:又分為數(shù)組類型、結(jié)構(gòu)類型和共用類型三種。指針類型??疹愋汀!境A俊吭诔绦蜻\(yùn)行中,其值不能被改變的量稱為常量。常量可分為:整型常量。例1,23,-8。實(shí)型常量。例 1.23,-9.8,.123,23.,0.0,2.23e-4表示2.2310-4),0.23e3(表示0.23103),0.23E-3(表示0.2310-3),1.23E3(表示1.23103)。字符常量。例

5、 A,+,8。符號常量。例 #define PI 3.14。則PI是一個(gè)符號常量,其值為3.14,它不能在程序中被改變。(請見任務(wù)三中的例1-15改)【變量】所謂變量就是在程序運(yùn)行過程中,其值可以被改變的量。一個(gè)變量由兩個(gè)要素組成。即變量名和變量值。變量名:每一個(gè)變量都必須有一個(gè)名字,即變量名。變量名的命名規(guī)則:由字母或下劃線開頭,后面跟字母、數(shù)字和下劃線。其有效長度,隨系統(tǒng)而異,但至少前8個(gè)字符有效。如果超長,則超長部分被舍棄。 C語言的變量名區(qū)分大小寫。即同一字母的大小寫,被認(rèn)為給是兩個(gè)不同的變量。例Total、total、toTal是不同的變量名。給變量名命名時(shí),最好遵循“見名知意這一基

6、本原則。例如,name/xm(姓名)、sex/xb(性別)、age/nl(年齡)、salary/gz(工資)。【變量】所謂變量就是在程序運(yùn)行過程中,其值可以被改變的量。一個(gè)變量由兩個(gè)要素組成。即變量名和變量值。變量名:每一個(gè)變量都必須有一個(gè)名字,即變量名。變量名的命名規(guī)則:由字母或下劃線開頭,后面跟字母、數(shù)字和下劃線。其有效長度,隨系統(tǒng)而異,但至少前8個(gè)字符有效。如果超長,則超長部分被舍棄。 【變量定義與初始化】數(shù)據(jù)類型 變量名=初值,變量名2=初值2;例如:int x=1,y=2,z=3; float a=1.1,b=1.2,c=-0.1; char ch1=A,ch2=*;(四四) 格式化

7、輸出格式化輸出printf()函數(shù)函數(shù)printf()函數(shù)的一般格式printf(“格式字符串”,輸出項(xiàng)表);1. 常用的格式字符串有:(1) 格式指示符: %d 帶符號十進(jìn)制整數(shù)。 %f帶符號十進(jìn)制小數(shù)形式默認(rèn)6位小數(shù))。 %c輸出一個(gè)字符。(2) 轉(zhuǎn)義字符例1-1中的printf()函數(shù)中的”n就是轉(zhuǎn)義字符,輸出時(shí)產(chǎn)生一個(gè)“換行”。(3) 普通字符除格式指示符和轉(zhuǎn)義字符之外的其它字符。例1-1中的printf(“x=%d,y=%d,z=%dn”,x,y,z);的“x=”、“y=”、“z=”,格式字符串中的普通字符,原樣輸出。在漢字系統(tǒng)環(huán)境下,允許使用漢字。2. 輸出項(xiàng)表輸出項(xiàng)表是可選的。在

8、輸出項(xiàng)中,列出要輸出的任意類型的數(shù)據(jù)。如果要輸出的數(shù)據(jù)不止一個(gè),相鄰2個(gè)之間用逗號分開。 (1printf(“我是一個(gè)學(xué)生n”); /沒有輸出項(xiàng)(2printf(“%d”,1+2); /輸出1+2的值(3printf(“a=%d b=%dn”,1,1+3); /輸出1的值和1+3的值留意:printf(“%d %fn”,1.212,5) ; 是錯(cuò)誤的。 #include “stdio.h” main() printf(“%d %fn”,1.234,6);【例【例1-3】格式化輸出?!扛袷交敵?。#include stdio.h main() int x=1,y=2,z=3; /*定義x,y,z

9、三個(gè)整型變量,并將它們的初值賦為 1,2,3*/float a=1.1,b=2.3; char c1=A,c2=B; /*定義c1,c2二個(gè)字符型變量,并將它們的初值賦為A和B*/printf(輸出x,y,z的值n); /原樣輸出x,y,z的值后換行printf(x=%d,y=%d,z=%dn,x,y,z); /輸出x=1,y=2,z=3后換行printf(輸出a,b的值n); printf(a=%f,b=%fn,a,b); printf(輸出c1,c2的值n); printf(c1=%c,c2=%cn,c1,c2); /輸出c1=A,c2=B后換行程序的運(yùn)行結(jié)果為:(五五)格式化輸入格式化輸

10、入scanf()函數(shù)函數(shù)1. scanf()函數(shù)的功能:從鍵盤上接收格式化輸入。2. scanf()函數(shù)的一般格式scanf(“格式字符串”,輸入項(xiàng)首地址表);格式字符串。格式字符串可以包含3種類型的字符:格式字符,空白字符空格、Tab鍵和回車鍵和非空白字符又稱普通字符)。 格式指示符與printf()函數(shù)的相似:%d,十進(jìn)制帶符號的整型數(shù);%f,十進(jìn)制帶符號的實(shí)型數(shù);%c,輸入一個(gè)字符。 空白字符作為相鄰2個(gè)輸入數(shù)據(jù)的缺省分隔符。 非空白字符在輸入數(shù)據(jù)時(shí),必須原樣一起輸入。輸入項(xiàng)首地址表由若干個(gè)輸入項(xiàng)首地址組成,相鄰2個(gè)輸入項(xiàng)地址之間用逗號分開。變量首地址的表示方法如下:&變量名其中

11、“&”是地址運(yùn)算符。例如,在例1-1中scanf(“%d%d%d”,&x,&y,&z)中的“&x是指變量x在內(nèi)存中的首地址。其功能是從鍵盤上輸入3個(gè)整型數(shù),分別存入&x,&y,&z起始的存儲單元中,即輸入三個(gè)整數(shù)分別賦給x,y,z。 scanf(“%d,%d”,&a,&b); scanf(“%d%d”,&a,&b); 有兩個(gè)人有兩個(gè)人A,B,在數(shù)學(xué)考試中獲得,在數(shù)學(xué)考試中獲得87和和76的成績,請輸入的成績,請輸入A,B兩人的代號及成績,輸出成績。兩人的代號及成績,輸出成績。 分析:此題就是考查輸入

12、輸出語句,注意整數(shù)輸入/輸入的格式用%d,字符變量的輸入/輸出格式用%c,同時(shí)注意輸入語句中的兩個(gè)數(shù)據(jù)之間用什么符號隔開,則在程序運(yùn)行輸入數(shù)據(jù)時(shí)也要用同樣的符號隔開兩個(gè)數(shù)據(jù)。#include stdio.hmain()char c1,c2;int x,y;printf(請輸入A的成績及代號:);scanf(%d:%c,&x,&c1);printf(請輸入B的成績及代號:);scanf(%d:%c,&y,&c2);printf(輸出A的代號及成績:);printf(%c:%dn,c1,x);printf(輸出B的代號及成績:);printf(%c:%dn,c2,y

13、);程序運(yùn)行結(jié)果為:任務(wù)任務(wù)2 總分及平均分的計(jì)算總分及平均分的計(jì)算一、問題情景一、問題情景一個(gè)班進(jìn)行了一次考試,現(xiàn)要將幾個(gè)學(xué)生的成績輸入電腦,并計(jì)算他們的平均分及總分,然后按要求一個(gè)班進(jìn)行了一次考試,現(xiàn)要將幾個(gè)學(xué)生的成績輸入電腦,并計(jì)算他們的平均分及總分,然后按要求輸出。輸出。二、具體實(shí)現(xiàn)二、具體實(shí)現(xiàn)#include stdio.h main() int x,y,z; float sum,avg; /定義二個(gè)實(shí)型變量定義二個(gè)實(shí)型變量sum,avgprintf(請輸入三個(gè)學(xué)生的成績請輸入三個(gè)學(xué)生的成績); scanf(%d%d%d,&x,&y,&z); /*輸入三個(gè)學(xué)生

14、的成績輸入三個(gè)學(xué)生的成績*/sum=x+y+z; /將將x+y+z的值賦給的值賦給sumavg=sum/3; /將將sum/3的值賦給的值賦給avgprintf(請輸出三個(gè)學(xué)生的總成績及平均分為請輸出三個(gè)學(xué)生的總成績及平均分為); /輸出提示輸出提示printf(sum=%.2f,avg=%.2fn,sum,avg); /輸出二個(gè)變量輸出二個(gè)變量sum及及avg的值的值 程序的執(zhí)行情況如下程序的執(zhí)行情況如下 :首先,算術(shù)運(yùn)算和算術(shù)表達(dá)式; 第二,賦值運(yùn)算和賦值表達(dá)式;另外,還需掌握在本任務(wù)中沒有體現(xiàn),但在C程序中卻經(jīng)常要用到的C語言特有的運(yùn)算和運(yùn)算符。三、相關(guān)知識三、相關(guān)知識(一一) 算術(shù)運(yùn)算

15、與算術(shù)表達(dá)式算術(shù)運(yùn)算與算術(shù)表達(dá)式1. 五種基本的算術(shù)運(yùn)算符五種基本的算術(shù)運(yùn)算符 +(加法)、(加法)、-(減法)、(減法)、*(乘法)、(乘法)、/(除法)、(除法)、%(求余數(shù))(求余數(shù))這里,需要特別提出的是:這里,需要特別提出的是:(1關(guān)于除法運(yùn)算關(guān)于除法運(yùn)算/ C語言規(guī)定,兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如:語言規(guī)定,兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如:5/2=2。 如果商為負(fù)數(shù),則取整的方向隨系統(tǒng)而異。但大多數(shù)的系統(tǒng)采取如果商為負(fù)數(shù),則取整的方向隨系統(tǒng)而異。但大多數(shù)的系統(tǒng)采取“向向零取整準(zhǔn)繩,換句話說,取其整數(shù)部分。例如:零取整準(zhǔn)繩,換句話說,取其整數(shù)部分。例

16、如:-5/3=-1。(2關(guān)于求余數(shù)運(yùn)算關(guān)于求余數(shù)運(yùn)算%要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。例如:要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯(cuò)。例如:5%3=2,3%5=3,-5%3=-2,-5%(-3)=-2。但是,。但是,5.2%3是語法錯(cuò)。是語法錯(cuò)。(一一) 算術(shù)運(yùn)算與算術(shù)表達(dá)式算術(shù)運(yùn)算與算術(shù)表達(dá)式2. 表達(dá)式和算術(shù)表達(dá)式(1表達(dá)式的概念用運(yùn)算符和括號將運(yùn)算對象常量、變量和函數(shù)連接起來的、符合C語言語法規(guī)則的式子,稱為表達(dá)式。單個(gè)常量、變量,可以看作是表達(dá)式的一種特例。將單個(gè)常量、變量構(gòu)成的表達(dá)式稱為簡單表達(dá)式,其他表達(dá)式稱之為復(fù)雜表達(dá)式。(2算術(shù)表達(dá)式的概念表達(dá)式中的運(yùn)算符都是算術(shù)運(yùn)算符。

17、例如:3+2*5、(x+y)/2+3、5%2+3都是算術(shù)表達(dá)式。3. 運(yùn)算符的優(yōu)先級與結(jié)合性(1算術(shù)運(yùn)算符的優(yōu)先級是:先*,/,%,再+,-。(2有括號的先做括號。(一一) 算術(shù)運(yùn)算與算術(shù)表達(dá)式算術(shù)運(yùn)算與算術(shù)表達(dá)式 v4. 數(shù)據(jù)類型轉(zhuǎn)換高 double float long unsigned 低 int char,short(二二) 賦值運(yùn)算和賦值表達(dá)式賦值運(yùn)算和賦值表達(dá)式1. 賦值運(yùn)算賦值符號“=”就是賦值運(yùn)算符,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。賦值運(yùn)算符的一般形式為:變量=賦值表達(dá)式2. 復(fù)合賦值運(yùn)算復(fù)合賦值運(yùn)算是C語言特有的一種運(yùn)算。復(fù)合賦值運(yùn)算的一般格式為:變量 復(fù)合運(yùn)算符 表

18、達(dá)式復(fù)合算術(shù)運(yùn)算符有五種,分別是:+=,-=,*=,/=,%=例如:x=5 /將5賦給變量xx=6+7 /將6+7的值賦給變量x 5=x 是錯(cuò)誤的x+y=z也是錯(cuò)誤的。 x+=3 等價(jià)于 x=x+3 x+=5+8 等價(jià)于 x=x+(5+8) x*=y+2 等價(jià)于 x=x*(y+2) x/=x+y 等價(jià)于x=x/(x+y) x/=8 等價(jià)于x=x/8 x%=7 等價(jià)于 x=x%7 x%=(4-2) 等價(jià)于x=x%(4-2)【例【例1-12】閱讀下列程序】閱讀下列程序#include stdio.hmain()int x,y,z; float a,b,c; /定義三個(gè)單精度型變時(shí)a,b,cx=1;

19、 /將1賦給變量x,即x的值為1y=2; z=3; a=1.1; /將1.1賦給變量a,即a的值為1.1b=2.1;c=3.5;x=x+y+z; /將x+y+z的值賦給變量x, x的值為(1+2+3),即x=6printf(x=%dn,x); y*=y+1; /將y*(y+1)賦給y, y=2*(2+1),即y=6printf(y=%dn,y); z=(int)a%(int)b; /z=1%2,即z=1printf(z=%dn,z); a+=a+b+c; /a=a+(a+b+c), a=1.1+(1.1+2.1+3.5),即a=9.9printf(a=%fn,a); 程序執(zhí)行情況如下:(三三)

20、 C語言特有的運(yùn)算和運(yùn)算符語言特有的運(yùn)算和運(yùn)算符1. 自增(+)、自減(-)運(yùn)算作用:自增運(yùn)算使單個(gè)變量的值增1,自減運(yùn)算使單個(gè)變量的值減1.用法與運(yùn)算規(guī)則自增、自減運(yùn)算符都有兩種用法:1) 前置運(yùn)算運(yùn)算符放在變量之前:+變量、-變量先使變量的值增減1,然后再以變化后的值參與其他支算,即先增減,后運(yùn)算。 y=+x+2; /x先增1(=5),然后與2的和再賦給y(=7) printf(x=%d y=%dn,x,y); z=-x; /x先減1(=4),然后再賦給z(=4)printf(x=%d z=%dn,x,z); -x; /x=x-1,即x=3printf(x=%dn,x); /輸出x=3后換

21、行#include stdio.hmain()int x=2,y,z;printf(x=%dn,x); y=+x; /x先增1(=3),然后再賦給y(=3) printf(x=%d y=%dn,x,y); +x; /x=x+1,即x=4printf(x=%dn,x);后置運(yùn)算后置運(yùn)算變量變量+、變量、變量 #include stdio.hmain()int x=2,y,z;printf(x=%dn,x); y=x+; /先將x的值(2)賦給y(=2) ,然后x再自增(3) printf(x=%d y=%dn,x,y); x+; /x=x+1,即x=4printf(x=%dn,x); y=(x+

22、)+2; /先將x+2賦給y(=6),然后x再自增(5) printf(x=%d y=%dn,x,y); z=x-; /先將x的值(5)賦給z(=5),然后x再自減(4)printf(x=%d z=%dn,x,z); x-; /x=x-1,即x=3printf(x=%dn,x); 自增、自減運(yùn)算符不能用于常量和表達(dá)式。例如:5+、-8、+(a+b都是錯(cuò)誤的。2. 逗號運(yùn)算(,)及其表達(dá)式逗號運(yùn)算(,)及其表達(dá)式C語言提供一種用逗號運(yùn)算符“,”連接起來的式子,稱為逗號表達(dá)式。逗號運(yùn)算符又稱順序求值運(yùn)算符。(1) 一般形式:表達(dá)式1,表達(dá)式2,表達(dá)式n.(2) 求解過程:自左至右,依次計(jì)算各表達(dá)式

23、的值,“表達(dá)式n的值即為整個(gè)逗號表達(dá)式的值。例如:逗號表達(dá)式“a=3*5,a*4的值=60:先求解a=3*5,得,a=15;再求a*4=60,所以逗號表達(dá)式的值為60。又例如:逗號表達(dá)式“(a=2+1,a*5),a+8的值=11,先求解a=2+1,得a=3,再求a*5=15;最后求解a+8=11,所以逗號表達(dá)式的值=11任務(wù)任務(wù)3 舉一反三舉一反三【例1-15】輸入圓半徑,求圓的面積和周長。的值取3.14. 分析:因?yàn)楦鶕?jù)圓半徑,求圓的面積和周長,所以要定義三個(gè)變量,半徑r,面積s和周長c;考慮到輸入的圓半徑可能會有小數(shù),所以這三個(gè)變量不妨都定義為單精度型float。定義變量r,s,c輸入變量

24、rs=3.14*r*rc=2*3.14*r輸出s,c#include stdio.hmain()float r,s,c;printf(請輸入圓的半徑r:);scanf(%f,&r);s=3.14*r*r;c=2*3.14*r;printf(圓的面積s為:%fn圓的周長c為%fn,s,c);流程圖符號常量符號常量 #define PI 3.14 意思是定義一個(gè)符號常量PI,其值為3.14。符號常量的命名規(guī)則與變量名一樣,但習(xí)慣上,符號常量常用大寫字母表示。#include stdio.h#define PI 3.14 /定義一個(gè)符號常量PI,其值為3.14main()float r,s,c;printf(請輸入圓的半徑r:);scanf(%f,&r);s=PI*r*r;c=2*PI*r;printf(圓的面積s為:%fn圓的周長c為%fn,s,c);【例【例1-16】輸入三角形三邊的長,求三角形的周長及面積?!枯斎肴切稳叺拈L,求三角形的周長及面積。 分析:輸入三角形三邊的長,所以顯然要定義三個(gè)變量a,b,c,同時(shí)還要定義三

溫馨提示

  • 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

提交評論