版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C程序設(shè)計(jì)主講:馮運(yùn)仿教材、參考書與課時(shí)安排教材C程序設(shè)計(jì)(第三版)譚浩強(qiáng)清華大學(xué)出版社參考書
高級(jí)語言程序設(shè)計(jì)(C)劉加海浙江大學(xué)出版社
C語言程序設(shè)計(jì)劉天印華中科技大學(xué)出版社ExpertCProgramming(C專家編程)【美】PeterVanDerLinden人民郵電出版社C語言程序設(shè)計(jì)題解與上機(jī)指導(dǎo)譚浩強(qiáng)
清華大學(xué)出版社課時(shí)安排理論學(xué)時(shí):50學(xué)時(shí)實(shí)驗(yàn)學(xué)時(shí):30學(xué)時(shí)課程要求課前請(qǐng)做好預(yù)習(xí)保持課堂安靜,頭腦清醒,思維活躍認(rèn)真、獨(dú)立、按時(shí)完成并提交作業(yè)重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間計(jì)算機(jī)系統(tǒng)組成預(yù)備知識(shí):計(jì)算機(jī)工作原理數(shù)制計(jì)算機(jī)編碼計(jì)算機(jī)系統(tǒng)組成<>
C程序設(shè)計(jì)
預(yù)備知識(shí)計(jì)算機(jī)工作原理<>
C程序設(shè)計(jì)
預(yù)備知識(shí)馮?諾依曼原理1945年6月美籍匈牙利著名數(shù)學(xué)家馮?諾依曼與勃克斯等聯(lián)合發(fā)表的“101頁報(bào)告”中提出了“存儲(chǔ)程序”的設(shè)計(jì)思想,并建立了一個(gè)完整的計(jì)算機(jī)模型,至今仍不失其開創(chuàng)性的指導(dǎo)意義。我們目前所使用的計(jì)算機(jī)大都仍采用馮?諾依曼原理。馮?諾依曼“存儲(chǔ)程序”的設(shè)計(jì)思想包含三個(gè)方面:1、用二進(jìn)制代替十進(jìn)制運(yùn)算;2、將計(jì)算機(jī)硬件劃分為五大部件:運(yùn)算器、控制器、
存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備。3、提出了“存儲(chǔ)程序”思想,即在計(jì)算機(jī)中引入了存儲(chǔ)器。<>
C程序設(shè)計(jì)
預(yù)備知識(shí)計(jì)算機(jī)工作原理圖輸入設(shè)備輸入信息控制器
存儲(chǔ)器運(yùn)算器輸出設(shè)備輸出信息表示數(shù)據(jù)信息流向表示控制信息流向數(shù)制數(shù)制的基本概念用一組固定的數(shù)字與統(tǒng)一的規(guī)則來表示數(shù)的方法。數(shù)制的種類
1.二進(jìn)制數(shù)
(1)基本數(shù)碼:0,1
(2)規(guī)則:逢二進(jìn)一,借一當(dāng)二
2.八進(jìn)制數(shù)
(1)基本數(shù)碼:0,1,2,3,4,5,6,7
(2)規(guī)則:逢8進(jìn)1,借1當(dāng)8
3.十六進(jìn)制數(shù)
(1)基本數(shù)碼:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
(2)規(guī)則:逢16進(jìn)1,借1當(dāng)16<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
數(shù)制的轉(zhuǎn)換
●二進(jìn)制與十進(jìn)制之間的相互轉(zhuǎn)換
1、十進(jìn)制轉(zhuǎn)換成二進(jìn)制:
整數(shù)部分:除2取余法、倒讀。小數(shù)部分:乘2取整法、順讀(達(dá)到所要求的精度為止)。
[例1](100)10=(1100100)2
2|100
余數(shù)2|500(最低位)2|2502|1212|602|302|1101(最高位)
<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
[例2](0.625)10=(0.101)2
乘2取整:整數(shù)部分0.625
×2
1.25010.25×2
0.500
×2
1.01
練習(xí):十進(jìn)制轉(zhuǎn)換成二進(jìn)制:(894.8125)10=(1101111110.1101)2(52.875)10=(110100.111)2<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
2、二進(jìn)制轉(zhuǎn)換成十進(jìn)制:[例3](1101)2=1×23+1×22+0×21+1×20=8+4+0+1=(13)10[例4](10110.101)2=1×24+0×23+1×22+1×21+0×20
+1×2-1+0×2-2+1×2-3=16+0+4+2+0+0.5+0+0.125=(22.625)10練習(xí):二進(jìn)制轉(zhuǎn)換成十進(jìn)制:(1110101)2=(117)10(110110.111)2=(54.875)10<>
C程序設(shè)計(jì)
預(yù)備知識(shí)●八進(jìn)制與十進(jìn)制之間的相互轉(zhuǎn)換
1、十進(jìn)制轉(zhuǎn)換成八進(jìn)制:整數(shù)部分:除8取余法、倒讀。
[例5](75)10=(113)8練習(xí):(262)10=(406)8思考:將十進(jìn)制小數(shù)轉(zhuǎn)換成八進(jìn)制的法則是什么?具體不作要求
2、八進(jìn)制轉(zhuǎn)換成十進(jìn)制
法則:把八進(jìn)制數(shù)寫成基數(shù)8按權(quán)展開的形式的多項(xiàng)式
[例6](145)8=1×82+4×81+5×80=64+32+5=(101)10
[例7](51.6)8=5×81+1×80+6×8-1=40+1+0.75=(41.75)10
練習(xí):八進(jìn)制轉(zhuǎn)換成十進(jìn)制:(327)8=(215)10(11.1)8=(9.125)10
<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
●十六進(jìn)制與十進(jìn)制之間的相互轉(zhuǎn)換
1、十進(jìn)制轉(zhuǎn)換成十六進(jìn)制:整數(shù)部分:除16取余法、倒讀。
[例8](3901)10=(F3D)16練習(xí):(1262)10=(4EE)16思考:將十進(jìn)制小數(shù)轉(zhuǎn)換成十六進(jìn)制的法則是什么?具體不作要求
2、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制
法則:把十六進(jìn)制數(shù)寫成基數(shù)16按權(quán)展開的形式的多項(xiàng)式
[例9](58)16=5×161+8×160=80+8=(88)10
[例10](1AB.C8)16=1×162+10×161+11×160+12×16-1+8×16-2=256+160+11+0.75+0.03125=(427.78125)10練習(xí):十六進(jìn)制轉(zhuǎn)換成十進(jìn)制:(21)16=(33)10(AB)16=(171)10(100)16=(256)10<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
計(jì)算機(jī)編碼計(jì)算機(jī)中為何采用二進(jìn)制數(shù)?
十進(jìn)制的缺點(diǎn):數(shù)碼多,對(duì)計(jì)算機(jī)邏輯電路要求高二進(jìn)制的優(yōu)點(diǎn):使用電子器件表示兩種物理狀態(tài)容易實(shí)現(xiàn),兩種狀態(tài)的系統(tǒng)穩(wěn)定性高,二進(jìn)制運(yùn)算簡(jiǎn)單、硬件容易實(shí)現(xiàn)、存儲(chǔ)和傳送可靠等(1)可行性:二進(jìn)制數(shù)只有0、1兩個(gè)數(shù)碼,采用電子器件很容易實(shí)現(xiàn),而其它進(jìn)制則很難實(shí)現(xiàn)。(2)可靠性:二進(jìn)制的0、1兩種狀態(tài),在傳輸和處理時(shí)不容易出錯(cuò)。(3)簡(jiǎn)易性:二進(jìn)制的運(yùn)算法規(guī)簡(jiǎn)單,這樣,使得計(jì)算機(jī)的運(yùn)算器結(jié)構(gòu)大大簡(jiǎn)化,控制簡(jiǎn)單。(4)邏輯性:二進(jìn)制的0、1兩種狀態(tài),可以代表邏輯運(yùn)算中的“假”和“真”兩種值。<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
為什么需要八進(jìn)制和十六進(jìn)制?
二進(jìn)制數(shù)太長(zhǎng)了。比如int類型占用2個(gè)字節(jié),16位。比如100,用int類型的二進(jìn)制數(shù)表達(dá)將是:0000000001100100面對(duì)這么長(zhǎng)的數(shù)進(jìn)行思考或操作,沒有人會(huì)喜歡。用16進(jìn)制或8進(jìn)制可以解決這個(gè)問題。因?yàn)椋M(jìn)制越大,數(shù)的表達(dá)長(zhǎng)度也就越短。不過,為什么偏偏是16或8進(jìn)制,而不其它的,諸如9或20進(jìn)制呢?2、8、16,分別是2的1次方,3次方,4次方。這一點(diǎn)使得三種進(jìn)制之間可以非常直接地互相轉(zhuǎn)換。8進(jìn)制或16進(jìn)制縮短了二進(jìn)制數(shù),但保持了二進(jìn)制數(shù)的表達(dá)特點(diǎn)。
二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制,就是以4位一段,分別轉(zhuǎn)換為十六進(jìn)制。如:111111011010010110011011
F
D
A
5
9
B
二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制,就是以3位一段,分別轉(zhuǎn)換為八進(jìn)制。<>
C程序設(shè)計(jì)
預(yù)備知識(shí)
計(jì)算吉機(jī)內(nèi)黨部采蝕用最撿廣泛個(gè)的編暫碼是登什么結(jié)?目前奪計(jì)算掌機(jī)中酸用得愁最廣哨泛的辦字符繩集及蒼其編嬸碼,籌是由限美國(guó)襯國(guó)家千標(biāo)準(zhǔn)楊局(A孤NS狠I)制定鉛的AS挖CI拖I碼(Am鍬er看ic箏an掉S憐ta羅nd舅ar兵d篩Co工de具f佳or照I棉nf尸or遲ma針ti烏on孝I四nt蹈er也ch顏an海ge,美國(guó)島標(biāo)準(zhǔn)劑信息吐交換隸碼),隔它已斤被國(guó)倍際標(biāo)濟(jì)準(zhǔn)化孩組織暗(IS拌O)定夸為國(guó)磨際標(biāo)成準(zhǔn)。還適用錦于所趁有拉艱丁文茄字字甚母,AS扮CI晌I碼有7位碼伏和8位碼碰兩種零形式續(xù),表洲示12量8或25易6種可弄能的栗字符借。晴因遣為1位二生進(jìn)制紫數(shù)可悔以表頁示(21)=2種狀餓態(tài):0、1;而2位二放進(jìn)制抓數(shù)可偽以表搭示(22)=4種狀揭態(tài):00、01、10、11;依死次類碧推,7位二均進(jìn)制走數(shù)可維以表嫩示(27)=1午28種狀垮態(tài),孫每種爽狀態(tài)趣都唯象一地蝴編為攻一個(gè)7位的購(gòu)二進(jìn)畫制碼蛋,對(duì)促應(yīng)一繪個(gè)字任符(蔬或控加制碼苦),爭(zhēng)這些傅碼可襲以排紹列成祥一個(gè)捕十進(jìn)系制序捎號(hào)0→術(shù)12侄7。所互以,7位AS想CI釣I碼是叛用七船位二妄進(jìn)制梳數(shù)進(jìn)驅(qū)行編覆碼的產(chǎn),可夫以表掀示12胖8個(gè)字并符。顆第0→潑32號(hào)及倘第12線7號(hào)(共34個(gè))是控溫制字縫符或夏通訊另專用編字符照,如略控制趨符:LF(換充行)屑、CR(回支車)笛、FF(換鋪頁)凡、DE手L(刪爭(zhēng)除)尤、BE爸L(振這鈴)平等;輸通訊煤專用籠字符繭:SO承H(文年頭)庸、EO旨T(文揮尾)哨、AC臉K(確楊認(rèn))袋等;偽第33漫→1賞26號(hào)(共94個(gè))是字喂符,命其中丈第48售→5段7號(hào)為0→涉9十個(gè)影阿拉單伯?dāng)?shù)購(gòu)字;65戰(zhàn)→9蛛0號(hào)為26個(gè)大覺寫英播文字兼母,97售→1慣22號(hào)為26個(gè)小閑寫英蠟文字翅母,擊其余拌為一面些標(biāo)待點(diǎn)符響號(hào)、康運(yùn)算牲符號(hào)擇等。<>C程序躲設(shè)計(jì)預(yù)備授知識(shí)存儲(chǔ)剩容量基本煮單位暈是字滾節(jié)(By炭te),一個(gè)奮字節(jié)鮮由八飄位二隱進(jìn)制茄數(shù)(Bi保t)組拖成。兄位是笛存儲(chǔ)果容量躍的最論小單蘭位。為了寫表示勁方便待,還從有千組字節(jié)歌(KB)、謠兆字爛節(jié)(MB)、省吉字暴節(jié)(GB)。換算奴關(guān)系:1K猜B=病210B=花10削24兔B1M柔B=寄210KB套=1扎02叨4K明B1G飄B=昆210MB左=1登02拜4M紐奉B1G骨B=芹10技24澆M扁B=足10惹24銳*1晴02否4醬KB=1榨02鋼4*謠10謝24疲*1踩02趁4B=1惡02沙4*補(bǔ)10潛24敞*1俗02似4*股8b<>C程序雄設(shè)計(jì)預(yù)備沈知識(shí)10001000ByteBitC語言出現(xiàn)的歷史背景C語言的特點(diǎn)簡(jiǎn)單的C程序介紹運(yùn)行C程序的步驟與方法第一噸章C語言破概述【本章辨要點(diǎn)】●C語言遍的發(fā)碰展及鐵特點(diǎn)●C語言彈程序什的格掩式●C語言脅程序嚇的構(gòu)箏成●C語言鏈程序蘋的基贏本要笑素●C語言合程序蓄上機(jī)茅調(diào)試質(zhì)步驟漁及方淘法【教學(xué)文目標(biāo)】●了解之程序鉛設(shè)計(jì)柿的基無本知菊識(shí)●了解C語言撇的背除景●掌握C語言毅程序墨的結(jié)甜構(gòu)、織領(lǐng)會(huì)C語言掌程序趟設(shè)計(jì)昨的風(fēng)窄格●熟悉Tu汁rb齒o為c葛2.悲0編程謹(jǐn)環(huán)境1.1C語狹言發(fā)低展歷承史程序粘設(shè)計(jì)會(huì)語言膨的發(fā)沃展機(jī)器語言匯編語言高級(jí)語言面向過程面向?qū)ο驝P冊(cè)U指令顛系統(tǒng)胡,由位0、帆1序糟列構(gòu)溉成的茶指令神碼組晉成如:脂10冶00群00套00叮加10伍01資00龍00喝減用助辮記符榨號(hào)描凳述的艘指令饞系統(tǒng)如AD忌D朽A販,水BSU旋B模A,右B面向機(jī)器的語言程序氣設(shè)計(jì)部是數(shù)溉據(jù)被砌加工脂的過翅程程序能設(shè)計(jì)突關(guān)鍵吳是定喚義類詢,并補(bǔ)由類本派生菌對(duì)象>>C程序揀設(shè)計(jì)第一吐章C語言突概述C語盈言發(fā)損展過捷程產(chǎn)生局背景產(chǎn)生槽過程時(shí)間擔(dān):1喜97菜2~塘19集73地點(diǎn)壞:美窄國(guó)貝軋爾實(shí)掏驗(yàn)室目的匹:U坊NI為X操撿作系戒統(tǒng)設(shè)計(jì)狼人:箱K玩en點(diǎn).T憂ho作mp窩so俘n和恨D(zhuǎn)e稱nn蠶is益.M瞞.R布it戰(zhàn)ch構(gòu)ieC標(biāo)覽準(zhǔn)標(biāo)準(zhǔn)移C:朋K路&R妥合著填《T紀(jì)he污C江P皺ro許gr追am涼mi體ng盞L訴an蘿gu棄ag殿e》AN變SI踢C往:斗19榴83猛年87柿A沈NS擠I批C:冶1菠98澆7年19若90年國(guó)甘際標(biāo)片準(zhǔn)的回AN和SI它C<>C程序肉設(shè)計(jì)第一欄章C語言粉概述1.航2C語孤言的立特點(diǎn)語言霧簡(jiǎn)潔考、緊儀湊、柿靈活運(yùn)算符符和辭數(shù)據(jù)政類型糾豐富程序轟設(shè)計(jì)濟(jì)結(jié)構(gòu)櫻化、奸模塊肌化生成殘目標(biāo)功代碼朵質(zhì)量掘高可移筐植性治好<>C程序睡設(shè)計(jì)第一買章C語言車概述C程序梢設(shè)計(jì)第一聞?wù)翪語言差概述1.3簡(jiǎn)單的C程序介紹例:第一個(gè)程序
Hello,World!/*exampleThefirstCProgram*/#include<stdio.h>main(){printf(“Hello,World!”);}注釋編譯預(yù)處理函數(shù)語句輸出:Hello,World!<><>/*攀e游xa持mp彩le必ca腳lc充ul梁at欺e武th士e搜su裙m并of略a組a適nd仇b嗚*/#i礙nc烈lu劉de咱<苦st死di贊o.瘦h>/*桃Th妨is總i風(fēng)s訴th移e么ma泥in蝴p鞋ro場(chǎng)gr講am量*/ma鈴in(){in雁ta,饒b,觸su菊m;a=10;b=24;su務(wù)m=ad糕d(a,b);pr檔in快tf(”s攀um婦=京%d喇\n鼻",su義m);}/*金T統(tǒng)hi凍s耐fu果nc精ti押on東c棍al懂cu城la小te理s鬧th蔬e黑su蘇m妙of胃x聯(lián)a么nd私y(tǒng)鐮*率/in服tad冷d(i射ntx,i剛nty){in趨tz;z=格x+徹y;re庫tu脅rn謀(z);}例:通過錢子函鼻數(shù)求消兩個(gè)尾數(shù)的純和函數(shù)語句預(yù)處理命令注釋C程序尚設(shè)計(jì)第一煩章C語言彼概述格式仁特點(diǎn)習(xí)慣掙用小寫字母熔,大希小寫矮敏感不使倉(cāng)用行塔號(hào),無程貝序行概念可使屋用空缺行和旦空格常用鋸齒些形書寫蜻格式<>C程序角設(shè)計(jì)第一穿章C語言劫概述ma切in膚(傲){in征t急i育,現(xiàn)j壩,魔su船m;su篩m=宏0;fo赤r(阿i=吩1;苗i芹<1棉0;耐i+字+){fo希r(遣j=傻1;真j<遷10虎;j鞭++惠){su屠m(xù)+類=i救*j諒;}}pr傘in功tf五(“丑%d登\n域”,逮su煩m)右;}優(yōu)秀夾程序朱員的江素質(zhì)度之一:使用TA滴B縮進(jìn){即}對(duì)齊有足并夠的任注釋有合腰適的鼻空行結(jié)構(gòu)今特點(diǎn)函數(shù)周與主吳函數(shù)程序鼠由一涼個(gè)或籍多個(gè)妨函數(shù)鄭組成必須分有且嫩只能鍛有一駕個(gè)主駁函數(shù)ma村in(細(xì))程序州執(zhí)行懇從m綁ai要n開范始,柱在m烏ai睜n中中結(jié)束秩,其鋒它函蝴數(shù)通祖過嵌韻套調(diào)粥用得歲以執(zhí)命行。程序統(tǒng)語句C程切序由振語句至組成用“;”作慮為語串句終軌止符注釋/*騎*/為注降釋,昨不能烤嵌套不產(chǎn)澆生編緩譯代義碼<>編譯杜預(yù)處汽理命描令C程序牢設(shè)計(jì)第一助章C語言責(zé)概述例:/*Thisisthemain/*ofexample1.1*/*/非法<>C程序駕設(shè)計(jì)第一義章C語言篩概述1.流4運(yùn)行C程序繪的步至驟與模方法RAMEditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeLibrariesSourcefile(源文件)Objectfile(目標(biāo)文件)Libraryfile(庫文件)Executablefile(可執(zhí)行文件)<>C程序禁設(shè)計(jì)第一鐘章C語言困概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesEdit(編輯)Programiscreatedintheeditorandstoredondisk.<>C程序啞設(shè)計(jì)第一奶章C語言妨概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesCompile(編譯)Preprocessorprogramprocessesthecode.Compilercreatesobjectcodeandstores
itondisk.<>C程序卡設(shè)計(jì)第一縱章C語言捐概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesLink(鏈接)Linkerlinkstheobjectcodewiththelibraries.<>C程序屯設(shè)計(jì)第一叔章C語言從概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerCPULoaderfile.objfile.exeRAMLibrariesExecute(運(yùn)行)Loaderputsprograminmemory.CPUtakeseachinstructionandexecutesit,possiblystoringnewdatavaluesastheprogramexecutes.<>C程序漢設(shè)計(jì)第一孫章C語言盈概述EditPreprocessCompileLinkLoadExecuteEditorfile.cCompilerLinkerfile.objfile.exeLibrariesIntegratedDevelopmentEnvironment(IDE)(集成開發(fā)環(huán)境)TurboC/C++BorlandC/C++VisualC/C++IDE<>C程序閑設(shè)計(jì)第一繁章C語言汽概述Tu純r(jià)b粒oC實(shí)現(xiàn)C程序1)啟億動(dòng)<>C程序陸設(shè)計(jì)第一咽章C語言漢概述2)文研件編攏輯與該保存<>C程序旦設(shè)計(jì)第一班章C語言親概述3)編州譯與準(zhǔn)鏈接<>C程序水設(shè)計(jì)第一遠(yuǎn)章C語言著概述4)運(yùn)邁行<>C程序輸設(shè)計(jì)第一娘章C語言蕉概述Vi危su省al袖C揉++實(shí)現(xiàn)C程序1)啟岸動(dòng)<>C程序窮設(shè)計(jì)第一掘章C語言正概述2)文塵件編毅輯與媽保存<>C程序脆設(shè)計(jì)第一閉章C語言塑概述3)編孤譯與協(xié)鏈接<>C程序媽設(shè)計(jì)第一囑章C語言殺概述4)運(yùn)完行<>C程序決設(shè)計(jì)第一偽章C語言柄概述本章小結(jié)通過本章的學(xué)習(xí),應(yīng)對(duì)計(jì)算機(jī)語言及程序設(shè)計(jì)的概念,C程序的組成特點(diǎn),C程序的運(yùn)行過程有一個(gè)初步了解。學(xué)習(xí)C語言程序設(shè)計(jì),掌握C語言語法規(guī)則和程序設(shè)計(jì)方法,培養(yǎng)編程技能是很重要的。C語言相對(duì)其它高級(jí)語言來說要相對(duì)難一些,但只要認(rèn)真對(duì)待,學(xué)習(xí)程序設(shè)計(jì)好的方法就是在掌握語法規(guī)則的基礎(chǔ)上,多分析閱讀別人寫的程序,多自己動(dòng)手編寫一些小程序,多上機(jī)調(diào)試運(yùn)行程序,做到這3個(gè)“多”字,學(xué)習(xí)好C程序設(shè)計(jì)就不難了。
第二載章確程序投的靈陸魂:擦算法算法的概念簡(jiǎn)單算法舉例(融入本章第四節(jié))算法的特性怎樣表示一個(gè)算法結(jié)構(gòu)化程序設(shè)計(jì)方法【本章圖要點(diǎn)】●算法沾的概柔念及挎特性●算法填的表某示方爛法●結(jié)構(gòu)曠化程零序設(shè)犧計(jì)方蔬法【教學(xué)衡目標(biāo)】●掌握陶算法表的基縮慧本概辣念與徑特征●掌握款結(jié)構(gòu)略化程彎序設(shè)昨計(jì)的割基本圣概念<>C程序丘設(shè)計(jì)第二辦章勇程序黃的靈冶魂:嘴算法2.標(biāo)1算法宗(al觀go涂ri特th瞎m)的幫概念程序簡(jiǎn)設(shè)計(jì)節(jié)的靈蔽魂是唇算法木。算法冤是由境問題撕驅(qū)動(dòng)廉的。:解決險(xiǎn)一個(gè)計(jì)問題索而采殿取的長(zhǎng)方法詳和步捆驟的捐精確仿描述觸。:計(jì)算從機(jī)算納法-廟計(jì)算殿機(jī)能械執(zhí)行遭的算東法。:同一鑰事情泄可以閘有不家同的慈算法惕實(shí)現(xiàn)饞。算法+數(shù)據(jù)師結(jié)構(gòu)=程序計(jì)算驅(qū)機(jī)算催法分但為兩帖大類響別:數(shù)值像算法筍:1差+2勤+…讀+1擾00非數(shù)廢值算釣法:腳圖書添檢索釣、人渡事管耳理一個(gè)擴(kuò)程序乓包括舌兩個(gè)稈方面謝的內(nèi)慕容:1、巾對(duì)數(shù)鹽據(jù)的焦描述碰;2、撫對(duì)操火作的走描述膽。<>C程序籌設(shè)計(jì)第二師章害程序亭的靈梳魂:誤算法例:1、1+制2+業(yè)3+…+1怨0010迅0+(1+精99)+(2+內(nèi)98)+…+(49只+5滔1)+5頂02、判絮斷一摩個(gè)正兼整數(shù)波是否袋是素糞數(shù)。3、求漂兩個(gè)亭正整燦數(shù)m和n的最澡大公晌約數(shù)螞。4、交煩換兩貓個(gè)變也量a,不b的值漠。⑴引域進(jìn)中秒間變是量。⑵a=攝a+群b,職b=匆a-聾b,滋a=臉a-走b⑶a旺=a毅^b湖,b桃=b蜂^a刪,a轉(zhuǎn)=a掉^b<>C程序講設(shè)計(jì)第二云章警程序病的靈揪魂:買算法2.2
算法的特性一個(gè)算法應(yīng)具有以下5個(gè)特性:(1)有窮性:有限的操作步驟;(2)確定性:每一個(gè)步驟都是確定的;(3)有效性:每一個(gè)步驟能有效執(zhí)行并能得到確定的結(jié)果;(4)輸入:有0個(gè)或多個(gè)輸入;(5)輸出:有1個(gè)或多個(gè)輸出。<>C程序蔽設(shè)計(jì)第二紐奉章泰程序剩的靈諷魂:警算法2.3
怎樣表示一個(gè)算法自然語言、傳統(tǒng)流程圖、N-S圖、偽代碼、PAD圖等。
1.用自然語言描述
自然語言就是人們?nèi)粘J褂玫恼Z言,可以是中文、英文等。用自然語言表示的算法通俗易懂,但一般篇幅較冗長(zhǎng),表達(dá)上不易準(zhǔn)確,易引起理解上的“歧義性”。
2.用傳統(tǒng)流程圖描述
傳統(tǒng)流程圖是用一組規(guī)定的圖形符號(hào)、流程線和文字說明來表示各種操作算法。直觀形象,易于理解。ANSIC規(guī)定了一些常用的流程圖符號(hào),如表所示。<>C程序京設(shè)計(jì)第二評(píng)章期程序旋的靈候魂:恒算法符號(hào)符號(hào)名稱含義起止框表示算法的開始和結(jié)束輸入輸出框表示輸入輸出操作處理框表示對(duì)框內(nèi)的內(nèi)容進(jìn)行處理判斷框表示對(duì)框內(nèi)的條件進(jìn)行判斷流程線表示流程的方向連接點(diǎn)表示兩個(gè)具有同一標(biāo)記的“連接點(diǎn)”應(yīng)連接成一個(gè)點(diǎn)<>C程序茂設(shè)計(jì)第二清章撕程序浴的靈共魂:讀算法例:線求1×奪2×遠(yuǎn)3雄×斥4挑×香5,用聾流程勉圖表乘示。求1×2將結(jié)果×3將結(jié)果×4將結(jié)果×5開始t=1t=t×2t=t×3t=t×4t=t×5輸出t結(jié)束開始t=1i=2t=t×ii=i+1輸出t結(jié)束i>5是否<>C程序?yàn)V設(shè)計(jì)第二斬章資程序齒的靈為魂:刪算法3.三種基本結(jié)構(gòu)為了避免出現(xiàn)BS算法(aBowlofSpaghetti的縮寫,意為“一碗面條”似的),Bohra和Jacopini提出了三種基本結(jié)構(gòu)。已經(jīng)證明,由這三種基本結(jié)構(gòu)順序組成的算法,可以解決任何復(fù)雜問題。稱之為結(jié)構(gòu)化算法。(1)順序結(jié)構(gòu)(2)選擇結(jié)構(gòu)(3)循環(huán)結(jié)構(gòu):當(dāng)型循環(huán)直到型循環(huán)三種基本結(jié)構(gòu)的特點(diǎn):1)只有一個(gè)入口。(a點(diǎn))2)只有一個(gè)出口。(b點(diǎn))3)每一個(gè)基本結(jié)構(gòu)中的每一部分都有機(jī)會(huì)被執(zhí)行。4)結(jié)構(gòu)內(nèi)不存在死循環(huán)<>C程序循設(shè)計(jì)第二脫章簽程序嶄的靈互魂:悟算法順序譯結(jié)構(gòu)順序壁結(jié)構(gòu)abAB<>C程序峰設(shè)計(jì)第二賠章什程序牙的靈鉆魂:均算法選擇怨結(jié)構(gòu)ABPab滿足不滿足輸出x輸出-xX≥0ab否是<>C程序訊設(shè)計(jì)第二汽章派程序鎮(zhèn)的靈猾魂:輔算法當(dāng)型美循環(huán)菊:當(dāng)療指定區(qū)的條暴件滿紙足時(shí)袖,就站執(zhí)行慢循環(huán)鈴體,常否則雜不執(zhí)惱行。b滿足P1Aa不滿足<>C程序削設(shè)計(jì)第二憂章碗程序企的靈棉魂:炮算法直到花型循癢環(huán):隔反復(fù)配執(zhí)行嬌循環(huán)頃體直濃到條障件滿淺足為怠止。b不滿足P1Aa滿足<>C程序炊設(shè)計(jì)第二虜章塔程序戚的靈鍬魂:最算法例:筒求1+餡2+竭3+太4…直到佳其和欣大于金或等傅于10級(jí)0。方法2:是否開始t=0i=1t=t+ii=i+1輸出t結(jié)束t<100開始t=0i=1t=t+ii=i+1輸出t結(jié)束t≥100是否方法1:<>C程序亦設(shè)計(jì)第二燥章謊程序?qū)挼撵`桃魂:燃算法4.N-雙S流程嗎圖表尸示算垮法由于耽用基帝本結(jié)精構(gòu)的旦順序欲組合沸就可秒以表啊示任識(shí)何復(fù)市雜的推算法孕結(jié)構(gòu)徐,基役本結(jié)可構(gòu)之脊間的尼流程使線就遲多余俱。19兆73年I.喘Na貍ss沃i和B.倍Sh驚ne前id率er臉ma孕n提出祥了新坊的流炕程圖腎形式——唱N-品S流程尋圖,又叫靠盒圖瓦。(1)順童序結(jié)嚼構(gòu)(2)選蔑擇結(jié)卵構(gòu)(3)循帥環(huán)結(jié)圣構(gòu):當(dāng)型敵循環(huán)直到刃型循淡環(huán)<>C程序鍵設(shè)計(jì)第二帖章態(tài)程序稼的靈份魂:逮算法AB(1)順序結(jié)構(gòu)
ABab<>C程序逝設(shè)計(jì)第二帝章適程序蹈的靈五魂:埋算法PA(2)選擇結(jié)構(gòu)
B滿足
不滿足ABPab滿足不滿足<>C程序香設(shè)計(jì)第二過章侮程序夏的靈渡魂:戚算法(3)循公環(huán)結(jié)阻構(gòu)①順當(dāng)型父循環(huán)曲:當(dāng)P1滿足Ab滿足P1Aa不滿足<>C程序佩設(shè)計(jì)第二現(xiàn)章拔程序碼的靈攻魂:喉算法②直悅到型尼循環(huán)幻玉:b不滿足P1Aa滿足
直到P1滿足A<>C程序禍設(shè)計(jì)第二曉章惹程序雙的靈蘿魂:釀算法例:歷求1+碰2+求3+產(chǎn)4…直到朗其和像大于攤或等藍(lán)于10鈴0。開始t=0i=1t=t+ii=i+1輸出t結(jié)束t≥100是否
t
=0,i=1
直到t≥100
輸出t
t=t+i
i=i+1<>C程序橫設(shè)計(jì)第二金章扛程序掘的靈幫魂:擴(kuò)算法幾種宵算法堤表示期比較●求5!S1:1pS2:2iS3:p*ipS4:i+1iS5:若i<=5,
返回s3;
否則,結(jié)束開始
1p
iP*ipi+1ii>5
結(jié)束
1p2iP*ipi+1i直到i>5結(jié)束main(){inti,p;p=1;i=2;while(i<=5){p=p*i;i=i+1;}printf(“%d”,p);}用自然語言表示用流程圖表示用N-S流程表示用C語言表示<>C程序癥設(shè)計(jì)第二梯章程序座的靈袖魂:鑰算法2.凡4結(jié)構(gòu)核化程悅序設(shè)櫻計(jì)方蛾法1.自頂培向下2.逐步絞細(xì)化3.模塊增化設(shè)卷計(jì)4.結(jié)構(gòu)燒化編使碼結(jié)構(gòu)就化程芹序設(shè)鋒計(jì)由誘迪克觸斯特遼拉(E.牧W.鉛di遷jk怕st柄ra)在19豎69年提矩出,歪是以值模塊浴化設(shè)匠計(jì)為封中心戲,將嚼待開晉發(fā)的沾軟件遷系統(tǒng)增劃分嬌為若戴干個(gè)咳相互妄獨(dú)立差的模理塊,顛這樣掠使完鋼成每芹一個(gè)許模塊撐的工燙作變巾單純嫩而明貌確,浴為設(shè)確計(jì)一筋些較擦大的武軟件乎打下疑了良局好的鋼基礎(chǔ)閃。按意照結(jié)沃構(gòu)化些程序扯設(shè)計(jì)纖的觀釀點(diǎn),微任何概算法摩功能諸都可沉以通才過由挽程序卵模塊足組成降的三罪種基尿本程饒序結(jié)鎮(zhèn)構(gòu)的烤組合軍:順序眾結(jié)構(gòu)步、選消擇結(jié)螞構(gòu)和木循環(huán)侵結(jié)構(gòu)來實(shí)鵲現(xiàn)。結(jié)構(gòu)貿(mào)化程什序設(shè)列計(jì)的剃基本負(fù)思想梁是采效用"自頂織向下,逐步圖求精"的程倦序設(shè)搞計(jì)方畏法和"單入惑口單變出口"的控胞制結(jié)消構(gòu)。捷自頂泊向下誓、逐禮步求奏精的斃程序壁設(shè)計(jì)蛛方法刪從問傷題本崇身開折始,說經(jīng)過丙逐步偶細(xì)化盤,將胳解決特問題筋的步練驟分恩解為會(huì)由基牲本程炭序結(jié)脈構(gòu)模銹塊組生成的順結(jié)構(gòu)露化程峰序框殺圖;"單入村口單申出口"的思飲想認(rèn)程為一寬個(gè)復(fù)涉雜的千程序著,如街果它劑僅是令由順市序、堅(jiān)選擇助和循葛環(huán)三狂種基齊本程翠序結(jié)植構(gòu)通爐過組無合、允嵌套脾構(gòu)成坑,那萄么這巨個(gè)新各構(gòu)造型的程捐序一冰定是尋一個(gè)滋單入蘇口單栗出口樂的程星序。霸據(jù)此妻就很糾容易呢編寫文出結(jié)藏構(gòu)良饞好、軌易于辨調(diào)試不的程兵序來對(duì)。<>C程序趣設(shè)計(jì)第二更章程序秧的靈擱魂:糊算法例:魄求方獎(jiǎng)程ax2+b研x+敲c=曲0的根示(設(shè)b2-4感ac罰≥0)程序旋設(shè)計(jì)哲步驟1、定葵義數(shù)談?chuàng)Y(jié)襯構(gòu)2、設(shè)柏計(jì)算吼法3、確及定程烏序設(shè)挪計(jì)方豪法4、確駛定語呆言和足開發(fā)漏環(huán)境5、實(shí)幅現(xiàn)<>C程序春設(shè)計(jì)第二剝章程序妥的靈斷魂:簡(jiǎn)算法程序絨設(shè)計(jì)洗步驟1:定丹義數(shù)諒據(jù)結(jié)把構(gòu)根據(jù)柴問題隔確定嘴哪些吃是已奴知數(shù)榨據(jù),洋哪些招是通湊過計(jì)貞算得薪到的待數(shù)據(jù)開。對(duì)雕輸入溫、輸鄙出和鳴存儲(chǔ)盒的數(shù)快據(jù)進(jìn)費(fèi)行描躲述,琴指定椅數(shù)據(jù)拳的類抽型和詢數(shù)據(jù)擾的組株織形炒式。定義嗎以下父變量踏(va柄ri楚ab工le竟s):a、b、c(保牢存輸就入的令系數(shù)嚷)p、di增sc、q(保含存中乞間結(jié)枝果)x1、x2(保毒存最琴后的螺結(jié)果鄉(xiāng)豐)<>C程序霞設(shè)計(jì)第二型章程序弓的靈聯(lián)魂:流算法程序棚設(shè)計(jì)馳步驟2:設(shè)薪計(jì)算耐法根據(jù)鏈數(shù)學(xué)姨知識(shí)導(dǎo),知悟道此譽(yù)時(shí)方由程有蓬兩個(gè)愈根那么話,可障以確漁定解根方程秒的方框法和宰步驟榜:輸入a,b,c;計(jì)算-b抬/2芬a,把勞結(jié)果寶存入p,即p=炒-b愚/2夠a;計(jì)算b2-4行ac,把錘結(jié)果丘存入di鹽sc,即di胃sc里=b2-4黎ac;計(jì)算裹,把高結(jié)果正存入q,即q=;計(jì)算p+宏q和p-賓q,把天結(jié)果傲存入x1和x2,即x1=p找+q,x2=p延-q;輸出x1和x2。<>C程序爛設(shè)計(jì)第二衡章程序槐的靈宇魂:型算法程序創(chuàng)設(shè)計(jì)井步驟3:確藥定程夠序設(shè)飲計(jì)方綠法結(jié)構(gòu)沖化程蜂序設(shè)鋤計(jì)(St想ru搏ct珍ur寄ed畫p償ro但gr倦am哪mi序ng)嚴(yán)格醬的方帖法(di彎sc描ip畫li幫ne猴d偏ap絡(luò)pr糕oa賽ch)清晰削(cl迫ea挨r),信便于炸測(cè)試彈(te派st)、曲調(diào)試滲(de凈bu譯g)和暑修改癥(mo衰di杜fy連)面向女對(duì)象棗程序刑設(shè)計(jì)誘(Ob齒je拌ct通-o攤ri剖en縮慧te各d錘pr償og丙ra嗚mm眨in摸g)可重窩用(re市us炒ab銀le)更易沙理解薪(un鬧de屯rs羊ta額nd票ab低le),刑更好悼的組流織(or攜ga巴ni圍ze價(jià)d),躺更利墓于維幟護(hù)(ma捆in逮ta餓in)支持晉模塊錫性(mo攤du名la臺(tái)ri推ty)這里面,采用喬結(jié)構(gòu)鑰化程濁序設(shè)死計(jì)方碰法。<>C程序默設(shè)計(jì)第二嘗章程序額的靈區(qū)魂:抱算法程序憲設(shè)計(jì)醒步驟4:確瞧定語異言和夾開發(fā)彈環(huán)境1、采烏用C語言2、在Bo肉rl納an沾d陪C設(shè)3.祖1開發(fā)尋環(huán)境染下進(jìn)帶行程穿序設(shè)鈴計(jì)程序指設(shè)計(jì)流步驟5:實(shí)陶現(xiàn)編寫C語言節(jié)程序#i驕nc菌lu畝de不<麻ma疑th恭.h敗>vo康id棵m嗚ai析n(市){制fl多oa拍t礎(chǔ)a,腦b貌,裕c,袖p徐,超di鎮(zhèn)sc蓄,變q,慘x宏1,增x掩2;sc智an墊f(“%f府%f飾%f”,巖&a慘,痛&b虛,跟&c竊);p=意-b泰/(蘋2*東a)任;di飼sc走=b炎*b單-4隊(duì)*a茶*c家;q=霞sq賺rt有(d獲is怎c)釀/(頑2*曬a)陡;x1五=p偉+q慰;講x2辨=p政-q芳;pr且in拖tf厘(“x1刮=%零f,劫x犬2=榨%f”,票x1籍,爽x2志);}例:x2=4即a=標(biāo)1b=點(diǎn)0c=臘-4流程駁圖?<>C程序餐設(shè)計(jì)第二揮章程序拘的靈廟魂:帖算法本章小結(jié)本章的內(nèi)容是十分重要的,是學(xué)習(xí)后面各章的基礎(chǔ)。學(xué)習(xí)程序設(shè)計(jì)的目的不只是學(xué)習(xí)一門特定的語言,而是學(xué)習(xí)進(jìn)行程序設(shè)計(jì)的方法。掌握了算法就是掌握了程序設(shè)計(jì)的靈魂,再學(xué)習(xí)有關(guān)的計(jì)算機(jī)語言知識(shí),就能夠順利編寫任何一種語言的程序。關(guān)鍵是算法。有了正確的算法,用任何語言進(jìn)行編碼都不應(yīng)該有什么困難。在本章中只是初步介紹了有關(guān)算法的基本知識(shí),并沒有深入介紹如何設(shè)計(jì)各種類型的算法。在以后的章節(jié)中將結(jié)合實(shí)例陸續(xù)介紹有關(guān)的算法。第三鋤章囑數(shù)據(jù)抱類型呢、運(yùn)粱算符仁與表撲達(dá)式C語言的數(shù)據(jù)類型常量與變量整型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)字符型數(shù)據(jù)變量賦初值(在“常量與變量”中介紹)各種數(shù)據(jù)類型間的混合運(yùn)算算術(shù)運(yùn)算符和算術(shù)表達(dá)式賦值運(yùn)算符和賦值表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式【本章譯要點(diǎn)】●標(biāo)識(shí)使符命遣名規(guī)孝則●常量超與變夸量●基本偷數(shù)據(jù)錫類型●常用斬運(yùn)算燃符與輔表達(dá)中式●運(yùn)算劑符的賭優(yōu)先模級(jí)及午結(jié)合瓣性【教學(xué)敢目標(biāo)】●了解睛基本誓數(shù)據(jù)翁類型命及其仰常量疤的表補(bǔ)示法●掌握小變量靠的定紋義與刮初始鉤化方昏法●掌握菊運(yùn)算揚(yáng)符與拴表達(dá)舊式的房誠(chéng)概念●領(lǐng)會(huì)C語言仍的自征動(dòng)類燭型轉(zhuǎn)環(huán)換和滑強(qiáng)制碗類型究轉(zhuǎn)換厲與賦馬值摟運(yùn)監(jiān)算符蘆的概轉(zhuǎn)念<>C程序斷設(shè)計(jì)第三汽章燈數(shù)據(jù)米類型倡、運(yùn)燒算符荷與表例達(dá)式3.醒1C語言憲的數(shù)蠟據(jù)類瞇型字符型(char)整型(short,int,long,unsigned)單精度型(float)實(shí)型雙精度型(double)枚舉類型(enum)
數(shù)組類型([])構(gòu)造類型結(jié)構(gòu)體類型(struct)共用體類型(union)指針類型(*)空類型(void)基本類型數(shù)據(jù)類型<>C程序彎設(shè)計(jì)第三鋼章喇?dāng)?shù)據(jù)購(gòu)類型惑、運(yùn)倒算符兔與表渴達(dá)式3.2
常量與變量
★標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字符必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字長(zhǎng)度:最長(zhǎng)32個(gè)字符命名原則:見名知意不宜混淆如l與I,o與0例:毫判斷擺下列爛標(biāo)識(shí)曉符號(hào)錘合法魂性su姿m效S散umM.略D.未Jo狹hnda籍y雕D堤at茄e3d歸ay皺sst沙ud邁en迎t_聞na宵me#3慰3lo礎(chǔ)tu模s_姓1_唱2_并3ch背ara>虹b_a蟻bo律ve$1向23<>C程序患設(shè)計(jì)第三饞章凈數(shù)據(jù)奪類型子、運(yùn)望算符慣與表昨達(dá)式常量定義葉:程序惜運(yùn)行英時(shí)其堂值不桑能改討變的僅量(票即常猴數(shù))分類刊:符號(hào)姿常量襪:用德標(biāo)識(shí)畫符代男表常理量定義醋格式秘:#d僚ef越in域e符號(hào)睜常量川常膝量一般擔(dān)用大位寫字柴母是宏飯定義銷預(yù)處珠理命荒令,度不是螺C語烤句直接浸常量駁:整型查常量實(shí)型漏常量字符晚常量字符絞串常便量例不符赤號(hào)??塘颗e刑例#d裝ef什in否e征PR宵IC耀E堡30ma喉in近(){in案t孩nu屢m,老to紅ta回l;nu樣m=沖10捉;to濟(jì)ta杯l=形nu維m*依PR撕IC炕E;pr夸in立tf芝(“to顯ta挨l=墊%d”,t慰ot她al寫);}運(yùn)行螺結(jié)果躲:to促ta蠅l=回30兩0<>C程序胡設(shè)計(jì)第三菊章呢?cái)?shù)據(jù)比類型缸、運(yùn)吵算符暮與表產(chǎn)達(dá)式變量初始化:定義時(shí)可以賦初值如:inta,b,c;floatx,y;變量------其值可以改變的量
概念:每個(gè)變量有一個(gè)名字:用標(biāo)識(shí)符表示。每個(gè)變量有一個(gè)存儲(chǔ)空間(存儲(chǔ)單元),該單元中的狀態(tài)所表示的數(shù)為此時(shí)變量的值。變量定義的一般格式:
數(shù)據(jù)類型變量1[,變量2,…,變量n];編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機(jī)數(shù)<>C程序堂設(shè)計(jì)第三秀章惠數(shù)據(jù)坐類型典、運(yùn)擦算符藝與表物達(dá)式變量例定義解位置等:一般放在掘函數(shù)吼體開騎頭例:in襯t羽a箏=2狠,b豆,c悅=4留;fl險(xiǎn)oa盜t什d主at嗓a=渡3.救67型;ch妥ar塑ch各=‘遺A’蟲;in走t占x釋=1冊(cè),y逝=1私,z每=1組;in借t嗎x泛=y作=z襯=1描;main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;printf(“data=%f\n”,data);}變量定義可執(zhí)行語句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;printf(“data=%f\n”,data);}例:fl君oa轎t賓a悅,b混,c旺;c=告a%況b;鍛//Il殼le幅ga眨l效u劃se服o亂f買fl理oa豬ti愈ng愧p曾oi廣nt拋in達(dá)f燥un巴ct衡io嫁n拼ma呼in例:in救t鈴st左ud游en換t;st色ad撤en訊t=戴19密;品//Un頁de進(jìn)fi氏ne唇d閑sy辮mb書ol博‘辮st直at畏en賊t’申i己n擊fu糾nc癥ti世on醫(yī)m鏟ai填n<>C程序渾設(shè)計(jì)第三涂章蓋數(shù)據(jù)淹類型欲、運(yùn)姨算符州與表厚達(dá)式每一個(gè)變量都有一個(gè)類型,表明了為它的存儲(chǔ)屬性:★分配空間的大小;★表示的數(shù)的范圍;★所能進(jìn)行的運(yùn)算。類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(signed)int16-32768~32767(signed)short16-32768~32767320~4294967295unsigned
longunsigned
short160~65535有float323.4e-38~3.4e38有double641.7e-308~1.7e308有char8-128~127無unsignedchar80~255(signed)long32-2147483648~214748364716unsigned
int0~65535說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBMPC機(jī)為例。<>C程序軌設(shè)計(jì)第三路章咸數(shù)據(jù)妙類型尸、運(yùn)甩算符懇與表孟達(dá)式整數(shù)劃類型辨的標(biāo)爺識(shí)符俯是i伙nt點(diǎn)。整婆型數(shù)垮據(jù)根父據(jù)其掘占用駝的內(nèi)劑存字恥節(jié)數(shù)包不同館,可煌加限器定詞跟:sh副or免t(最短整蔽型)約,i振nt繭,l津on辱g(嘗長(zhǎng)整泊型)晴,sh眉o(jì)r蒙t≤地in落t≤象lo銹ng可用si劣ze濟(jì)of(類粘型標(biāo)撒識(shí)符唐)測(cè)妻量un勾si脈gn丈ed械s悔ho范rt宵(根無符條號(hào)短榨整型賣),un娛si朋gn任ed護(hù)i島nt皆(喇無符瀉號(hào)整沙型)為,un沙si海gn唉ed襯l里on題g導(dǎo)(漁無符回號(hào)長(zhǎng)汽整型演),其中陽sh企or掃t和貍lo巷ng浪的引恐入是污為滿禁足實(shí)粥際要宵求的享不同竿長(zhǎng)度程的整堵數(shù),榜而經(jīng)裹un科si煤gn非ed嚇限定抵詞限迷定的中整數(shù)等總是鬧正的而。3.浪3整型魚數(shù)據(jù)<>C程序傳設(shè)計(jì)第三裕章友數(shù)據(jù)騾類型煎、運(yùn)濕算符后與表四達(dá)式0111111111111111int型:最大:327671000000000000000最小:-327681111111111111111unsignedint型:最大:655350000000000000000最小:0掌握進(jìn)制轉(zhuǎn)換方法;原碼、補(bǔ)碼、反碼-32768的補(bǔ)碼形式?卡耐貢基-梅隆號(hào)大學(xué)奮(CM維U)的志編程攝難題計(jì)算罰機(jī)科荒學(xué)系結(jié)初入晴學(xué)研授究生意競(jìng)賽乒題:讀入位一個(gè)達(dá)數(shù)據(jù)窮文件掩(10筍00豆0個(gè)數(shù)值壁),影打印裹其平董均值禁。要喘求:1、程沙序運(yùn)挪行速志度盡過可能概快;2、必款須用pa煙sc嚷al或c編寫攪。可以閱提交遮多個(gè)昆程序坐參加快競(jìng)賽剖。第一淋名運(yùn)蜻行時(shí)瞇間為-3秒。評(píng)委傭?qū)彶閺V發(fā)現(xiàn)磚,該蘇生充鞋分利令用了粒操作輝系統(tǒng)夜。他用度一個(gè)弄指針浸訪問離進(jìn)程怠控制舅塊,挨并用猛一個(gè)磚非常畏大的望值覆另蓋“CP嶄U已使密用時(shí)間”熄字段執(zhí)。操景作系框統(tǒng)未濁曾想蒙到CP飾U時(shí)間桑會(huì)如蹦此之贊大,病因此匹錯(cuò)誤針的以面二進(jìn)低制補(bǔ)碼信方案本把這窗個(gè)非兼常大耽的數(shù)澇解釋覽為負(fù)對(duì)數(shù)。第二闊名運(yùn)威行時(shí)辭間為級(jí)幾毫軌秒。他提醒交了蜓兩個(gè)少程序足,一蹄個(gè)程報(bào)序用瓦正常腦的方法借計(jì)算毅平均津值,缸并將笛答案切寫入仔一個(gè)赤文件束。另伙一個(gè)喊程序桐專門搖檢查慮第一釋個(gè)程序齒產(chǎn)生敏的答巴案文譜件是址否存兩在,腥如果李存在殖,就失打印敬其結(jié)住果。<>C程序辛設(shè)計(jì)第三攜章糟數(shù)據(jù)疼類型擁、運(yùn)笛算符蜻與表積達(dá)式整型虧常量(整盡常數(shù)詢)三種妙形式槍:十進(jìn)辮制整翁數(shù):由瓦數(shù)字0~9和正辯負(fù)號(hào)朝表示.如12翻3,抹-4母56悲,0八進(jìn)誼制整皆數(shù):由眠數(shù)字0開頭,后跟恒數(shù)字0~7表示.如01草23被,0御11十六衰進(jìn)制越整數(shù):由0x開頭,后跟0~9,眼a~f,恒A~F表示.如0x縫12話3,渾0X姑ff問題范:01倒23慮=謝(菌)100x礦12輛3痕=潛(春)100X返ff政=依(臨)10問題:0123=()100x123=()100Xff=()1083291255例駱3節(jié)00途00極為旅in數(shù)t型65時(shí)53袋6重為lo望ng稀i米nt型<>C程序交設(shè)計(jì)第三歡章雙數(shù)據(jù)絲式類型洋、運(yùn)跳算符毛與表企達(dá)式整型淹常量西的類威型根據(jù)烏其值趟所在答范圍哈確定副其數(shù)懷據(jù)類是型:一個(gè)伐整數(shù)偉若值他在-朽32昏76通8~益32懂76傾7內(nèi)旱,則壟默認(rèn)絕為它肯是i話nt有型;桶一個(gè)快整數(shù)堆若值紫在-猴21性47裳48遵36朵48孩~2甘14列74芳83株64供7之夏間,紡可使攪用長(zhǎng)西整型規(guī)常量束表示齡。在整蛙常量栗后加設(shè)字母姥l或援L,演認(rèn)為英它是lo頓ng憶i直nt型常粥量無符某號(hào)數(shù)歡也可考用后徹綴表獵示,速整型殊常數(shù)寸的無欄符號(hào)尖數(shù)的歉后綴借為“晨U”檔或“要u”趨。例如求:堂35蕉8u桿,0殖x3蕉8A喘u,時(shí)23斬5L宣u非均為曠無符扮號(hào)數(shù)掉;0咬XA換5L敞u表非示十胖六進(jìn)揀制無養(yǎng)符號(hào)朽長(zhǎng)整嘉數(shù)A疏5,嶄其十省進(jìn)制肆為1使65貪。一個(gè)貫非負(fù)然的整深數(shù),望只要衫它的醫(yī)值不首超過店相應(yīng)蹲變量晃的取缺值范堤圍,爺就可鑄以賦挽給u醉ns浪ig外ne起d型訊變量膏。例萄如,算可以倚將6器00煌0賦喇給一營(yíng)個(gè)誕un縮慧si票gn妖ed布i旅nt笨型變模量,津但卻干不可選以將斗66法00錢0賦殊給一圈個(gè)u四ns節(jié)ig瞞ne帖d艙in維t型殘變量油(將假會(huì)出沈現(xiàn)溢津出錯(cuò)膽誤)<>C程序枕設(shè)計(jì)第三乳章拌數(shù)據(jù)切類型車、運(yùn)福算符寄與表棕達(dá)式整型驅(qū)變量定義巡壽方法役:in捕t潮a1岡,a欄2;un到si慌gn兇ed踐i濕nt懶b隨1,站b2流;一個(gè)消整型艱常量薦只可封以賦獵給能漸容納只下其速值的琴整型腎變量。如a1滑,a記2的取賄值范枯圍為-3在27瓶68嚷--海--辱32秀76錫7b1汁,b傷2的取辭值范度圍為0-除--朱-6憤55摟35如果沸:a1礎(chǔ)=6懂55苗35散;或者:沈b1業(yè)=-躁1;在內(nèi)像存中蕩數(shù)值治將不卷是所菜賦的荒數(shù)值毫。<>C程序僵設(shè)計(jì)第三誘章掠數(shù)據(jù)怕類型摘、運(yùn)罪算符掏與表萌達(dá)式3.催4浮點(diǎn)兄型(劃實(shí)型陶)數(shù)陵據(jù)實(shí)數(shù)賢類型績(jī)分為汪單精鉤度(fl兇oa歉t)和斃雙精踢度(do槳ub育le)類蕉型,洞二者閃的區(qū)傲別在匯于所頑占存蒸儲(chǔ)位敵的多同少,靠從而物決定貼了其簽取值亞范圍忘。通常防以32位(bi忍ts)來溝存儲(chǔ)晶單精代度實(shí)嶺數(shù)型咽數(shù)據(jù)昨,以64位來艘存儲(chǔ)陣雙精歉度實(shí)伴型數(shù)饑據(jù)。<>C程序槐設(shè)計(jì)第三酒章惡數(shù)據(jù)碌類型滾、運(yùn)桶算符恢與表考達(dá)式實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))表示形式:十進(jìn)制數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,小數(shù)點(diǎn)的左右至少一邊要有數(shù)字。(必須有小數(shù)點(diǎn))如0.123,.123,123.0,0.0,123.指數(shù)形式:由尾數(shù)、e或E和指數(shù)部分組成,E和e等同。E的兩邊都至少要有一位數(shù)且E的右邊只允許是整數(shù)形式(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5。
實(shí)型常量的類型:默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型<>C程序譜設(shè)計(jì)第三晝章惑數(shù)據(jù)貌類型敬、運(yùn)毯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)第三學(xué)年(化學(xué))物理化學(xué)實(shí)驗(yàn)試題及答案
- 2025年大學(xué)大三(高級(jí)財(cái)務(wù)會(huì)計(jì))合并報(bào)表實(shí)踐測(cè)試試題及答案
- AI參考模版制作技術(shù)教程
- 當(dāng)前醫(yī)患關(guān)系現(xiàn)狀論文
- 2025四川綿陽市鹽亭發(fā)展投資集團(tuán)有限公司招聘職能部門及所屬子公司人員7人備考題庫及完整答案詳解
- 材料考研就業(yè)前景解讀
- 2026江蘇省人民醫(yī)院臨床醫(yī)學(xué)研究院(I期研究中心)派遣制人員招聘1人備考題庫及答案詳解參考
- 2026廣東龍門產(chǎn)業(yè)投資集團(tuán)有限公司招聘職工3人備考題庫及參考答案詳解一套
- 2026內(nèi)蒙古錫林郭勒盟蘇尼特右旗應(yīng)急管理局招聘2人備考題庫參考答案詳解
- 2026四川成都市成華區(qū)市場(chǎng)監(jiān)督管理局招聘編外人員1人備考題庫及答案詳解(奪冠系列)
- 規(guī)范外賣企業(yè)管理制度
- 2026年公共部門人力資源管理試題含答案
- 2026年中國(guó)數(shù)聯(lián)物流備考題庫有限公司招聘?jìng)淇碱}庫有答案詳解
- 黑龍江省哈爾濱市師范大學(xué)附中2026屆數(shù)學(xué)高三第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- DB32/T+5311-2025+港口與道路工程+固化土施工技術(shù)規(guī)范
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 醫(yī)療聯(lián)合體兒童保健服務(wù)模式創(chuàng)新
- 2026年書記員考試題庫附答案
- 中國(guó)高尿酸血癥與痛風(fēng)診療指南(2024更新版)課件
- 2025至2030中國(guó)專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報(bào)告
- DB13∕T 6066.3-2025 國(guó)資數(shù)智化 第3部分:數(shù)據(jù)治理規(guī)范
評(píng)論
0/150
提交評(píng)論