順序結(jié)構(gòu)程序設(shè)計_第1頁
順序結(jié)構(gòu)程序設(shè)計_第2頁
順序結(jié)構(gòu)程序設(shè)計_第3頁
順序結(jié)構(gòu)程序設(shè)計_第4頁
順序結(jié)構(gòu)程序設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.內(nèi)容要點回顧內(nèi)容要點回顧#include stdio.h“#define PI 3.1415926int main( )int m=6,n;float a=1.68,b;char ch1=$,ch2;double x=6.18,y;printf(請輸入一個整數(shù):請輸入一個整數(shù):);scanf(%d,&n);getchar(); /把上面輸入時按的回車讀走丟棄把上面輸入時按的回車讀走丟棄,否則下面的輸入語句得到的是回車否則下面的輸入語句得到的是回車printf(請輸入一個字符:請輸入一個字符:);scanf(%c,&ch2);printf(請輸入一個實數(shù):請輸入一個實數(shù):);scanf(%f,

2、&b);printf(請輸入一個長實數(shù):請輸入一個長實數(shù):);scanf(%lf,&y);printf(n我原來的整數(shù)是我原來的整數(shù)是%d,新輸入的整數(shù)是新輸入的整數(shù)是%d.n,m,n);printf(n我原來的實數(shù)是我原來的實數(shù)是%.2f,新輸入的實數(shù)是新輸入的實數(shù)是%.2f.n,a,b);printf(n我原來的字符是我原來的字符是%c,新輸入的字符是新輸入的字符是%c.n,ch1,ch2);printf(n我原來的長實數(shù)是我原來的長實數(shù)是%.2lf,新輸入的長實數(shù)是新輸入的長實數(shù)是%.2lf.n,x,y); return 0;.第三章順序結(jié)構(gòu)程序設(shè)計第三章順序結(jié)構(gòu)程序設(shè)計學(xué)習(xí)目的:通過對

3、運算符的介紹,來掌學(xué)習(xí)目的:通過對運算符的介紹,來掌握握C C語言對數(shù)據(jù)的處理方法語言對數(shù)據(jù)的處理方法1 1 算術(shù)運算符及表達式算術(shù)運算符及表達式2 2 賦值運算與賦值表達式賦值運算與賦值表達式3 C3 C語言特有的運算和運算符語言特有的運算和運算符.1 1 算術(shù)運算與算術(shù)表達式算術(shù)運算與算術(shù)表達式在語言中,除控制語句和輸入輸出函數(shù)外,其它所有在語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運算符處理?;静僮鞫甲鳛檫\算符處理。 1. 1.五種基本算術(shù)運算符五種基本算術(shù)運算符 + +、- -(減法(減法/ /取負(fù))、取負(fù))、* *、/ /、%(求余數(shù))(求余數(shù))(1 1)關(guān)于除法運

4、算)關(guān)于除法運算/ /C C語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,舍棄。例如,5 / 2 = 25 / 2 = 2。 (2 2)關(guān)于求余數(shù)運算)關(guān)于求余數(shù)運算要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。要求兩側(cè)的操作數(shù)均為整型數(shù)據(jù),否則出錯。 2.2.表達式和算術(shù)表達式表達式和算術(shù)表達式(1 1)表達式的概念用運算符和括號將運算對象(常量、)表達式的概念用運算符和括號將運算對象(常量、變量和函數(shù)等)連接起來的、符合語言語法規(guī)則的式子,變量和函數(shù)等)連接起來的、符合語言語法規(guī)則的式子,稱為表達式。稱為表達式。.關(guān)于求余運算關(guān)于求余運算

5、% 只能用于整形數(shù)據(jù)只能用于整形數(shù)據(jù) 運算的含義是求兩個數(shù)整除(即商為整數(shù))后的運算的含義是求兩個數(shù)整除(即商為整數(shù))后的余數(shù)。余數(shù)。如:如:8/4 8/4 結(jié)果為結(jié)果為2 2而而8%48%4結(jié)果為結(jié)果為0 0 7/4 7/4 結(jié)果為結(jié)果為1 1而而7%47%4結(jié)果為結(jié)果為3 3 -5%2-5%2結(jié)果為結(jié)果為-1 5%-1 5%(-2-2)結(jié)果為)結(jié)果為1 1 重要性質(zhì):重要性質(zhì):若若a%ba%b結(jié)果為結(jié)果為0 0,則,則a a能被能被b b整除;整除; a%ba%b的結(jié)果只可能是的結(jié)果只可能是0 0,1 1,b-1b-1之中的一個。之中的一個。. 單個常量、變量或函數(shù),可以看作是表達式的一種

