![C語言第一章2 C程序的基本操作_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/359470f7-c16e-41f2-ae73-fd1c0875a584/359470f7-c16e-41f2-ae73-fd1c0875a5841.gif)
![C語言第一章2 C程序的基本操作_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/359470f7-c16e-41f2-ae73-fd1c0875a584/359470f7-c16e-41f2-ae73-fd1c0875a5842.gif)
![C語言第一章2 C程序的基本操作_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/359470f7-c16e-41f2-ae73-fd1c0875a584/359470f7-c16e-41f2-ae73-fd1c0875a5843.gif)
![C語言第一章2 C程序的基本操作_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/359470f7-c16e-41f2-ae73-fd1c0875a584/359470f7-c16e-41f2-ae73-fd1c0875a5844.gif)
![C語言第一章2 C程序的基本操作_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/16/359470f7-c16e-41f2-ae73-fd1c0875a584/359470f7-c16e-41f2-ae73-fd1c0875a5845.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)1第一章第一章2 2 C C程序的程序的基本操作基本操作 運算符運算符表達(dá)式表達(dá)式順序結(jié)構(gòu)程序順序結(jié)構(gòu)程序 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)2上講上講主要內(nèi)容主要內(nèi)容程序的概念程序的概念簡單簡單C C程序程序程序操作的對象程序操作的對象數(shù)據(jù)數(shù)據(jù)變量和常量數(shù)據(jù)類型 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)3運算符及表
2、達(dá)式運算符及表達(dá)式運算符運算符是表示某種運算的符號是表示某種運算的符號, 是對數(shù)據(jù)的操作。是對數(shù)據(jù)的操作。表達(dá)式表達(dá)式是用運算符和括號將運算對象是用運算符和括號將運算對象(或操作數(shù)或操作數(shù))連接起連接起來的符合來的符合C語言語法規(guī)則的式子。語言語法規(guī)則的式子。運算對象運算對象可以是常量、變量、函數(shù)等。注意:可以是常量、變量、函數(shù)等。注意:功能功能:同一運算符會有不同功能(:同一運算符會有不同功能(*)限制限制:對運算對象有限制(單目運算符;雙目運算符;三目運:對運算對象有限制(單目運算符;雙目運算符;三目運算符)對數(shù)據(jù)類型限制(算符)對數(shù)據(jù)類型限制(%)。)。表達(dá)式類型表達(dá)式類型:向高類型靠攏
3、(:向高類型靠攏(1/2,1.0/2)優(yōu)先級和結(jié)合性優(yōu)先級和結(jié)合性:優(yōu)先級是指表達(dá)式中各計算的先后次序;結(jié)合優(yōu)先級是指表達(dá)式中各計算的先后次序;結(jié)合性是指當(dāng)一個運算對象兩側(cè)的運算符的優(yōu)先級相同時進(jìn)行運算的性是指當(dāng)一個運算對象兩側(cè)的運算符的優(yōu)先級相同時進(jìn)行運算的結(jié)合方向(有關(guān)運算符的優(yōu)先級和結(jié)合性的詳細(xì)內(nèi)容見結(jié)合方向(有關(guān)運算符的優(yōu)先級和結(jié)合性的詳細(xì)內(nèi)容見p10 表表1-4)。)。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)4算術(shù)運算符:算術(shù)運算符:單目運算符:單目運算符:- -(負(fù))、(負(fù))、+ +(正)。(正)。右結(jié)
4、合右結(jié)合 雙雙目運算符目運算符:+ +、- - 、* *、/ /( (整數(shù)相除結(jié)果取整整數(shù)相除結(jié)果取整) )、% %(取余)(取余)優(yōu)先級優(yōu)先級: : 先乘除先乘除( (含取余含取余),),后加減后加減, ,括號優(yōu)先括號優(yōu)先結(jié)合性結(jié)合性: : 同級從左至右同級從左至右寫出以下三個算術(shù)表達(dá)式的優(yōu)先級和結(jié)合性:寫出以下三個算術(shù)表達(dá)式的優(yōu)先級和結(jié)合性: a a* *b/c-1.5+ab/c-1.5+a, a/ba/b* *c+(2-d), a/b/cc+(2-d), a/b/c* *(3-d),(3-d),算術(shù)運算符算術(shù)運算符要求要求%兩側(cè)均為整形數(shù)據(jù)兩側(cè)均為整形數(shù)據(jù) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計
5、(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)5算術(shù)表達(dá)式算術(shù)表達(dá)式 算術(shù)表達(dá)式:算術(shù)表達(dá)式:用算術(shù)運算符和括號將運算對象用算術(shù)運算符和括號將運算對象( (也稱為操作數(shù)也稱為操作數(shù)) )連接起來的、符合連接起來的、符合C C語法規(guī)則的式子。語法規(guī)則的式子。實例:實例:25/4 25/4 等于等于 6 6, 25.0/4.0 25.0/4.0 等于等于 6.25 6.25 5/10 5/10 等于等于 0, 5.0/10.0 0, 5.0/10.0 等于等于 0.5 0.59%4=1 4%9=4 25%5=0, -15%4=-3(9%4=1 4%9=4
6、25%5=0, -15%4=-3(“% %”只能對整型數(shù)只能對整型數(shù)據(jù)操作據(jù)操作)注意,乘號不能省略,且要根據(jù)運算順序書寫,如:注意,乘號不能省略,且要根據(jù)運算順序書寫,如: 數(shù)學(xué)表達(dá)式數(shù)學(xué)表達(dá)式a(ba(b2 2+4ac)+4ac) a+ba+bc c* *d dC C表達(dá)式表達(dá)式 a a* *(b(b* *b+4b+4* *a a* *c)c)(a+b)/c/d(a+b)/c/d或或 (a+b)/(c(a+b)/(c* *d)d) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)6例例1_9 1_9 解釋程序的輸出結(jié)果解
7、釋程序的輸出結(jié)果main()main() int i=3; int i=3; float r=2.0; float r=2.0; printf(2 printf(2* *-i:%dn,2-i:%dn,2* *-i);-i); printf(r/i:%fn,r/i); printf(r/i:%fn,r/i); printf(r/i:%dn,r/i); printf(r/i:%dn,r/i); i=r/i; i=r/i; printf(i=r/i:%dn,i); printf(i=r/i:%dn,i); i=2%3; i=2%3; printf(2%3:%d,i); printf(2%3:%d,i
8、); 程序的執(zhí)行結(jié)果:程序的執(zhí)行結(jié)果:2 2* *-i:-6 -i:-6 r/i:0.666667r/i:0.666667r/i:21845r/i:21845 i=r/i:0 i=r/i:0 2%3:22%3:2 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)7賦值表達(dá)式賦值表達(dá)式-簡單的賦值運算符簡單的賦值運算符=賦值表達(dá)式:賦值表達(dá)式:由賦值運算符由賦值運算符“=”=”將變量和表將變量和表達(dá)式連接起來的式子。其形式是:達(dá)式連接起來的式子。其形式是: = 例例:a=5a=5 表達(dá)式值為表達(dá)式值為5 5a=b=c=5a=b
9、=c=5 表達(dá)式值為表達(dá)式值為5 5,a,b,ca,b,c均為均為5 5a=5+(c=6)a=5+(c=6) 表達(dá)式值為表達(dá)式值為1111,a a為為1111,c c為為6 6a=(b=4)+(c=6)a=(b=4)+(c=6)表達(dá)式值為表達(dá)式值為1010,a a為為1010,b b為為4 4,c c為為6 6a=(b=10)/(c=2)a=(b=10)/(c=2)表達(dá)式值為表達(dá)式值為5 5,a a為為5 5,b b為為1010,c c為為2 2賦值表達(dá)式可以包含在其它表達(dá)式中,賦值表達(dá)式可以包含在其它表達(dá)式中,而而賦值語句賦值語句不能。不能。例例:if (if (a=ba=b)0) t=a;
10、)0) t=a; 不能寫為:不能寫為:if (if (a=b;a=b;)0) t=a;)0) t=a; 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)8復(fù)合賦值運算符復(fù)合賦值運算符C C語言中有語言中有1010種復(fù)合賦值運算符:種復(fù)合賦值運算符: +=+=、 -=-=、 * *= =、 /=/=、 %=%=、 =、&=&=、=、|= (|= (位運算符以后講位運算符以后講) )實例:實例:a/=3 a/=3 等價于等價于 a=a/3a=a/3 x x* *=y+8 =y+8 等價于等價于 x=xx=x* *
11、(y+8)(y+8) a+=a-=a a+=a-=a* *a a 相當(dāng)于:相當(dāng)于: a=a+(a=a-aa=a+(a=a-a* *a)a) y%=8 y%=8 等價于等價于 y=y%8y=y%8例例1_10 1_10 賦值運算符賦值運算符main()main() int x,y; int x,y; x=3; y=8;x x=3; y=8;x* *=y+1;=y+1; printf(x=%d,y=%dn,x,y); printf(x=%d,y=%dn,x,y); x=3;y=8;x=x x=3;y=8;x=x* *y+1;y+1; printf(x=%d,y=%dn,x,y); printf(x
12、=%d,y=%dn,x,y); 程序執(zhí)行結(jié)果:程序執(zhí)行結(jié)果:x=27,y=8x=27,y=8x=25,y=8x=25,y=8 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章) 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)9+(自增自增), -(自減自減):+n, -m 前綴,前綴,變量的值變量的值+(-)1,表達(dá)式的值表達(dá)式的值為為+(-)1后后的值的值 n+ , m- 后綴后綴, 變量的值變量的值+(-)1,表達(dá)式的值表達(dá)式的值為為+(-)1前前的值的值 優(yōu)先級優(yōu)先級: 高于雙目運算高于雙目運算 結(jié)合性結(jié)合性: 同級從右至左同級從右至左如:如:j=3;j=3;k=+j
13、;(jk=+j;(j的值是的值是4,+j4,+j表達(dá)式的值為表達(dá)式的值為4 4,k k的值為的值為4)4)k=j+;(jk=j+;(j的值是的值是4,j+4,j+表達(dá)式的值為表達(dá)式的值為3, k3, k的值為的值為3)3)可見,對可見,對j j變量來說,變量來說,j+,+j,j+,+j,都使都使j j變量的值加變量的值加1 1了了,但使用,但使用j+,+jj+,+j表達(dá)式的值時,情況就不同了表達(dá)式的值時,情況就不同了, ,所以所以前綴前綴 和后綴運算對變量來說是一樣的,但表達(dá)式的值和后綴運算對變量來說是一樣的,但表達(dá)式的值不一樣不一樣。自減與自增類似自減與自增類似 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)
14、計(第二章)程序設(shè)計(第二章)10 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)10main() main() / /* *自增、自減運算舉例自增、自減運算舉例* */ / int a,b,c;int a,b,c; a=b=c=0; a=b=c=0; a=+b+(+c); a=+b+(+c); printf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); a=(b+)+c+; a=(b+)+c+; printf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); a=(+b)+c+ a=(+b)+c+ pri
15、ntf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); a= (b-)+ (-c); a= (b-)+ (-c); printf(%d,%d,%dn,a,b,c); printf(%d,%d,%dn,a,b,c); +c; +c; a=2 a=2* *(+c);(+c); printf(a=%dn,a,); printf(a=%dn,a,); 算術(shù)表達(dá)式的應(yīng)用算術(shù)表達(dá)式的應(yīng)用運行結(jié)果是:運行結(jié)果是:2,1,12,1,12,2,22,2,25,3,35,3,35,2,25,2,2a=8a=8 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)11 研
16、究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)11逗號運算和逗號表達(dá)式逗號運算和逗號表達(dá)式(逗號表達(dá)式的格式:逗號表達(dá)式的格式:表達(dá)式表達(dá)式1 1,表達(dá)式,表達(dá)式2, ,2, ,表達(dá)式表達(dá)式n n(逗號表達(dá)式的求解順序及結(jié)果:逗號表達(dá)式的求解順序及結(jié)果:先求解表達(dá)式先求解表達(dá)式1 1,再求解表達(dá)式,再求解表達(dá)式2 2,,最后求解最后求解表達(dá)式表達(dá)式n;n;逗號表達(dá)式的最終結(jié)果為表達(dá)式逗號表達(dá)式的最終結(jié)果為表達(dá)式n n的值。的值。實例實例: :a=a=3 3* *5,a5,a* *4 4 最終結(jié)果為最終結(jié)果為6060 x=(a=10,b=100,c=50) x=(a=10,b=100,
17、c=50) 最終結(jié)果為最終結(jié)果為5050y=(i+, j-, k+2) y=(i+, j-, k+2) 最終結(jié)果為最終結(jié)果為k+2k+2 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)12 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)12算術(shù)運算與類型轉(zhuǎn)換算術(shù)運算與類型轉(zhuǎn)換單目運算單目運算:對一個操作數(shù)進(jìn)行運算。如:對一個操作數(shù)進(jìn)行運算。如:a+a+雙目運算雙目運算:對兩個操作數(shù)進(jìn)行運算。如:對兩個操作數(shù)進(jìn)行運算。如:a+ba+b三目運算三目運算:對三個操作數(shù)進(jìn)行運算。如:對三個操作數(shù)進(jìn)行運算。如:ab?a:bab?a:b運算優(yōu)先級:運算優(yōu)先級: 單目運算單目運算 雙
18、目運算雙目運算 三目運算三目運算 最高最高 其次其次 最低最低數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換:F自動轉(zhuǎn)換:自動轉(zhuǎn)換:當(dāng)參加算術(shù)運算的數(shù)據(jù)類型不一致時當(dāng)參加算術(shù)運算的數(shù)據(jù)類型不一致時低低級向高級級向高級轉(zhuǎn)換;賦值運算符兩邊的數(shù)據(jù)類型不同時轉(zhuǎn)換;賦值運算符兩邊的數(shù)據(jù)類型不同時,將右側(cè)表達(dá)式的值轉(zhuǎn)換為左側(cè)變量的類型將右側(cè)表達(dá)式的值轉(zhuǎn)換為左側(cè)變量的類型F強制轉(zhuǎn)換:強制轉(zhuǎn)換:強迫變量或表達(dá)式的值轉(zhuǎn)換為某一特定強迫變量或表達(dá)式的值轉(zhuǎn)換為某一特定類型。常用在自動類型轉(zhuǎn)換不能達(dá)到目的時。類型。常用在自動類型轉(zhuǎn)換不能達(dá)到目的時。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)13 研究式學(xué)習(xí)研究式學(xué)習(xí)C程
19、序設(shè)計(第一章)程序設(shè)計(第一章)13賦值時的類型轉(zhuǎn)換賦值時的類型轉(zhuǎn)換“=”“=”兩側(cè)類型不一致時,要將兩側(cè)類型不一致時,要將“=”=”右側(cè)表達(dá)右側(cè)表達(dá)式的值轉(zhuǎn)換為式的值轉(zhuǎn)換為“=”=”左側(cè)變量的類型,右側(cè)左側(cè)變量的類型,右側(cè)表達(dá)式類型的字節(jié)超過變量類型的字節(jié)時會表達(dá)式類型的字節(jié)超過變量類型的字節(jié)時會出錯。如:出錯。如: 整整實:實:截掉小數(shù)部分截掉小數(shù)部分 實(單、雙精度)實(單、雙精度)整:整:數(shù)值不變,存為浮點數(shù)值不變,存為浮點 整整charchar:整型低整型低8 8位位charchar 整型高整型高8 8位位00或符號位擴展或符號位擴展( (因機器而不同因機器而不同) ) 整型整型(
20、字節(jié)數(shù)相同的字節(jié)數(shù)相同的)unsigned )unsigned 整型:整型:原樣送入。原樣送入。 若超過整型表示范圍,會出錯。若超過整型表示范圍,會出錯。 unsigned(unsigned(字節(jié)數(shù)相同的字節(jié)數(shù)相同的) )非非unsignedunsigned整型:整型: 原樣送入,符號位也作為數(shù)值原樣送入,符號位也作為數(shù)值 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)14 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)14強制類型轉(zhuǎn)換的表示形式強制類型轉(zhuǎn)換的表示形式: :( (類型說明符類型說明符) )變量變量 或或 ( (類型說明符類型說明符)()(表達(dá)式表達(dá)式)
21、)實例實例: :( (doubledouble) )a , a , ( (intint) )(x+y), (x+y), ( (floatfloat) )(5%3)(5%3)注意:注意:無論是自動類型轉(zhuǎn)換還是強制類型轉(zhuǎn)換,僅僅是為了本無論是自動類型轉(zhuǎn)換還是強制類型轉(zhuǎn)換,僅僅是為了本次運算或賦值的需要,而對變量或表達(dá)式的數(shù)據(jù)類型進(jìn)行暫性次運算或賦值的需要,而對變量或表達(dá)式的數(shù)據(jù)類型進(jìn)行暫性的轉(zhuǎn)換,轉(zhuǎn)換不會改變變量在定義時所規(guī)定的數(shù)據(jù)類型。的轉(zhuǎn)換,轉(zhuǎn)換不會改變變量在定義時所規(guī)定的數(shù)據(jù)類型。強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換非非(int)x+y 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)15 研
22、究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)15sizeofsizeof運算符運算符sizeofsizeof運算符:運算符:用于了解一個變量或某種類型的用于了解一個變量或某種類型的量在內(nèi)存中所占的字節(jié)數(shù)。它有以下兩種用法:量在內(nèi)存中所占的字節(jié)數(shù)。它有以下兩種用法:1sizeof(sizeof(表達(dá)式表達(dá)式) )例如:例如:int x=1;int x=1; float y=5.0; float y=5.0; printf(“%d”,sizeof(x+y); printf(“%d”,sizeof(x+y);結(jié)果為:結(jié)果為:8 81sizeof(sizeof(類型名類型名) )例如:例如
23、: printf(“%d”,printf(“%d”, sizeof(int)sizeof(int)結(jié)果為:結(jié)果為:2 2 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)16 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)16結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法模塊化結(jié)構(gòu)設(shè)計方法模塊化結(jié)構(gòu)設(shè)計方法在程序設(shè)計中,將一個復(fù)雜的算法在程序設(shè)計中,將一個復(fù)雜的算法( (或程序或程序) )分解成若分解成若干個相對獨立、功能單一的模塊,利用這些模塊即可干個相對獨立、功能單一的模塊,利用這些模塊即可適當(dāng)?shù)亟M合成所需要的全局算法適當(dāng)?shù)亟M合成所需要的全局算法( (或程序或程序) ) 。自頂
24、向下結(jié)構(gòu)設(shè)計方法自頂向下結(jié)構(gòu)設(shè)計方法從總體出發(fā),居高臨下,逐層分解和逐步細(xì)化。從總體出發(fā),居高臨下,逐層分解和逐步細(xì)化。逐步求精結(jié)構(gòu)設(shè)計方法逐步求精結(jié)構(gòu)設(shè)計方法實質(zhì)上也是一種自頂向下的設(shè)計方法。實質(zhì)上也是一種自頂向下的設(shè)計方法。首先拋開細(xì)節(jié)設(shè)計出抽象算法,然后把抽象數(shù)據(jù)和操首先拋開細(xì)節(jié)設(shè)計出抽象算法,然后把抽象數(shù)據(jù)和操作逐步具體化,直到可以由計算機具體實現(xiàn)為止。作逐步具體化,直到可以由計算機具體實現(xiàn)為止。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)17 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)17算法類型:算法類型:數(shù)值算法、非數(shù)值算法。數(shù)值算法、非數(shù)值算法。
25、基本結(jié)構(gòu):基本結(jié)構(gòu):結(jié)構(gòu)化算法必須只能由下列三種基結(jié)構(gòu)化算法必須只能由下列三種基 本控制結(jié)構(gòu)所構(gòu)成:本控制結(jié)構(gòu)所構(gòu)成:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。任何一個結(jié)構(gòu)化程序都可以由這三種基本結(jié)構(gòu)來構(gòu)成任何一個結(jié)構(gòu)化程序都可以由這三種基本結(jié)構(gòu)來構(gòu)成。結(jié)構(gòu)化算法的本質(zhì)屬性:結(jié)構(gòu)化算法的本質(zhì)屬性:有且僅有一個入口有且僅有一個入口有且僅有一個出口有且僅有一個出口無死塊(即永遠(yuǎn)無法執(zhí)行到的程序塊)無死塊(即永遠(yuǎn)無法執(zhí)行到的程序塊)無死循環(huán)塊無死循環(huán)塊算法及其描述算法及其描述 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)18 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程
26、序設(shè)計(第一章)18 順序結(jié)構(gòu):順序結(jié)構(gòu):先執(zhí)行先執(zhí)行A A操作再執(zhí)行操作再執(zhí)行B B操作操作 執(zhí)行執(zhí)行A A操作操作 執(zhí)行執(zhí)行B B操作操作算法及其描述算法及其描述AB A BN-S圖入口入口出口出口 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)19 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)19例例1_121_12:交換:交換a,ba,b變量的值變量的值bta 定義定義a,b,t變量變量t=a a=b b=t輸出輸出a,b變量變量 main() main() int a=3,b=5,t; int a=3,b=5,t; t=a; t=a; a=b; a=b; b
27、=t; b=t;printf(“a=%d,b=%dn”,a,bprintf(“a=%d,b=%dn”,a,b);); 順序結(jié)構(gòu)的程序順序結(jié)構(gòu)的程序 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)20 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)20 C C語句:語句:C C語言的語句用來向計算機發(fā)出操作指令。一個語句經(jīng)編譯后產(chǎn)生語言的語句用來向計算機發(fā)出操作指令。一個語句經(jīng)編譯后產(chǎn)生若干條機器指令。若干條機器指令。C C語句可以分為以下四類:語句可以分為以下四類:1.1.執(zhí)行執(zhí)行語句(語句(表達(dá)式語句表達(dá)式語句:a+;:a+;以函數(shù)名開頭的函數(shù)以函數(shù)名開頭的函數(shù)調(diào)用語
28、句調(diào)用語句 printf(“ok”);printf(“ok”);控制語句等)控制語句等)2.2.聲明語句聲明語句 (float x,y;)float x,y;)3.3.空語句空語句。例如:。例如:;4.4.復(fù)合語句復(fù)合語句( (塊語句)塊語句)即用大括號把一些語句括起來即用大括號把一些語句括起來例例1_13 1_13 塊語句塊語句main()main() int x=1;/ int x=1;/* *塊塊1 1開始開始* */ / int x=2; / int x=2; /* * 塊塊2 2開始開始 * */ /int x=3; /int x=3; /* * 塊塊3 3開始開始 * */ / p
29、rintf(“%dn”,x); printf(“%dn”,x);/* * 塊塊3 3結(jié)束結(jié)束 * */ /printf(“%dn”,x);printf(“%dn”,x);/* * 塊塊2 2結(jié)束結(jié)束 * */ /printf(“%dn”,x);printf(“%dn”,x);/* * 塊塊1 1結(jié)束結(jié)束 * */ /程序運行結(jié)果:程序運行結(jié)果: 3 3 2 21 1 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)21 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)21格式輸出函數(shù)格式輸出函數(shù)printf(“printf(“格式控制格式控制”,輸出表,輸出表) )_功能:
30、按格式控制字符串的輸出格式,將輸出表中的功能:按格式控制字符串的輸出格式,將輸出表中的各輸出項依次輸出到系統(tǒng)指定的缺省輸出設(shè)備。各輸出項依次輸出到系統(tǒng)指定的缺省輸出設(shè)備?!案袷娇刂聘袷娇刂啤?格式說明格式說明 需要需要原樣輸出的字符原樣輸出的字符。_“格式說明格式說明”是由是由“% %”和和格式字符格式字符組成。組成。是雙引號括起來的字符串是雙引號括起來的字符串_“格式字符格式字符”主要包括:主要包括:p16p16D D,I: I: 輸出帶符號的十進(jìn)制整數(shù),用輸出帶符號的十進(jìn)制整數(shù),用ldld可輸出長整型數(shù)據(jù)可輸出長整型數(shù)據(jù)o: o: 輸出無符號的八進(jìn)制整數(shù),用輸出無符號的八進(jìn)制整數(shù),用lol
31、o可輸出長整型數(shù)據(jù)可輸出長整型數(shù)據(jù)x,X: x,X: 輸出無符號的十六進(jìn)制整數(shù),用輸出無符號的十六進(jìn)制整數(shù),用lxlx可輸出長整型數(shù)據(jù)可輸出長整型數(shù)據(jù)u: u: 輸出無符號的十進(jìn)制整數(shù),用輸出無符號的十進(jìn)制整數(shù),用lulu可輸出長整型數(shù)據(jù)可輸出長整型數(shù)據(jù)c: c: 以字符形式輸出一個字符以字符形式輸出一個字符f: f: 以十進(jìn)制形式輸出單、雙精度浮點數(shù)以十進(jìn)制形式輸出單、雙精度浮點數(shù)e,E: e,E: 以指數(shù)(科學(xué)記數(shù)法)形式輸出單、雙精度浮點數(shù)以指數(shù)(科學(xué)記數(shù)法)形式輸出單、雙精度浮點數(shù)g,G:g,G:選用選用%f%f或或%e%e格式中輸出寬度較短的一種格式,用大寫格式中輸出寬度較短的一種格
32、式,用大寫G G時,時, 指數(shù)用大寫表示指數(shù)用大寫表示 s: s: 輸出以輸出以00結(jié)尾的字符串或數(shù)組結(jié)尾的字符串或數(shù)組 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)22 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)22格式輸出函數(shù)格式輸出函數(shù)_“附加格式說明字符附加格式說明字符”:可加在格式字符可加在格式字符d d、o o、x x、u u前前面面 m: m: 代表一個正整數(shù)代表一個正整數(shù), ,表示數(shù)據(jù)的最小寬度表示數(shù)據(jù)的最小寬度.n: .n: 代表一個正整數(shù)代表一個正整數(shù), ,表示小數(shù)點后面的位數(shù)表示小數(shù)點后面的位數(shù)_“輸出表輸出表”是由用逗號隔開的表達(dá)式(變量,
33、函數(shù)是由用逗號隔開的表達(dá)式(變量,函數(shù),表達(dá)式)表組成,這些表達(dá)式必須與,表達(dá)式)表組成,這些表達(dá)式必須與“格式控制格式控制”字符串中的格式說明類型一一對應(yīng)字符串中的格式說明類型一一對應(yīng)輸出舉例輸出舉例: :1.1.a=123;b=12345;printf(“a=%4d,b=%a=123;b=12345;printf(“a=%4d,b=%4 4d”,ad”,a,b);,b); 輸出輸出: a= : a= 123,b=123,b=1234512345 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)23 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)23格式輸出函數(shù)格式輸出
34、函數(shù)2.2.intint a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);輸出輸出:-1,177777,ffff,65535:-1,177777,ffff,65535 數(shù)是以補碼形式存儲的數(shù)是以補碼形式存儲的3.3.j=586;y=3.1415;j=586;y=3.1415; printf(“%5dn”,j); printf(“%5dn”,j); 輸出輸出: : 586586 printf(“% printf(“%- -5dn”,j); 586 5dn”,j); 586 printf(“%7.2fn”,
35、y); 3.14 printf(“%7.2fn”,y); 3.14 printf(“% printf(“%- -7.4fn”,y); 3.1415 7.4fn”,y); 3.1415 1 0 00 00 00 00 00 00 01 原碼形式原碼形式1 1 11 11 11 11 11 11 11 補碼形式補碼形式加負(fù)號為左對齊,不加為右對齊。加負(fù)號為左對齊,不加為右對齊。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)24 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)24格式輸入函數(shù)格式輸入函數(shù)scanf(“scanf(“格式控制格式控制”,地址表,地址表) )功能
36、:功能:從鍵盤上輸入數(shù)據(jù),并按照指定的輸入格式把數(shù)據(jù)賦給相從鍵盤上輸入數(shù)據(jù),并按照指定的輸入格式把數(shù)據(jù)賦給相 應(yīng)的輸入項。應(yīng)的輸入項。_“格式控制格式控制” 格式字符(格式字符(%c,%d%c,%d) 輸入時的間隔符組成輸入時的間隔符組成。_“格式字符格式字符”與與printfprintf函數(shù)中的基本一致。函數(shù)中的基本一致。 _“地址表地址表”是由變量的地址組成,如:是由變量的地址組成,如:&a,&b,&a,&b,& &是取地址運算是取地址運算符符例:例:scanf(“%d%d”,&a,&b);scanf(“%d%d”,&
37、a,&b);scanf(“%d,%d”,&a,&b);scanf(“%d,%d”,&a,&b);scanf(“a=%d,b=%d”,&a,&b);scanf(“a=%d,b=%d”,&a,&b);輸入:輸入:3 4輸入:輸入:3,4輸入:輸入:a=3,b= 4輸入舉例:輸入舉例:1.1.程序段:程序段:int a;float b;scanf(“%d%f”,a,b);int a;float b;scanf(“%d%f”,a,b);正確?正確?2.2.程序段:程序段:int a;scanf(“%d%f”,a,a,a);int
38、a;scanf(“%d%f”,a,a,a);正確?正確?3.3.要使下面兩個輸入語句完成相同的輸入,對應(yīng)的數(shù)據(jù)輸入要使下面兩個輸入語句完成相同的輸入,對應(yīng)的數(shù)據(jù)輸入格式應(yīng)該是:格式應(yīng)該是:scanf(“%c %c %c”,&a,&b,&c);scanf(“%c %c %c”,&a,&b,&c);scanf(“%c%c%c”,&a,&b,&c);scanf(“%c%c%c”,&a,&b,&c);當(dāng)輸入數(shù)據(jù)的個數(shù)據(jù)少于地址表中變量的個數(shù)當(dāng)輸入數(shù)據(jù)的個數(shù)據(jù)少于地址表中變量的個數(shù)時,程序?qū)⒁恢钡却斎?,直?/p>
39、所有變量都接收到數(shù)時,程序?qū)⒁恢钡却斎耄钡剿凶兞慷冀邮盏綌?shù)據(jù)為止。當(dāng)輸入的數(shù)據(jù)個數(shù)多于輸入項時,多余的數(shù)據(jù)為止。當(dāng)輸入的數(shù)據(jù)個數(shù)多于輸入項時,多余的數(shù)據(jù)并不消失,而是留作為下一個輸入函數(shù)的輸入數(shù)據(jù)據(jù)并不消失,而是留作為下一個輸入函數(shù)的輸入數(shù)據(jù)。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)25 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)25格式輸入格式輸入/ /輸出舉例輸出舉例讀程序:讀程序:main()char ch; int i; float x; scanf(“%c %d %f”,&ch,&i,&x); printf(“ch=%
40、c i=%d x=%fn”,ch,i,x);運行運行1結(jié)果是:結(jié)果是:輸入:輸入:d 23 12.345d 23 12.345 并回車并回車輸出:輸出:ch=d i=23 x=12.345000ch=d i=23 x=12.345000運行運行2結(jié)果是:結(jié)果是:輸入:輸入:d d 23.64523.645 12.345 12.345 并回車并回車輸出:輸出:ch=d i=ch=d i=2323 x= x=0.6450000.645000 輸入數(shù)據(jù)時說輸入數(shù)據(jù)時說明符間的字符也明符間的字符也應(yīng)該輸入;輸入應(yīng)該輸入;輸入的數(shù)據(jù)類型必須的數(shù)據(jù)類型必須與與scanf中說明的中說明的一致;輸入數(shù)據(jù)一致;
41、輸入數(shù)據(jù)的個數(shù)不能少于的個數(shù)不能少于scanf中說明的個中說明的個數(shù)。數(shù)。 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)26 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)26應(yīng)用舉例應(yīng)用舉例編程編程: :計算從鍵盤輸入的一個數(shù)的平方值和立方值,計算從鍵盤輸入的一個數(shù)的平方值和立方值,并顯示出來。并顯示出來。結(jié)果為:結(jié)果為:輸入:輸入:x=5輸出:輸入值輸出:輸入值=5 平方值平方值=25 立方值立方值=125 main() int x,y,z; printf(“nx=”); scanf(“%d”,&x); y=x*x; z=x*x*x; printf(“輸入值輸入值=%dn”,x); printf(“平方值平方值=%dn”,y); printf(“立方值立方值=%dn”,z); 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第二章)程序設(shè)計(第二章)27 研究式學(xué)習(xí)研究式學(xué)習(xí)C程序設(shè)計(第一章)程序設(shè)計(第一章)27應(yīng)用舉例應(yīng)用舉例編程編程: :將輸入的小寫字母轉(zhuǎn)換為大寫字母后顯示將輸入的小寫字母轉(zhuǎn)換為大寫字母后顯示出來出來。運行運行1結(jié)果為:結(jié)果為:輸入:輸入:c=a輸出:輸入字符輸出:輸入字符=a 輸出字符輸出字符=A運行運行2結(jié)果為:結(jié)果為:輸入:輸入:c=p輸出:輸入字符輸出:輸入字符=p 輸出字符輸出字符=P 若要
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 代收美金合同范本
- 2025年度新型環(huán)?;炷敛牧腺忎N合同范本集錦
- 勞動生產(chǎn)合同范例
- 喬木修剪合同范本
- 公司投資電影合同范例
- 個人外貿(mào)合同范例
- 2014家裝合同范例
- 信息資產(chǎn)安全合同范本
- 借用合同范例 英文
- 旅游業(yè)個性化旅游定制服務(wù)方案
- 2024年浙江省自然資源集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 酒店春節(jié)營銷方案
- 營銷管理方案中的定價策略與盈利模式
- 2024年西寧城市職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學(xué)業(yè)水平等級考試模擬試題)物理試卷
- 廣州獵德大橋三維曲面塔清水混凝土施工技術(shù)
- 我國糖尿病視網(wǎng)膜病變臨床診療指南2022解讀
- 高級茶藝師技能鑒定(協(xié)會版)備考題庫-下(多選、判斷題匯總)
- 特種設(shè)備作業(yè)人員體檢表(叉車)
- c30混凝土路面施工方案
- 加強師德師風(fēng)建設(shè)學(xué)校師德師風(fēng)警示教育講座培訓(xùn)課件
評論
0/150
提交評論