第1章 C語言概述_第1頁
第1章 C語言概述_第2頁
第1章 C語言概述_第3頁
第1章 C語言概述_第4頁
第1章 C語言概述_第5頁
已閱讀5頁,還剩75頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章C語言概述1計(jì)算機(jī)文化的主要內(nèi)容《離散數(shù)學(xué)》:包括數(shù)理邏輯、集合論、圖論等內(nèi)容,“二進(jìn)制的原理”《電子線路》:“二進(jìn)制的物理實(shí)現(xiàn)”《計(jì)算機(jī)組成原理》:“二進(jìn)制的加法”二進(jìn)制的原理十進(jìn)制的數(shù)字:

0,1,2,3,4,5,6,7,8,9(西方)

一、二、三、四、五、六、七、八、九、十(中國)二進(jìn)制的數(shù)字:0,1(西方)陰、陽(中國)1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言2十進(jìn)制是如何被發(fā)現(xiàn)的?恩格斯《反杜林論》“數(shù)和形的概念不是從其他任何地方,而是從現(xiàn)實(shí)世界中得來的。人們用來學(xué)習(xí)計(jì)數(shù),也就是作第一次算術(shù)運(yùn)算的十個指頭,可以是任何別的東西,但總不是知性的自由創(chuàng)造物。為了計(jì)數(shù),不僅要有可以計(jì)數(shù)的對象,而且還要有一種在考察對象時撇開它們的數(shù)以外的其他一切特性的能力,而這種能力是長期的以經(jīng)驗(yàn)為依據(jù)的歷史發(fā)展的結(jié)果。”1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言3十進(jìn)制是如何被發(fā)現(xiàn)的?數(shù)和形的概念不是從其他任何地方,而是從現(xiàn)實(shí)世界中得來的。人們曾用來學(xué)習(xí)計(jì)數(shù),從而用來作第一次算術(shù)運(yùn)算的十個指頭,可以是任何別的東西,但是總不是悟性的自由創(chuàng)造物。為了計(jì)數(shù),不僅要有可以計(jì)數(shù)的對象,而且還要有一種在考察對象時撇開對象的其他一切特性而僅僅顧到數(shù)目的能力,而這種能力是長期的以經(jīng)驗(yàn)為依據(jù)的歷史發(fā)展的結(jié)果。和數(shù)的概念一樣,形的概念也完全是從外部世界得來的,而不是在頭腦中由純粹的思維產(chǎn)生出來的。(摘自《馬克思恩格斯全集》第二十卷pp.41,《反杜林論》)1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言41.1程序設(shè)計(jì)與程序設(shè)計(jì)語言德國的萊布尼茨發(fā)現(xiàn)了二進(jìn)制,他認(rèn)為:“第一天的伊始是1,也就是上帝。第二天的伊始是2,……到了第七天,一切都有了。所以,這最后的一天也是最完美的。因?yàn)?,此時世間的一切都已經(jīng)被創(chuàng)造出來了。因此它被寫作‘7’,也就是‘111’(二進(jìn)制中的111等于十進(jìn)制的7),而且不包含0。只有當(dāng)我們僅僅用0和1來表達(dá)這個數(shù)字時,才能理解,為什么第七天才最完美,為什么7是神圣的數(shù)字。特別值得注意的是它(第七天)的特征(寫作二進(jìn)制的111)與三位一體的關(guān)聯(lián)。”八卦是由八個符號組構(gòu)成的占卜系統(tǒng),而這些符號分為連續(xù)的與間斷的橫線兩種。這兩個后來被稱為“陰”、“陽”的符號,在萊布尼茨眼中,就是二進(jìn)制的中國翻版。他感到這個來自古老中國文化的符號系統(tǒng)與他的二進(jìn)制之間的關(guān)系實(shí)在太明顯了,因此斷言:二進(jìn)制乃是具有世界普遍性的、最完美的邏輯語言。5周易八卦圖及中華文化的影響