6、特例。單個常量、變量或函數(shù),可以看作是表達式的一種特例。將單個常量、變量或函數(shù)構(gòu)成的表達式稱為簡單表達式,其它將單個常量、變量或函數(shù)構(gòu)成的表達式稱為簡單表達式,其它表達式稱之為復(fù)雜表達式。表達式稱之為復(fù)雜表達式。(2 2)算術(shù)表達式的概念)算術(shù)表達式的概念表達式中的運算符都是算術(shù)運算符。例如,表達式中的運算符都是算術(shù)運算符。例如,3 + 6 3 + 6 * * 9 9、(x (x + y) / 2 - 1+ y) / 2 - 1等,都是算術(shù)表達式。等,都是算術(shù)表達式。良好的源程序書寫習(xí)慣良好的源程序書寫習(xí)慣:在表達式中,在雙目運算符的左:在表達式中,在雙目運算符的左右兩側(cè)各加一個空格,可增強程

7、序的可讀性。右兩側(cè)各加一個空格,可增強程序的可讀性。特別注意:數(shù)學(xué)式子:特別注意:數(shù)學(xué)式子:b b2 2-4ac -4ac 寫為寫為C C語言的表達式:語言的表達式:b b* *b-4b-4* *a a* *c c 其中的其中的* *不可省略。不可省略。運算符的優(yōu)先級與結(jié)合性運算符的優(yōu)先級與結(jié)合性(1 1)語言規(guī)定了運算符的優(yōu)先級和結(jié)合性。)語言規(guī)定了運算符的優(yōu)先級和結(jié)合性。 所謂結(jié)合性是指,當(dāng)一個操作數(shù)兩側(cè)的運算符具有相同的所謂結(jié)合性是指,當(dāng)一個操作數(shù)兩側(cè)的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊優(yōu)先級時,該操作數(shù)是先與左邊的運算符結(jié)合,還是先與右邊的運算符結(jié)合

8、。的運算符結(jié)合。.自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為自左至右的結(jié)合方向,稱為左結(jié)合性。反之,稱為右結(jié)合性。右結(jié)合性。結(jié)合性是語言的獨有概念。除結(jié)合性是語言的獨有概念。除單目單目運算符、運算符、賦值賦值運算符和運算符和條件條件運算符是右結(jié)合性外,其它運算符都是左運算符是右結(jié)合性外,其它運算符都是左結(jié)合性。結(jié)合性。(2 2)表達式求值)表達式求值1 1)按運算符的優(yōu)先級高低次序執(zhí)行。例如,先乘除)按運算符的優(yōu)先級高低次序執(zhí)行。例如,先乘除后加減。后加減。2 2)如果在一個運算對象(或稱操作數(shù))兩側(cè)的運算)如果在一個運算對象(或稱操作數(shù))兩側(cè)的運算符的優(yōu)先級相同,則按語言規(guī)定的結(jié)合方向(結(jié)

9、合性符的優(yōu)先級相同,則按語言規(guī)定的結(jié)合方向(結(jié)合性)進行。)進行。例如,算術(shù)運算符的結(jié)合方向是例如,算術(shù)運算符的結(jié)合方向是“自左至右自左至右”,即,即:在執(zhí)行:在執(zhí)行“a a b + c b + c”時,變量時,變量b b先與減號結(jié)合,執(zhí)行先與減號結(jié)合,執(zhí)行“a - a - b b”;然后再執(zhí)行加;然后再執(zhí)行加c c的運算。的運算。.4.4.數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換(1 1) 在語言中,整型、實型和字符型在語言中,整型、實型和字符型數(shù)據(jù)間可以混合運算(因為字符數(shù)據(jù)與整型數(shù)據(jù)間可以混合運算(因為字符數(shù)據(jù)與整型數(shù)據(jù)可以通用)。數(shù)據(jù)可以通用)。如果一個運算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型如果一個運算符兩側(cè)的

10、操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按不同,則系統(tǒng)按“先轉(zhuǎn)換、后運算先轉(zhuǎn)換、后運算”的原則的原則,首先將數(shù)據(jù)自動轉(zhuǎn)換成同一類型,然后在,首先將數(shù)據(jù)自動轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進行運算。轉(zhuǎn)換規(guī)則有同一類型數(shù)據(jù)間進行運算。轉(zhuǎn)換規(guī)則有自動自動和和強制強制兩種。自動的規(guī)則為不同范圍的數(shù)據(jù)兩種。自動的規(guī)則為不同范圍的數(shù)據(jù)相互運算將會使小范圍的數(shù)據(jù)先轉(zhuǎn)換為大范相互運算將會使小范圍的數(shù)據(jù)先轉(zhuǎn)換為大范圍的數(shù)據(jù)類型再運算,結(jié)果為大范圍類型;圍的數(shù)據(jù)類型再運算,結(jié)果為大范圍類型;.(2 2)除自動轉(zhuǎn)換外,語言也允許強制轉(zhuǎn)換。)除自動轉(zhuǎn)換外,語言也允許強制轉(zhuǎn)換。數(shù)據(jù)類型強制轉(zhuǎn)換的一般格式為:數(shù)據(jù)類型強制轉(zhuǎn)換的一