“是故易有太極,是生兩儀。兩儀生四象,四象生八卦?!保ㄗⅲ菏牵魏?;故,事物;儀,測度)(注:艮gèn,巽xùn)1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言6韓國國旗含義:太極圖中的紅色代表陽,藍(lán)色代表陰,陰陽合一代表宇宙的平衡與和諧。以太極為中心,四角的卦分別象征陰陽互相調(diào)和,乾卦代表天空,坤卦代表大地,坎卦是月亮和水,離卦為太陽和火,各個卦還象征著正義、富饒、生命力和智慧。據(jù)韓國的解釋,國旗底色為白色,象征韓國人民的純潔和對和平的熱愛。而整個國旗則代表韓國人民永遠(yuǎn)與宇宙協(xié)調(diào)發(fā)展的理想。1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言不丹國旗含義:不丹的國旗為長方形,由兩個三角形組成,左上方的三角形為金黃色,同中國一樣表示帝王之色,象征國王在領(lǐng)導(dǎo)宗教以及世俗事物方面的權(quán)力和作用。右下方的三角形為桔紅色,象征佛教的精神力量。圖案是一條足登四顆白珠的白龍。白龍象征國家的權(quán)利,代表“神龍之國”;四顆白珠象征威力和圣潔。7“加密狗”折射出的西方文化東方和西方的動物崇拜西方在文藝復(fù)新(14世紀(jì)至16世紀(jì))之前,包括在歐洲黑暗的中世紀(jì),西方人從事放牧、狩獵是重要的生活來源手段,狗是忠實(shí)的伙伴。而同時期,中國西晉時期(公元前300年左右)已經(jīng)有發(fā)達(dá)的農(nóng)業(yè),牛是主要的生產(chǎn)和交通工具?!妒勒f新語》汰侈篇(注:汰侈,過分驕奢),“王右軍少時,在周候末坐,割牛心啖之,于此改觀”,“王武子與王君夫較射賭牛”印度的神殿的牛神圣不可侵犯1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言81.1程序設(shè)計(jì)與程序設(shè)計(jì)語言二進(jìn)制的物理實(shí)現(xiàn)(與)

A、B的開為“0”,關(guān)為“1”;燈滅為“0”,燈亮為“1”AB燈00001010011191.1程序設(shè)計(jì)與程序設(shè)計(jì)語言二進(jìn)制的物理實(shí)現(xiàn)(或)

A、B的開為“0”,關(guān)為“1”;燈滅為“0”,燈亮為“1”AB燈000011101111101.1程序設(shè)計(jì)與程序設(shè)計(jì)語言二進(jìn)制的物理實(shí)現(xiàn)(非)

A、B的開為“0”,關(guān)為“1”;燈滅為“0”,燈亮為“1”A燈0110111.1程序設(shè)計(jì)與程序設(shè)計(jì)語言二進(jìn)制的加法(異或)

A、B的開為“0”,關(guān)為“1”;燈滅為“0”,燈亮為“1”A、B閘刀“向上”為開,閘刀“水平”為關(guān)A安裝在臥室門口,B安裝在床頭,方便冬天熄燈睡覺復(fù)式房的房內(nèi)樓梯?AB燈000011101110121.1程序設(shè)計(jì)與程序設(shè)計(jì)語言RAM(randomaccessmemory,隨機(jī)存取存儲器),存放的內(nèi)容可以隨機(jī)讀寫,但RAM中的信息具有易失性,關(guān)機(jī)或斷電后信息全部丟失。計(jì)算機(jī)在運(yùn)行時,系統(tǒng)程序、用戶程序以及所有數(shù)據(jù)都存放在RAM中ROM(readonlymemory,只讀存儲器),只能從中讀出信息,不能向其中寫入信息,在關(guān)機(jī)和斷電后,ROM中的內(nèi)容仍能保存,不會丟失。ROM的寫入,需要專門的編程器完成。131.1程序設(shè)計(jì)與程序設(shè)計(jì)語言DRAM記憶元件是靠柵極電容上的電荷保存信息,所以也稱電荷存儲型記憶元件。字線WCC0位線B僅由一個MOS管和一個電容組成。當(dāng)字線為高電平時,該電路被選中。執(zhí)行寫操作時,若寫“1”,位線上為高電平,對電容C充電;若寫“0”,位線上為低電平,C上的電荷很快被泄放掉。執(zhí)行讀操作時,若原存“1”,C上有電荷,在位線產(chǎn)生輸出信號;若原存“0”,C上無電荷,位線上無輸出信號。141.1程序設(shè)計(jì)與程序設(shè)計(jì)語言ROMROM(MOSROM)PROM(programmableROM,可編程的ROM)EPROMUVEPROM(ultravioletEPROM,紫外線擦除EPROM)E2PROM(elctronicallyEPROM,電可改寫EPROM)W0W1b0b1b215相關(guān)知識:紫外線的故事1801年的一天,德國研究太陽光譜的科學(xué)家里特突然想要了解太陽光分解為七色光后有沒有其它看不見的光存在。當(dāng)時他手頭正好有一瓶氯化銀溶液。人們當(dāng)時已知道,氯化銀在加熱或受到光照時會分解而析出銀,析出的銀由于顆粒很小而呈黑色。里特就想通過氯化銀來確定太陽光七色光以外的成份。他用一張紙片醮了少許氯化銀溶液,并把紙片放在白光經(jīng)棱鏡色散后七色光的紫光的外側(cè)。過了一會兒,他果然在紙片上觀察到醮有氯化銀部分的低片變黑了,這說明太陽光經(jīng)棱鏡色散后在紫光的外側(cè)還存在一種看不見的光線,里特把這種光線稱為紫外線。紫外線的發(fā)現(xiàn)者里特由于家境貧寒,生活清苦,正在他充滿憧憬向科學(xué)高峰攀登時,卻被肺病奪去了生命,在死時年僅34歲。16丹麥科學(xué)家芬森家里養(yǎng)了一只貓。一天,芬森到陽臺上乘涼,看見家里的貓也靜靜地躺在地板上曬太陽。他看著看著,覺得很奇怪:每當(dāng)貓身上曬不到陽光的時候,貓自己就會挪動身體,移到有陽光的地方。芬森心想:“這么熱的天,貓為什么還要曬太陽?這里面一定有問題?!狈疑呦玛柵_,來到貓的身邊,用手輕輕地?fù)崦埖纳眢w。忽然,他發(fā)現(xiàn)貓的身上,有一處正在化膿的傷口。他想:貓是不是利用曬太陽在治療它的傷口呢?難道陽光里還有什么我們沒有發(fā)現(xiàn)的東西嗎?相關(guān)知識:紫外線的故事17芬森帶著這種疑問,開始對陽光進(jìn)行深入的分析研究和實(shí)驗(yàn)。終于,他在陽光中發(fā)現(xiàn)了一種我們?nèi)庋劭床灰姷墓饩€——紫外線,它具有殺菌的作用,可用于治療的疾病,效果很好。紫外線被廣泛應(yīng)用到醫(yī)療事業(yè)上,成為醫(yī)務(wù)人員不可缺少的好幫手。芬森在1930年獲得了諾貝爾醫(yī)學(xué)獎。相關(guān)知識:紫外線的故事18分級存儲為解決速度、容量和成本之間的矛盾。目前的計(jì)算機(jī)存儲器一般分為3級:輔助存儲器(也稱外存,如光盤、磁盤、U盤等)、主存儲器(也稱內(nèi)存)和高速緩沖寄存器(cache,簡稱緩存)??刂破鬟\(yùn)算器cache主存儲器輔助存儲器1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言191.1程序設(shè)計(jì)與程序設(shè)計(jì)語言多級存儲體系的建立,是因?yàn)閷?shí)際的存儲器制約因素是價格(每位成本)、容量和速度。這3個基本指標(biāo)是矛盾的。201.1程序設(shè)計(jì)與程序設(shè)計(jì)語言處理器寄存器高速緩沖存儲器主存儲器(SRAM,DRAM)輔助存儲器(磁盤存儲器等)大容量(海量)存儲器(光盤、磁帶存儲器)CPU芯片內(nèi)主機(jī)內(nèi)外部設(shè)備聯(lián)機(jī)存儲聯(lián)機(jī)文件可卸存儲211.1程序設(shè)計(jì)與程序設(shè)計(jì)語言硬盤磁表面存儲元當(dāng)具有很窄縫隙的磁頭的寫線圈中通過電流時,其垂直下方的一個小區(qū)間會形成一個局部小磁環(huán),稱為存儲元。3.剩磁可感應(yīng)出脈沖電流221.1程序設(shè)計(jì)與程序設(shè)計(jì)語言常見的CD-ROM“相變光盤”讀寫原理:相變型光盤的存儲介質(zhì)通常由硫族(S,Se,Te)化合物制成寫入前全部是結(jié)晶狀態(tài)。寫“1”時,利用短激光脈沖使結(jié)晶態(tài)的存儲介質(zhì)局部熔化,驟冷后變成非結(jié)晶態(tài)。擦去時,則用光波較長的、強(qiáng)度較弱的光脈沖使它復(fù)原為結(jié)晶態(tài)。讀出時,根據(jù)結(jié)晶態(tài)和非結(jié)晶態(tài)對激光束反射率的不同,區(qū)別存儲的是“0”還是“1”。231.1程序設(shè)計(jì)與程序設(shè)計(jì)語言計(jì)算機(jī)不僅能夠?qū)?shù)值數(shù)據(jù)進(jìn)行處理,還能夠?qū)ξ谋竞推渌菙?shù)值數(shù)據(jù)信息進(jìn)行處理。非數(shù)值數(shù)據(jù)是指不能進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù),包括文字、圖形、圖象和聲音等。為了處理文本,需要一個完整而足夠的字符集,這個字符集最少應(yīng)包括:26個小寫字母;26個大寫字母;約25個特殊字符,如:[,+,-,@,|,#等;10個數(shù)字碼:0,1,2,3,4,5,6,7,8,9。共計(jì)87個字符。這87個字符須用7位“0”,“1”進(jìn)行編碼。241.1程序設(shè)計(jì)與程序設(shè)計(jì)語言常用的編碼形式有美國信息交換標(biāo)準(zhǔn)代碼(ASCII),微型計(jì)算機(jī)都采用ASCII碼。ASCII碼字符表,它用8位來表示字符代碼。其基本代碼占7位,第8位用作奇偶校驗(yàn)位,通過對奇偶校驗(yàn)位設(shè)置“1”或“0”狀態(tài),保持8位字節(jié)中的“1”的個數(shù)總是奇數(shù)(稱奇校驗(yàn))或偶數(shù)(稱為偶校驗(yàn)),用以檢測字符在傳送(寫入或讀出)過程中是否出錯(丟失1)。ENQ(查詢)、ACK(肯定回答)、NAK(否定回答)等,是專門用于串行通信的控制字符。251.1程序設(shè)計(jì)與程序設(shè)計(jì)語言公元前5000至4000年左右,有了埃及象形文字1799年,法國古文字學(xué)家們發(fā)掘出一塊黑石碑。碑文用3種文字寫成,分別是希臘文、古埃及象形文字和后期的埃及文字。法國古代語學(xué)者研究并設(shè)法釋讀了古埃及的象形文字。261.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字雖然還保留象形文字的特征,但由于漢字除了象形以外,還有其他構(gòu)成文字的方式;而漢字經(jīng)過數(shù)千年的演變,已跟原來的形象相去甚遠(yuǎn),所以不屬于象形文字,而屬于形、音、義相結(jié)合的“表意文字”。271.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字的0、1編碼智能ABC全拼五筆字型自然碼┆外碼鍵盤管理程序碼表機(jī)內(nèi)碼字庫檢索程序字庫字模顯示驅(qū)動程序控制信號281.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字編碼方案:GB2312-1980和GB2312-1990,共收錄6763個簡體漢字、682個符號,其中漢字分為兩級:一級字3755,以拼音排序,二級字3008,以偏旁排序。BIG5編碼,是目前臺灣、香港地區(qū)普遍使用的一種繁體漢字的編碼標(biāo)準(zhǔn),包括440個符號,一級漢字5401個、二級漢字7652個,共計(jì)13053個漢字。GBK編碼——《漢字內(nèi)碼擴(kuò)展規(guī)范》(俗稱大字符集),兼容GB2312,共收錄漢字21003個、符號883個,并提供1894個造字碼位,簡、繁體字融于一庫。Unicode編碼(UniversalMultipleOctetCodedCharacterSet),國際標(biāo)準(zhǔn)組織ISO的標(biāo)準(zhǔn),V2.0于1996公布,內(nèi)容包含符號6811個,漢字20902個,韓文拼音11172個,造字區(qū)6400個,保留20249個,共計(jì)65534個。GB18030-2000——2000年3月國家信息產(chǎn)業(yè)部和質(zhì)量技術(shù)監(jiān)督局在北京聯(lián)合發(fā)布的《信息技術(shù)和信息交換用漢字編碼字符集、基本集的擴(kuò)充》,收錄了27484個漢字,還收錄了藏、蒙、維等主要少數(shù)民族的文字。該標(biāo)準(zhǔn)于2000年12月31日強(qiáng)制執(zhí)行。GB18030-2000作為GBKforUnicode291.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字的輸入——漢字外碼:按排列順序形成的漢字編碼(流水碼),如區(qū)位碼;按讀音規(guī)則形成的漢字編碼(音碼),如全拼、簡拼、雙拼等;按字形形成的漢字編碼(形碼),如五筆字型、鄭碼等;按音、形結(jié)合形成的漢字編碼(音形碼),如自然碼、智能ABC。

301.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字字模:漢字字模的原理與西文字符的字模基本相同,只是由于漢字筆畫復(fù)雜,為了表達(dá)清晰,要比西文字符須要更多的點(diǎn)陣。

一個24×24點(diǎn)陣的漢字字模示例311.1程序設(shè)計(jì)與程序設(shè)計(jì)語言漢字系統(tǒng)的工作過程:①用一種輸入方法從鍵盤輸入漢字。②鍵盤管理程序按照碼表將外碼變換成機(jī)內(nèi)碼。③機(jī)內(nèi)碼經(jīng)字庫模檢索程序查對應(yīng)的點(diǎn)陣信息在字模庫的地址,從字庫取出字模。④字模送顯示驅(qū)動程序,產(chǎn)生顯示控制信號。⑤顯示器按照字模點(diǎn)陣將漢字字形在屏幕上顯示出來。321.1程序設(shè)計(jì)與程序設(shè)計(jì)語言王永民與五筆字型:出生河南南陽農(nóng)民家庭,家境貧寒,父母扒房供其讀書從小立大志:“翻開物理課本、化學(xué)課本,為什么都是外國人的名字和人頭像?中國人為什么不能有自己的發(fā)明創(chuàng)造,然后把自己印進(jìn)課本去?”,考入中國科技大學(xué)1982年五筆字型漢字輸入法和時任河南省副省長、河南省科委主任的羅干1978至1983年,發(fā)明“五筆字型”,提出“形碼設(shè)計(jì)三原理”,首創(chuàng)“漢字字根周期表”,發(fā)明25鍵4碼高效漢字輸入法和字詞兼容技術(shù)。在世界上,首破電腦漢字輸入每分鐘100字大關(guān),獲中、美、英三國專利。王永民現(xiàn)任中國科協(xié)委員、中國民營科技實(shí)業(yè)家協(xié)會副理事長、北京王碼電腦總公司總裁331.1程序設(shè)計(jì)與程序設(shè)計(jì)語言離散化后的圖像被看成一個由MⅹN的像素(picture-elements,piel)點(diǎn)陣組成的圖。每個像點(diǎn)都是一個單色的小方塊,放大了就是馬賽克。圖像中像素點(diǎn)的密度稱為圖像分辨率(imageresolution),單位為dpi(dotsperinch,每英寸像點(diǎn)數(shù))。341.1程序設(shè)計(jì)與程序設(shè)計(jì)語言00000001001000110100010101100111011110001001101010111100110111101111101111011110111111111110111010110100000100000000000100100100351.1程序設(shè)計(jì)與程序設(shè)計(jì)語言采樣頻率定律:采樣頻率與信號頻率之間有一定的關(guān)系,根據(jù)奈奎斯特理論,只要采樣頻率高于信號最高頻率的兩倍,就能把數(shù)字信號表示的信號還原成為原來的連續(xù)信號。電話語音信號頻率為3.4kHZ,采樣頻率為8kHZ即可滿足電話服務(wù)質(zhì)量361.1程序設(shè)計(jì)與程序設(shè)計(jì)語言手動計(jì)算工具游珠算盤與算盤石子記事371.1程序設(shè)計(jì)與程序設(shè)計(jì)語言手動計(jì)算工具算籌381.1程序設(shè)計(jì)與程序設(shè)計(jì)語言手動計(jì)算工具算籌與算盤在計(jì)算過程中都要依據(jù)口訣進(jìn)行,這是人類計(jì)算工具史上最早的用于計(jì)算的專門語言。

例:42+39

三下五去二(計(jì)算十位的4+3,結(jié)果為72)

九去一進(jìn)一(計(jì)算個位的2+9,結(jié)果為81)39B.Pascal及其制造的計(jì)算機(jī)(1642)1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言內(nèi)動力計(jì)算工具Leibnitz及其制造的乘法器(1694)40電動機(jī)械式計(jì)算機(jī)(1930)1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言Zuse的繼電器式計(jì)算機(jī)(1938)第1臺真空管計(jì)算機(jī)ABC(1942)

ENIAC(1946)411.1程序設(shè)計(jì)與程序設(shè)計(jì)語言提花機(jī):一人在“花樓”根據(jù)“花本”提起一部分經(jīng)線,以便另一人讓滑梭牽引著不同顏色的緯線通過。提花機(jī)—Babbage分析機(jī)—EDVAC——實(shí)現(xiàn)自動計(jì)算的道路421.1程序設(shè)計(jì)與程序設(shè)計(jì)語言花本是提花機(jī)上貯存紋樣信息的一套程序,它由代表經(jīng)線的腳子線和代表緯線的耳子線根據(jù)紋樣要求編織而成。上機(jī)時,腳子線與提升經(jīng)線的纖線相連,此時,拉動耳子線一側(cè)的腳子線就可以起到提升相關(guān)經(jīng)線的作用。織造時上下兩人配合,一人為挽花工,坐在三尺高的花樓上挽花提綜,一人踏桿引緯織造。東漢王逸《機(jī)婦賦》中,用“纖纖靜女,經(jīng)之絡(luò)之,動搖多容,俯仰生姿”來形容織工和提花工合作操縱提花機(jī)的場面。提花機(jī)后經(jīng)絲綢之路傳入西方,對現(xiàn)代電子計(jì)算機(jī)發(fā)展中程序控制與存儲技術(shù)的發(fā)明有啟示作用。提花機(jī)—Babbage分析機(jī)—EDVAC——實(shí)現(xiàn)自動計(jì)算的道路431.1程序設(shè)計(jì)與程序設(shè)計(jì)語言JACQUARD提花機(jī)和穿孔卡片(1801)1801年,法國人賈卡(Jacquard)在中國束綜提花機(jī)的基礎(chǔ)上發(fā)明了新一代提花機(jī),用穿孔紋版代替花本,從而使絲織提花技術(shù)進(jìn)入了一個新時代。441.1程序設(shè)計(jì)與程序設(shè)計(jì)語言差分機(jī)(1822)和分析機(jī)(1834)451.1程序設(shè)計(jì)與程序設(shè)計(jì)語言提花機(jī)—Babbage分析機(jī)—EDVAC——實(shí)現(xiàn)自動計(jì)算的道路Babbage的設(shè)計(jì)已經(jīng)初步具備現(xiàn)代計(jì)算機(jī)的基本結(jié)構(gòu):存儲器(倉庫)運(yùn)算器(作坊)控制器(穿孔卡片及其閱讀設(shè)備)輸入/輸出設(shè)備(卡片穿孔設(shè)備、印刷廠)總線(運(yùn)輸數(shù)據(jù)部件)461.1程序設(shè)計(jì)與程序設(shè)計(jì)語言提花機(jī)—Babbage分析機(jī)—EDVAC——實(shí)現(xiàn)自動計(jì)算的道路H.Aiken和MarkⅠ計(jì)算機(jī)(1936)JohnVonNeumann電子計(jì)算機(jī)EDVAC(1952)471.1程序設(shè)計(jì)與程序設(shè)計(jì)語言提花機(jī)—Babbage分析機(jī)—EDVAC——實(shí)現(xiàn)自動計(jì)算的道路Neumann體系結(jié)構(gòu)示意圖481.1程序設(shè)計(jì)與程序設(shè)計(jì)語言計(jì)算機(jī)的自我管理問題的提出存儲管理輸入輸出管理任務(wù)管理用戶操作界面491.1程序設(shè)計(jì)與程序設(shè)計(jì)語言計(jì)算機(jī)的自我管理

處理器

管理

I/O設(shè)備

主存CPU存儲管理

設(shè)備

管理

外存

文件

管理總線

硬件操作系統(tǒng)用戶界面作業(yè)管理501.1程序設(shè)計(jì)與程序設(shè)計(jì)語言計(jì)算機(jī)的自我管理硬件操作系統(tǒng)這種非物理地實(shí)現(xiàn)計(jì)算機(jī)功能的擴(kuò)大,稱為計(jì)算機(jī)的虛擬(virtual)化。511.1程序設(shè)計(jì)與程序設(shè)計(jì)語言摩爾定律1965年,摩爾為了完成《電子學(xué)》一篇關(guān)于半導(dǎo)體工業(yè)的約稿時,把幾年來芯片的集成度增長的情況總結(jié)一下,發(fā)現(xiàn)1962年和1965年的芯片的集成度很有規(guī)律。他提出,半導(dǎo)體芯片上集成的晶體管和電阻數(shù)量每年將翻一番,原因是工程師可以不斷縮小晶體管的尺寸。后來又發(fā)現(xiàn)18個月更準(zhǔn)確。521.1程序設(shè)計(jì)與程序設(shè)計(jì)語言摩爾定律531.1程序設(shè)計(jì)與程序設(shè)計(jì)語言摩爾定律受到科學(xué)發(fā)展水平的制約CPU集成度是指在CPU芯片的單位面積上集成電子器件數(shù)量的程度。如今的CPU大多數(shù)是基于場效應(yīng)管(MOS管)技術(shù)制造的,nMOS管的結(jié)構(gòu)如圖所示。CPU集成度用MOS管的“制程”衡量。所謂制程,就是指在一定制造工藝下MOS管可以實(shí)現(xiàn)的最小“門控導(dǎo)線”(GATE)長度。一般來說,MOS管的制程越小,CPU的主頻越高,CPU的運(yùn)算速度越快。541.1程序設(shè)計(jì)與程序設(shè)計(jì)語言摩爾定律受到科學(xué)發(fā)展水平的制約按摩爾定律計(jì)算,到2010年,一個芯片上晶體管的數(shù)量將超過10億現(xiàn)實(shí)印證了科學(xué)家的計(jì)算:2006年底GATE寬度約為50nm在SiO2介質(zhì)上GATE寬度的極限是32nm,制程小于此寬度就容易發(fā)生電子隧穿、漏電、發(fā)熱過高等反常效應(yīng)目前商業(yè)用的CPU芯片絕大多數(shù)采用SiO2介質(zhì),制程為45nm現(xiàn)在Intel公司經(jīng)過10多年的努力,發(fā)現(xiàn)用HfO2(二氧化鉿)介質(zhì)替代SiO2介質(zhì)后,MOS管的GATE寬度可降至22nm但是,Hf元素的獲取成本比Si高很多,因?yàn)镠f存在于大多數(shù)Zr(鋯)礦中,地殼中含量很少,Hf常與Zr共存,無單獨(dú)礦石,一般由HfCl4(四氯化鉿)與Na(鈉)加熱還原而制得551.1程序設(shè)計(jì)與程序設(shè)計(jì)語言摩爾定律受到科學(xué)發(fā)展水平的制約由于CPU的速度受其集成度的制約,因此,在商業(yè)運(yùn)營成本的范圍內(nèi),多數(shù)服務(wù)器廠商以計(jì)算機(jī)并行技術(shù)為基礎(chǔ),以服務(wù)器“最高并行工作的CPU個數(shù)”為主要指標(biāo)劃分服務(wù)器類型。一般來說,小型機(jī)(入門級)“最高并行工作的CPU個數(shù)”是4顆中型機(jī)(中檔級)是8顆大型機(jī)(高端級)最少是16顆561.1程序設(shè)計(jì)與程序設(shè)計(jì)語言O(shè)OP的發(fā)展和普及(科學(xué)發(fā)展水平制約的證據(jù))1960’s的SmallTalk兩個變量a=2,b=3的數(shù)據(jù)對換:(=為賦值語句)方法1:c=a;a=b;b=c;方法2:a=a+b;b=a-b;a=a-b;1990’s的C++、Java:物質(zhì)的硬件發(fā)展到一定程度、內(nèi)存、CPU、硬盤、高速傳輸接口2007年諾貝爾物理獎得主:瑞典的彼得-格林貝格爾發(fā)現(xiàn)巨磁電阻效應(yīng):非常弱小的磁性變化就能導(dǎo)致磁性材料發(fā)生非常顯著的電阻變化。用于讀取硬盤數(shù)據(jù)的技術(shù),得益于這項(xiàng)技術(shù),硬盤在近年來迅速變得越來越小。57第1章C語言概述1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言1.2C語言的產(chǎn)生與發(fā)展1.3C語言的特點(diǎn)1.4C語言程序簡介1.5C語言的運(yùn)行環(huán)境58一、概念程序:人們事先準(zhǔn)備好的、用來指揮計(jì)算機(jī)工作的描述工作步驟的指令序列