11、般格式為: ( (要轉(zhuǎn)換成的數(shù)據(jù)類型要轉(zhuǎn)換成的數(shù)據(jù)類型)( )(被轉(zhuǎn)換的表達式被轉(zhuǎn)換的表達式) )當(dāng)被轉(zhuǎn)換的表達式是一個簡單表達式時,外面的一對圓括號可以缺省。當(dāng)被轉(zhuǎn)換的表達式是一個簡單表達式時,外面的一對圓括號可以缺省。例如,例如,(double)a (double)a (等價于(等價于(double)(a) /(double)(a) /* *將變量將變量a a的值轉(zhuǎn)換成的值轉(zhuǎn)換成doubledouble型型* */ /(int)(x + y) (int)(x + y) / /* *將將x+yx+y的結(jié)果轉(zhuǎn)換成的結(jié)果轉(zhuǎn)換成intint型型* */ /(float)5 / 2(float)5

12、/ 2(等價于(等價于(float)(5)/2(float)(5)/2) / /* *將將5 5轉(zhuǎn)換成實型再除以轉(zhuǎn)換成實型再除以2 2(=2.5=2.5)* */ /(float)(5 / 2) (float)(5 / 2) / /* *將將5 5整除整除2 2的結(jié)果(的結(jié)果(2 2)轉(zhuǎn)換成實型()轉(zhuǎn)換成實型(2.02.0)* */ /注意:強制轉(zhuǎn)換類型得到的是一個所需類型的中間量,原表達式類型并注意:強制轉(zhuǎn)換類型得到的是一個所需類型的中間量,原表達式類型并不發(fā)生變化。例如,不發(fā)生變化。例如,(double)a (double)a 只是將變量只是將變量a a的值轉(zhuǎn)換成一個的值轉(zhuǎn)換成一個doub

13、ledouble型的中型的中間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成間量,其數(shù)據(jù)類型并未轉(zhuǎn)換成doubledouble型。型。.2 2 賦值運算與賦值表達式賦值運算與賦值表達式 1. 1.賦值運算賦值運算 賦值符號賦值符號“=”就是賦值運算符,它的作用是將一個表就是賦值運算符,它的作用是將一個表達式的值賦給一個變量。達式的值賦給一個變量。 賦值運算符的一般形式為:賦值運算符的一般形式為: 變量變量 = = 表達式表達式 例如,例如,x = 5 x = 5 y = (float)5 / 2 y = (float)5 / 2 如果表達式值的類型,與被賦值變量的類型不一致,如果表達式值的類型,與被賦值變量的類型不

14、一致,但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達式的值轉(zhuǎn)換但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。 思考題:假設(shè)變量思考題:假設(shè)變量numnum的數(shù)據(jù)類型為的數(shù)據(jù)類型為floatfloat,其值為,其值為2.52.5,則執(zhí)行則執(zhí)行“num = (int)numnum = (int)num”后,后,numnum的值等于多少?的值等于多少?.2.2.復(fù)合賦值運算復(fù)合賦值運算復(fù)合賦值運算符是由賦值運算符之前再加一個雙目運算符復(fù)合賦值運算符是由賦值運算符之前再加一個雙目運算符構(gòu)成的。構(gòu)成的。復(fù)合賦值運算的一般格

15、式為:復(fù)合賦值運算的一般格式為: 變量變量 雙目運算符雙目運算符= = 表達式表達式 復(fù)合賦值運算符復(fù)合賦值運算符它它等價于等價于:變量:變量 = = 變量變量 雙目運算符雙目運算符 ( (表達式表達式) )。當(dāng)表達式為簡單表達式時,表達式外的一對圓括號才可缺當(dāng)表達式為簡單表達式時,表達式外的一對圓括號才可缺省,否則可能出錯。省,否則可能出錯。例如,例如,x += 3 x += 3 / /* * 等價于等價于x=x+3 x=x+3 * */ / y y * *= x + 6= x + 6/ /* * 等價于等價于y=yy=y* *(x+6)(x+6),而不是,而不是y=yy=y* *x+6 x

16、+6 * */ /C C語言規(guī)定的語言規(guī)定的1010種復(fù)合賦值運算符如下:種復(fù)合賦值運算符如下:+=+=,-=-=,* *=,/=/=,%=%=; / /* *復(fù)合算術(shù)運算符(復(fù)合算術(shù)運算符(5 5個)個)* */ /&=&=,=,|=|=,=;/ /* *復(fù)合位運算符(復(fù)合位運算符(5 5個)個)* */ /.賦值表達式賦值表達式由賦值運算符或復(fù)合賦值運算符,將一個變量和一個由賦值運算符或復(fù)合賦值運算符,將一個變量和一個表達式連接起來的表達式,稱為賦值表達式。表達式連接起來的表達式,稱為賦值表達式。(1 1)一般格式)一般格式 變量變量 (復(fù)合)賦值運算符(復(fù)合)賦值運算符 表達式表達式(2

17、 2)賦值表達式的值)賦值表達式的值任何一個表達式都有一個值,賦值表達式也不例外。任何一個表達式都有一個值,賦值表達式也不例外。被賦值變量的值,就是賦值表達式的值被賦值變量的值,就是賦值表達式的值。例如,例如,“a = 5a = 5”這個賦值表達式,變量這個賦值表達式,變量a a的值的值“”就就是它的值。是它的值。注意:注意:賦值表達式后加分號就構(gòu)成賦值語句。賦值表達式后加分號就構(gòu)成賦值語句。a = 5a = 5;y y * *= x + 6= x + 6;.3 C3 C語言特有的運算和運算符語言特有的運算和運算符 一、一、 自增(自增(+)、自減()、自減(- -)運算)運算 1. 1.作用

18、作用 自增運算使單個變量的值增,自減運算使單個自增運算使單個變量的值增,自減運算使單個變量的值減。變量的值減。 2.2.用法與運算規(guī)則用法與運算規(guī)則 自增、自減運算符都有兩種用法:自增、自減運算符都有兩種用法: (1 1)前置運算)前置運算運算符放在變量之前:運算符放在變量之前:變量、變量變量、變量 先使變量的值增(或減),然后再以變化后的先使變量的值增(或減),然后再以變化后的值參與其它運算,即先增減、后運算。值參與其它運算,即先增減、后運算。 (2 2)后置運算)后置運算運算符放在變量之后:運算符放在變量之后:變量、變量變量、變量 變量先參與其它運算,然后再使變量的值增(或變量先參與其它運

19、算,然后再使變量的值增(或減),即先運算、后增減。減),即先運算、后增減。. 案例案例3.1 3.1 自增、自減運算符的用法與運算規(guī)則示例。自增、自減運算符的用法與運算規(guī)則示例。/ /* *案例代碼文件名:案例代碼文件名:AL3_1CAL3_1C* */ / /* *程序功能:自增、自減運算符的用法與運算規(guī)則示例程序功能:自增、自減運算符的用法與運算規(guī)則示例* */ /#include stdio.h#include stdio.hint main( )int main( ) int x=6, y; int x=6, y; printf(x=%dn,x); printf(x=%dn,x); /

20、 /* *輸出輸出x x的初值的初值* */ / y = +x; y = +x; / /* *前置運算前置運算* */ / printf(y=+x: x=%d,y=%dn,x,y); printf(y=+x: x=%d,y=%dn,x,y); y = x-; y = x-; / /* *后置運算后置運算* */ / printf(y=x-: x=%d,y=%dn,x,y); printf(y=x-: x=%d,y=%dn,x,y); return 0;return 0; 程序運行結(jié)果:程序運行結(jié)果:x=6x=6y=+x: x=7,y=7y=+x: x=7,y=7y=x-: x=6,y=7 y=

21、x-: x=6,y=7 .思考題:如果將案例思考題:如果將案例“y=+x;y=+x;”語句中的前置運算改語句中的前置運算改為后置(為后置(y=x+;y=x+;),),“y=x-;y=x-;”語句中的后置運算改為前語句中的后置運算改為前置(置(y=-x;y=-x;),程序運行結(jié)果會如何?),程序運行結(jié)果會如何?說明說明(1 1)自增、自減運算,常用于循環(huán)語句中,使循環(huán)控)自增、自減運算,常用于循環(huán)語句中,使循環(huán)控制變量加(或減),以及指針變量中,使指針指向下(制變量加(或減),以及指針變量中,使指針指向下(或上)一個地址?;蛏希┮粋€地址。(2 2)自增、自減運算符,不能用于常量和表達式。)自增、

22、自減運算符,不能用于常量和表達式。例如,例如,5+5+、-(a+b)-(a+b)等都是非法的。等都是非法的。(3 3)在表達式中,連續(xù)使同一變量進行自增或自減)在表達式中,連續(xù)使同一變量進行自增或自減運算時,很容易出錯,所以最好避免這種用法。運算時,很容易出錯,所以最好避免這種用法。二、二、 逗號運算(,)及其表達式逗號運算(,)及其表達式語言提供一種用逗號運算符語言提供一種用逗號運算符“,”連接起來的式子連接起來的式子,稱為逗號表達式。逗號運算符又稱順序求值運算符。,稱為逗號表達式。逗號運算符又稱順序求值運算符。.1. 1.一般形式一般形式 表達式表達式, , 表達式表達式, , , , 表

23、達式表達式n n2.2.求解過程求解過程自左至右,依次計算各表達式的值,自左至右,依次計算各表達式的值,“表達式表達式n n” 的值即為的值即為整個逗號表達式的值。整個逗號表達式的值。例如,逗號表達式例如,逗號表達式“a = 3 a = 3 * * 5, a 5, a * * 4 4”的值的值=60=60:先求解:先求解a a = 3 = 3 * * 5 5,得,得a=15a=15;再求;再求a a * * 4 = 60 4 = 60,所以逗號表達式的值,所以逗號表達式的值=60=60。又例如,逗號表達式又例如,逗號表達式“(a = 3 (a = 3 * * 5, a 5, a * * 4),

24、 a + 5 4), a + 5”的值的值=20=20:先求解先求解a = 3 a = 3 * * 5 5,得,得a=15a=15;再求;再求a a * * 4=60 4=60;最后求解;最后求解a + a + 5=205=20,所以逗號表達式的值,所以逗號表達式的值=20=20。注意:并不是任何地方出現(xiàn)的逗號,都是逗號運算符。很注意:并不是任何地方出現(xiàn)的逗號,都是逗號運算符。很多情況下,逗號僅用作分隔符。多情況下,逗號僅用作分隔符。.順序結(jié)構(gòu)程序設(shè)計順序結(jié)構(gòu)程序設(shè)計 在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的先后次在順序結(jié)構(gòu)程序中,各語句(或命令)是按照位置的先后次序,順序執(zhí)行的,且每個

25、語句都會被執(zhí)行到。序,順序執(zhí)行的,且每個語句都會被執(zhí)行到。 案例案例3.2 3.2 輸入任意三個整數(shù),求它們的和及平均值。輸入任意三個整數(shù),求它們的和及平均值。/ /* *案例代碼文件名:案例代碼文件名:AL3_2.C AL3_2.C * */ / /* *功能:設(shè)計一個順序結(jié)構(gòu)程序,求三個整數(shù)的和及平均值。功能:設(shè)計一個順序結(jié)構(gòu)程序,求三個整數(shù)的和及平均值。* */ / #include stdio.h#include stdio.hint main( )int main( ) int num1,num2,num3,sum; int num1,num2,num3,sum; float ave