程序設(shè)計(jì):程序員設(shè)計(jì)編寫程序的過程

程序設(shè)計(jì)語言:編寫程序所用的計(jì)算機(jī)語言二、程序設(shè)計(jì)語言的發(fā)展機(jī)器語言:0、1系列……匯編語言:movax,25Haddbx……(類似于網(wǎng)站域名與IP地址的關(guān)系)高級語言:源程序,執(zhí)行方式分為“編譯方式”和“解釋方式”1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言59三、程序設(shè)計(jì)方法1.1程序設(shè)計(jì)與程序設(shè)計(jì)語言結(jié)構(gòu)化程序設(shè)計(jì)

(SP,StructuredProgramming)

強(qiáng)調(diào)程序設(shè)計(jì)風(fēng)格和程序結(jié)構(gòu)的規(guī)范化

(易讀、易懂)

核心思想:自頂向下,逐步細(xì)化

如:工業(yè)控制系統(tǒng)面向?qū)ο蟮某绦蛟O(shè)計(jì)

(OOP,Object-OrientedProgramming)601.2C語言的產(chǎn)生與發(fā)展78年B.W.Kernighan&D.M.Ritchie合著《TheCProgrammingLanguage》80年代微機(jī)逐漸普及,美國國家標(biāo)準(zhǔn)化協(xié)會(AmericanNationalStandardsInstitute) 83年ANSIC(1) 87年ANSIC(2)90年代面向?qū)ο蟮某绦蛟O(shè)計(jì)語言C++60年代ALGOL60(高級語言)離硬件遠(yuǎn),不宜編寫系統(tǒng)軟件

CPL BCPL(BasicCombinedProgrammingLanguage)70年代PDPUNIX貝爾實(shí)驗(yàn)室

B C(73年)611.3C語言的特點(diǎn)1.語言簡潔、緊湊、靈活。(32個關(guān)鍵字、9種控制語句)2.運(yùn)算符豐富。(44種運(yùn)算符)3.數(shù)據(jù)結(jié)構(gòu)豐富。4.具有結(jié)構(gòu)化的控制語句。5.目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。6.可移植性好。7.兼有低級語言和高級語言的特點(diǎn),承上啟下。8.語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。621.3C語言的特點(diǎn)VisualC++6.0的安裝過程在WindowsXPProfessionalSP3版本上安裝安裝VC6集成開發(fā)環(huán)境631.4C語言程序簡介——簡單實(shí)例例1.1

在屏幕上顯示字符串“ThisisaCprogram.”。

#include<stdio.h> /*文件包含*/

voidmain()/*主函數(shù)*/{/*函數(shù)體開始*/

printf("ThisisaCprogram.\n");/*輸出了一句話*/}/*函數(shù)體結(jié)束*/

641.4C語言程序簡介——簡單實(shí)例例1.2求整數(shù)10、20的和。

#include<stdio.h>voidmain()/*主函數(shù)*/{