26、r; float aver; printf(Please input three numbers:); printf(Please input three numbers:); scanf(%d%d%d,&num1,&num2,&num3);/ scanf(%d%d%d,&num1,&num2,&num3);/* *輸入三個整數(shù)輸入三個整數(shù)* */ / sum=num1+num2+num3; sum=num1+num2+num3; / /* *求累計和求累計和* */ / aver=sum/3.0; aver=sum/3.0; / /* *求平均值求平均值* */ / printf(num1=

27、%d,num2=%d,num3=%dn,num1,num2,num3); printf(num1=%d,num2=%d,num3=%dn,num1,num2,num3); printf(sum=%d,aver=%7.2fn,sum,aver); printf(sum=%d,aver=%7.2fn,sum,aver); return 0;return 0; .思考題:能否將思考題:能否將“aver=sum/3.0;aver=sum/3.0;”中中“3.03.0”改為改為“3 3”? 案例案例3.3 3.3 求方程求方程axax2 2+bx+c=0+bx+c=0的實數(shù)根。的實數(shù)根。a a,b b,

28、c c由鍵盤輸入,由鍵盤輸入,a0a0且且b b2 2-4ac0-4ac0。/ /* *案例代碼文件名:案例代碼文件名:AL3_3.CAL3_3.C。* */ / /* *功能:設(shè)計一個順序結(jié)構(gòu)程序,求方程的根。功能:設(shè)計一個順序結(jié)構(gòu)程序,求方程的根。* */ /#include math.h /#include math.h /* *為使用求平方根函數(shù)為使用求平方根函數(shù)sqrt()sqrt(),包含,包含math.hmath.h頭文件頭文件 * */ /#include stdio.h#include stdio.hint main( )int main( ) float a,b,c,dis

29、c,x1,x2; float a,b,c,disc,x1,x2; printf(Input a, b, c: ); printf(Input a, b, c: ); scanf(%f%f%f,&a,&b,&c); scanf(%f%f%f,&a,&b,&c);/ /* *輸入方程的三個系數(shù)的值輸入方程的三個系數(shù)的值* */ / disc=b disc=b* *b-4b-4* *a a* *c; c;/ /* *求判別式的值賦給求判別式的值賦給discdisc* */ / x1=(-b+sqrt(disc)/(2 x1=(-b+sqrt(disc)/(2* *a);a); x2=(-b-sqrt

30、(disc)/(2 x2=(-b-sqrt(disc)/(2* *a);a); printf(nx1=%6.2fnx2=%6.2fn,x1,x2); printf(nx1=%6.2fnx2=%6.2fn,x1,x2); return 0;return 0; . 案例案例3.4 3.4 從鍵盤輸入一個小寫字母,要求用大小寫字母形從鍵盤輸入一個小寫字母,要求用大小寫字母形式輸出該字母及對應(yīng)的式輸出該字母及對應(yīng)的ASCIIASCII碼值。碼值。/ /* *案例代碼文件名:案例代碼文件名:AL3-4.CAL3-4.C。* */ /#include stdio.h#include stdio.hint

31、main( )int main( ) char c1,c2; char c1,c2; printf(Input a lowercase letter: ); printf(Input a lowercase letter: ); c1=getchar( ); c1=getchar( ); putchar(c1);printf(,%dn,c1); putchar(c1);printf(,%dn,c1); c2=c1-32; c2=c1-32;/ /* *將大寫字母轉(zhuǎn)換成對應(yīng)的小寫字母將大寫字母轉(zhuǎn)換成對應(yīng)的小寫字母* */ / printf(%c,%dn,c2,c2); printf(%c,%dn

32、,c2,c2); return 0;return 0; 程序演示程序演示 . 程序運行情況如下:程序運行情況如下: Input a lowercase letter: aInput a lowercase letter: a a,97 a,97 A,65 A,65 在順序結(jié)構(gòu)程序中,一般包括以下幾個部分:在順序結(jié)構(gòu)程序中,一般包括以下幾個部分: 1 1程序開頭的編譯預(yù)處理命令。程序開頭的編譯預(yù)處理命令。 在程序中要使用標(biāo)準(zhǔn)函數(shù)(又稱庫函數(shù)),需將相應(yīng)在程序中要使用標(biāo)準(zhǔn)函數(shù)(又稱庫函數(shù)),需將相應(yīng)的頭文件包含進來。的頭文件包含進來。 2 2順序結(jié)構(gòu)程序的函數(shù)體中,是完成具體功能的各順序結(jié)構(gòu)程序的

33、函數(shù)體中,是完成具體功能的各個語句和運算,主要包括:個語句和運算,主要包括: (1 1)變量類型的說明。)變量類型的說明。 (2 2)提供數(shù)據(jù)語句。)提供數(shù)據(jù)語句。-輸入輸入 (3 3)運算處理部分。)運算處理部分。-處理處理 (4 4)輸出結(jié)果部分。)輸出結(jié)果部分。-輸出輸出. 20內(nèi)容要點內(nèi)容要點 / /和和%運算符的運算規(guī)律運算符的運算規(guī)律 自增自增+自減自減- -運算的特點運算的特點 逗號運算符的應(yīng)用逗號運算符的應(yīng)用* * 格式化輸出輸入的典型應(yīng)用:格式化輸出輸入的典型應(yīng)用: printf(%dn, a);printf(%dn, a); scanf(%d, &b); scanf(%d,

34、 &b);.格式指示符格式指示符 scanf需要掌握:需要掌握:%d int%c char%f float%lf double21 printfprintf需要掌握:需要掌握:%d %d intint%c %c charchar%f %f float/doublefloat/double%.3f %.3f float/doublefloat/double. 22到目前應(yīng)會的語句到目前應(yīng)會的語句 變量賦值:變量名變量賦值:變量名=表達式;表達式;如如 a=3+5a=3+5* *6; b=+a; a+; b-;6; b=+a; a+; b-; 輸出語句:輸出語句: printf(%dn, a);p