intfirst,second,sum;/*定義變量*/first=10;/*給變量賦值*/second=20;sum=first+second;/*求a與b的和*/

printf("sum=%d\n",sum);/*輸出結(jié)果*/}651.4C語言程序簡介——簡單實(shí)例C語言的賦值語句:=先制造某類袋子,再向袋子中放某類東西。661.4C語言程序簡介——簡單實(shí)例例1.3找出任意兩個整數(shù)中較大的數(shù)。 #include<stdio.h>

int

max(intx,inty) /*定義max函數(shù)*/ { return(x>y?x:y);/*求出兩數(shù)中的較大數(shù)并返回*/ } /*max函數(shù)結(jié)束*/ voidmain() { intnum1,num2,m;

printf("Inputthefirstintegernumber:"); scanf("%d",&num1);/*從鍵盤上輸入第一個整數(shù)*/

printf("Inputthesecondintegernumber:"); scanf("%d",&num2); /*輸入第二個整數(shù)*/ m=max(num1,num2);/*調(diào)用max,計(jì)算兩個數(shù)的較大數(shù)*/

printf("max=%d\n",m); /*輸出結(jié)果*/ }671.4C語言程序簡介——簡單實(shí)例現(xiàn)實(shí)生活與C語言程序的結(jié)構(gòu)類比681.4C語言程序簡介——基本元素,逗號(左圓括號>右尖括號%百分號.圓點(diǎn))右圓括號!感嘆號&and(與);分號[左方括號|豎線^xor(異或): 冒號]右方括號/斜杠*乘號? 問號{左大括號\反斜杠-減號‘ 單引號}右大括號~波折號=等于號“ 雙引號<左尖括號#井號+加號C語言使用的基本符號共有如下三種:(1)大小寫字母:A~Z、a~z(2)阿拉伯?dāng)?shù)字:0~9(3)標(biāo)點(diǎn)符號和的運(yùn)算符:1.字符集(符號集)691.4C語言程序簡介——基本元素2.標(biāo)識符用來標(biāo)記常量、變量、函數(shù)及文件名字的字符序列標(biāo)識符的構(gòu)成規(guī)則:●以字母(大小寫皆可)或下劃線開頭●隨后可跟若干個(包括0個)字母、數(shù)字、下劃線如:xy3_imaxELSEXA_to_B(合法)