35、rintf(%dn, a); 輸入語句:輸入語句: scanf(%d, &b);scanf(%d, &b);.改錯題:改錯題:1. 1.分析下列程序中的錯誤并改正:分析下列程序中的錯誤并改正:#include stdio.h;#include stdio.h;int main( )int main( ) / / * * main function main function * * / / float r, s; / float r, s; /* * / /* *r is radiusr is radius* */,/,/* *s is areas is area* */ /* */ / r=

36、5.0 ; r=5.0 ; s=14159 s=14159* *r r* *r ;r ; printf(%fn,s) printf(%fn,s).2.2.指出下列程序中的錯誤并改正:指出下列程序中的錯誤并改正: #include stdio.h#include stdio.h int main( )int main( ) / /* * main function main function* */ / float a, b, c, v; float a, b, c, v; a=2.0;b=0,c=4.0 a=2.0;b=0,c=4.0 v=a v=a* *b b* *c; c; printf(

37、%fn, v) printf(%fn, v) return 0;return 0; .3.3.分析程序運行結(jié)果:分析程序運行結(jié)果:#include #include stdio.h stdio.h int main( )int main( ) int a=3,b=5; int a=3,b=5; a=b; a=b; b=a; b=a; printf(a=%d,b=%dn,a,b); printf(a=%d,b=%dn,a,b); return 0; return 0; 要交換兩個變量的值,怎么辦?要交換兩個變量的值,怎么辦?-變量交換法變量交換法.4.4.計算計算 的值。初學(xué)者可能很容易就寫出了

38、下面程序:的值。初學(xué)者可能很容易就寫出了下面程序:#include #include stdio.h stdio.h #include #include math.h math.h int main ( )int main ( ) printf(%fn, sin(1) + sin(1/2) + sin(1/3) + sin (1/4) +printf(%fn, sin(1) + sin(1/2) + sin(1/3) + sin (1/4) +sin(1/5) + sin(1/6) + sin(1/7) + sin(1/8) +sin(1/5) + sin(1/6) + sin(1/7) + sin(1/8) +sin(1/9) + sin(1/10) );sin(1/9) + sin(1/10) ); return 0; return 0; 此后發(fā)現(xiàn)這個程序可以正常通過編譯,但執(zhí)行時卻得不此后發(fā)現(xiàn)這個程序可以正常通過編譯,但執(zhí)行時卻得不到正確結(jié)果。也就是說,這個程序有語義錯誤。為什么呢到正確結(jié)果。也就是說,這個程序有語義錯誤。為什么呢?如果讀者在仔細(xì)讀了這個程序

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論