7xint#Nobadonere-input(不合法)注意:區(qū)分大小寫。如:sum、Sum是二個標(biāo)識符注意!701.4C語言程序簡介——基本元素3.關(guān)鍵字ANSI推薦的C語言的關(guān)鍵字是32個,TurboC另擴(kuò)展了11個(不常用)asm_cs_ds_es_ss

cdedfarhugeinterruptnearpascal

#define#error#include#if#else#elif#endif#ifdef#ifndef#undef#line#pragma特殊字:主要用在C語言的預(yù)處理程序中注意:★所有的關(guān)鍵字和特殊字都有固定的意義,不能用作其它★所有的關(guān)鍵字和特殊字都必須小寫如:else與ELSE代表不同含義:else是關(guān)鍵字,ELSE是標(biāo)識符也稱“保留字”.它是C語言中具有特定含義、專門用作語言特定成分的一類標(biāo)識符.711.4C語言程序簡介——基本元素運(yùn)算符用來對運(yùn)算對象進(jìn)行規(guī)定(系統(tǒng)預(yù)定義的)的運(yùn)算,并得到一個結(jié)果值。運(yùn)算符通常由1~2個字符組成,如:“+”表示加法運(yùn)算,“=”表示賦值運(yùn)算,“==”表示“相等”的判斷等。有的運(yùn)算符中的兩個字符是分開的,比如“?:”表示條件運(yùn)算(如例1.3)。4.運(yùn)算符分隔符用于分隔各個詞法記號或程序正文,用于表示程序中一個實(shí)體的結(jié)束和另一個實(shí)體的開始。

常用的分隔符有: (){},:;空白這些分隔符不表示任何操作,僅用于構(gòu)造程序。5.分隔符721.4C語言程序簡介——基本元素6.注釋對程序進(jìn)行注釋和說明形式:

/*

注釋內(nèi)容*/

注意:注釋內(nèi)容可以是一行,也可以是多行;可以是單獨(dú)一行,也可以在行尾。731.4C語言程序簡介——程序組成1.函數(shù)是組成C程序的基本構(gòu)件,并至少有

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論