DaJiU05--計(jì)算機(jī)程序_第1頁
DaJiU05--計(jì)算機(jī)程序_第2頁
DaJiU05--計(jì)算機(jī)程序_第3頁
DaJiU05--計(jì)算機(jī)程序_第4頁
DaJiU05--計(jì)算機(jī)程序_第5頁
已閱讀5頁,還剩123頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大學(xué)計(jì)算機(jī)大學(xué)計(jì)算機(jī)-計(jì)算的思想和方法計(jì)算的思想和方法大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社2 課程簡(jiǎn)介課程簡(jiǎn)介n課程定位課程定位 核心通識(shí)課,核心通識(shí)課, 計(jì)算機(jī)基礎(chǔ)教學(xué)公共核心基礎(chǔ)課程計(jì)算機(jī)基礎(chǔ)教學(xué)公共核心基礎(chǔ)課程 n授課對(duì)象授課對(duì)象 非計(jì)算機(jī)專業(yè)本科生非計(jì)算機(jī)專業(yè)本科生n教學(xué)目標(biāo)教學(xué)目標(biāo)l深入理解計(jì)算科學(xué)在科學(xué)研究和知識(shí)創(chuàng)新中的地位深入理解計(jì)算科學(xué)在科學(xué)研究和知識(shí)創(chuàng)新中的地位和作用。和作用。 l全面培養(yǎng)個(gè)人的信息素養(yǎng)和計(jì)算思維能力。全面培養(yǎng)個(gè)人的信息素養(yǎng)和計(jì)算思維能力。 l了解計(jì)算發(fā)展的基本過程,理解發(fā)展中的主要發(fā)明了解計(jì)算發(fā)展的基本過程,理解發(fā)展中的主

2、要發(fā)明l掌握問題求解的一般思想和方法,理解常用的問題掌握問題求解的一般思想和方法,理解常用的問題求解算法。求解算法。l理解數(shù)據(jù)的概念,理解數(shù)據(jù)結(jié)構(gòu)的含義和作用理解數(shù)據(jù)的概念,理解數(shù)據(jù)結(jié)構(gòu)的含義和作用l理解計(jì)算機(jī)程序、計(jì)算機(jī)程序設(shè)計(jì)語言的概念,理理解計(jì)算機(jī)程序、計(jì)算機(jī)程序設(shè)計(jì)語言的概念,理解程序編寫和程序運(yùn)行的基本內(nèi)涵解程序編寫和程序運(yùn)行的基本內(nèi)涵l理解通信和計(jì)算機(jī)網(wǎng)路的思想,了解常用的網(wǎng)絡(luò)設(shè)理解通信和計(jì)算機(jī)網(wǎng)路的思想,了解常用的網(wǎng)絡(luò)設(shè)備及其功能,理解主要的互聯(lián)網(wǎng)應(yīng)用備及其功能,理解主要的互聯(lián)網(wǎng)應(yīng)用l了解目前計(jì)算機(jī)學(xué)科的發(fā)展前沿,體會(huì)學(xué)科交叉在了解目前計(jì)算機(jī)學(xué)科的發(fā)展前沿,體會(huì)學(xué)科交叉在科研中的

3、價(jià)值和意義科研中的價(jià)值和意義第第1章章 緒論緒論 第第2章章 計(jì)算與計(jì)算機(jī)計(jì)算與計(jì)算機(jī)第第3章章 問題求解與算法問題求解與算法第第4章章 數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)第第5章章 計(jì)算機(jī)程序計(jì)算機(jī)程序 第第6章章 計(jì)算機(jī)網(wǎng)絡(luò)計(jì)算機(jī)網(wǎng)絡(luò)第第7章章 計(jì)算科學(xué)前沿計(jì)算科學(xué)前沿大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社3 第第5章章 計(jì)算機(jī)程序計(jì)算機(jī)程序 5.1 計(jì)算機(jī)程序概述計(jì)算機(jī)程序概述5.2 C/C+程序設(shè)計(jì)語言程序設(shè)計(jì)語言5.3 類與對(duì)象類與對(duì)象5.4 數(shù)據(jù)存儲(chǔ)與管理數(shù)據(jù)存儲(chǔ)與管理5.5 Web應(yīng)用應(yīng)用知識(shí)要點(diǎn)知識(shí)要點(diǎn)計(jì)算機(jī)程序,計(jì)算機(jī)程序,編譯型程序,編譯型程序,

4、解釋型程序,解釋型程序,計(jì)算機(jī)程序設(shè)計(jì)語言,計(jì)算機(jī)程序設(shè)計(jì)語言,機(jī)器語言機(jī)器語言匯編語言匯編語言高級(jí)語言高級(jí)語言軟件開發(fā)環(huán)境,軟件開發(fā)環(huán)境,程序編譯,程序編譯,程序連接,程序連接,函數(shù)庫,函數(shù)庫,動(dòng)態(tài)連接庫(動(dòng)態(tài)連接庫(DLL) 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社4U5.1 計(jì)算機(jī)程序概述計(jì)算機(jī)程序概述n計(jì)算機(jī)程序及其分類計(jì)算機(jī)程序及其分類n程序設(shè)計(jì)語言程序設(shè)計(jì)語言l 程序設(shè)計(jì)語言的分類程序設(shè)計(jì)語言的分類l 程序設(shè)計(jì)語言與編程思想程序設(shè)計(jì)語言與編程思想l 常見計(jì)算機(jī)程序設(shè)計(jì)語言常見計(jì)算機(jī)程序設(shè)計(jì)語言n計(jì)算機(jī)軟件系統(tǒng)開發(fā)計(jì)算機(jī)軟件系統(tǒng)開發(fā)大學(xué)計(jì)算機(jī)計(jì)算的思想

5、和方法(第3版),郝興偉編著. 北京:高等教育出版社5計(jì)算機(jī)程序及其分類計(jì)算機(jī)程序及其分類n計(jì)算機(jī)程序,是指用戶為了達(dá)到某種目的而編寫計(jì)算機(jī)程序,是指用戶為了達(dá)到某種目的而編寫的可以控制計(jì)算機(jī)運(yùn)行的一組指令序列。的可以控制計(jì)算機(jī)運(yùn)行的一組指令序列。n程序的分類程序的分類l按源程序能否直接運(yùn)行分類按源程序能否直接運(yùn)行分類u解釋型程序解釋型程序u編譯型程序編譯型程序l按程序運(yùn)行環(huán)境分類按程序運(yùn)行環(huán)境分類uDos程序、程序、Windows程序、程序、Unix程序、程序、Linux程序,以及程序,以及MacOS程序,程序,Android程序等程序等 u虛擬機(jī)運(yùn)行環(huán)境,如虛擬機(jī)運(yùn)行環(huán)境,如Java程序程

6、序uWeb程序程序大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社6程序設(shè)計(jì)語言程序設(shè)計(jì)語言n程序設(shè)計(jì)語言(程序設(shè)計(jì)語言(Programming Language),就是用于編寫),就是用于編寫計(jì)算機(jī)程序的語言,由一組基本符號(hào)和一組語法規(guī)則構(gòu)成。計(jì)算機(jī)程序的語言,由一組基本符號(hào)和一組語法規(guī)則構(gòu)成。l 基本符號(hào)定義了程序中能夠出現(xiàn)的字符和詞匯,并賦予它們特定的基本符號(hào)定義了程序中能夠出現(xiàn)的字符和詞匯,并賦予它們特定的含義。含義。l 語法規(guī)則定義了構(gòu)成程序的基本符號(hào)、符號(hào)之間的組合規(guī)則,這些語法規(guī)則定義了構(gòu)成程序的基本符號(hào)、符號(hào)之間的組合規(guī)則,這些規(guī)則可以描述數(shù)據(jù)及其操作,

7、以及各種程序語句及程序流程控制。規(guī)則可以描述數(shù)據(jù)及其操作,以及各種程序語句及程序流程控制。n程序設(shè)計(jì)語言的分類程序設(shè)計(jì)語言的分類l 機(jī)器語言機(jī)器語言l 匯編語言匯編語言l 高級(jí)語言高級(jí)語言大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社7程序設(shè)計(jì)語言與編程思想程序設(shè)計(jì)語言與編程思想n軟件危機(jī),軟件危機(jī),20世紀(jì)世紀(jì)60年代末,出現(xiàn)了軟件工程的概念年代末,出現(xiàn)了軟件工程的概念n結(jié)構(gòu)化編程思想結(jié)構(gòu)化編程思想l 如果問題比較復(fù)雜,將問題分解為幾個(gè)相對(duì)簡(jiǎn)單的子問題,如果某如果問題比較復(fù)雜,將問題分解為幾個(gè)相對(duì)簡(jiǎn)單的子問題,如果某個(gè)子問題還比較復(fù)雜,進(jìn)一步劃分,直到分解后的每個(gè)問

8、題都是相個(gè)子問題還比較復(fù)雜,進(jìn)一步劃分,直到分解后的每個(gè)問題都是相對(duì)簡(jiǎn)單的。對(duì)簡(jiǎn)單的。 l 1970年,出現(xiàn)了第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語言年,出現(xiàn)了第一個(gè)結(jié)構(gòu)化程序設(shè)計(jì)語言Pascal。n面向?qū)ο缶幊蹋嫦驅(qū)ο缶幊蹋∣bject Oriented Programming,OOP) l 20世紀(jì)世紀(jì)80年代年代 l 數(shù)據(jù)和操作的封裝,消息映射在事件和函數(shù)之間進(jìn)行關(guān)聯(lián)數(shù)據(jù)和操作的封裝,消息映射在事件和函數(shù)之間進(jìn)行關(guān)聯(lián) l 降低了函數(shù)的偶合度,提高系統(tǒng)的可擴(kuò)充性和代碼重用的層次,極降低了函數(shù)的偶合度,提高系統(tǒng)的可擴(kuò)充性和代碼重用的層次,極大的增強(qiáng)了軟件系統(tǒng)的可擴(kuò)展性和靈活性。大的增強(qiáng)了軟件系統(tǒng)的可擴(kuò)展性

9、和靈活性。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社8高級(jí)程序設(shè)計(jì)語言的發(fā)展高級(jí)程序設(shè)計(jì)語言的發(fā)展 n1951年,美國(guó)年,美國(guó)IBM公司的約翰公司的約翰貝克斯貝克斯1針對(duì)匯編語言的缺點(diǎn)著手研究開發(fā)一種針對(duì)匯編語言的缺點(diǎn)著手研究開發(fā)一種新的計(jì)算機(jī)程序設(shè)計(jì)語言,這就是新的計(jì)算機(jī)程序設(shè)計(jì)語言,這就是FORTRAN語言語言nLISP語言(語言(1958年)、年)、ALGOL語言(語言(1958年)、年)、COBOL語言(語言(1959年)年) ,Basic (1964)n20世紀(jì)世紀(jì)70年代年代l Pascal (1971)l C語言(語言(1972年)、年)、Smal

10、ltalk語言(語言(1972年)、年)、Prolog語言(語言(1972年)年) n20世紀(jì)世紀(jì)80年代年代l C+語言(語言(1980年)年) l Ada語言(語言(1983年)年) l Perl (1987)n20世紀(jì)世紀(jì)90年代年代l Python(1991年)、可視化編程語言年)、可視化編程語言VisualBasic(1991年)、具有跨平臺(tái)特征的年)、具有跨平臺(tái)特征的面向?qū)ο笳Z言面向?qū)ο笳Z言Java(1995年)、年)、Delphi(1995年)、年)、C#(2001年)年) 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社9常見計(jì)算機(jī)程序設(shè)計(jì)語言常見計(jì)算機(jī)

11、程序設(shè)計(jì)語言n編程語言流行度的評(píng)估編程語言流行度的評(píng)估大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社10計(jì)算機(jī)軟件系統(tǒng)開發(fā)計(jì)算機(jī)軟件系統(tǒng)開發(fā)n軟件開發(fā)的基本步驟軟件開發(fā)的基本步驟l需求分析需求分析l系統(tǒng)設(shè)計(jì),包括功能設(shè)計(jì)、用戶界面設(shè)計(jì)、算法設(shè)計(jì)、系統(tǒng)設(shè)計(jì),包括功能設(shè)計(jì)、用戶界面設(shè)計(jì)、算法設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等數(shù)據(jù)庫設(shè)計(jì)等l系統(tǒng)實(shí)施系統(tǒng)實(shí)施l系統(tǒng)測(cè)試系統(tǒng)測(cè)試l運(yùn)行和維護(hù)運(yùn)行和維護(hù)n軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境l語言規(guī)范,編譯器語言規(guī)范,編譯器l庫庫l編輯器、編譯、連接、調(diào)試編輯器、編譯、連接、調(diào)試大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社11程序的

12、編譯連接和運(yùn)行程序的編譯連接和運(yùn)行n編譯型計(jì)算機(jī)程序開發(fā)過程編譯型計(jì)算機(jī)程序開發(fā)過程大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社12 第第5章章 計(jì)算機(jī)程序計(jì)算機(jī)程序 5.1 計(jì)算機(jī)程序概述計(jì)算機(jī)程序概述5.2 C/C+程序設(shè)計(jì)語言程序設(shè)計(jì)語言5.3 類與對(duì)象類與對(duì)象5.4 數(shù)據(jù)存儲(chǔ)與管理數(shù)據(jù)存儲(chǔ)與管理5.5 Web應(yīng)用應(yīng)用知識(shí)要點(diǎn)知識(shí)要點(diǎn)c語言,語言,c程序結(jié)構(gòu),程序結(jié)構(gòu),c語言字符集,語言字符集,轉(zhuǎn)義字符,轉(zhuǎn)義字符,關(guān)鍵字(保留字),關(guān)鍵字(保留字),標(biāo)識(shí)符,標(biāo)識(shí)符,數(shù)據(jù)類型,數(shù)據(jù)類型,定點(diǎn)數(shù),浮點(diǎn)數(shù),定點(diǎn)數(shù),浮點(diǎn)數(shù),運(yùn)算符,運(yùn)算符,表達(dá)式,表達(dá)式,賦值語句,賦

13、值語句,輸入輸入/輸出語句,輸出語句,分支語句,分支語句,重復(fù)語句,重復(fù)語句,構(gòu)造類型,構(gòu)造類型,類型定義,類型定義,結(jié)構(gòu)化編程,結(jié)構(gòu)化編程,函數(shù),函數(shù),局部變量,全局變量。局部變量,全局變量。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社13U5.2 C/C+程序設(shè)計(jì)語言程序設(shè)計(jì)語言nC語言及語言及C程序結(jié)構(gòu)程序結(jié)構(gòu)nC語言基本符號(hào)語言基本符號(hào)n數(shù)據(jù)與數(shù)據(jù)類型數(shù)據(jù)與數(shù)據(jù)類型n運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式n賦值語句和輸入賦值語句和輸入/輸出輸出n分支語句分支語句n循環(huán)控制語句循環(huán)控制語句n函數(shù)函數(shù)大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版

14、社14高級(jí)程序設(shè)計(jì)語言的發(fā)展高級(jí)程序設(shè)計(jì)語言的發(fā)展n1950年代由年代由John Backus領(lǐng)導(dǎo)的一個(gè)小組研制的領(lǐng)導(dǎo)的一個(gè)小組研制的FORTRAN語言,從此揭開了計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言發(fā)展的序幕。語言,從此揭開了計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言發(fā)展的序幕。 n20世紀(jì)世紀(jì)50年代后期,年代后期,ALGOL語言、語言、COBOL語言相繼問世語言相繼問世n在在60年代的十年間,人們研制了多達(dá)年代的十年間,人們研制了多達(dá)200種的高級(jí)程序設(shè)計(jì)種的高級(jí)程序設(shè)計(jì)語言,包括語言,包括Basicn20世紀(jì)世紀(jì)70年代,年代,Pascal語言問世語言問世n在在Pascal基礎(chǔ)上,基礎(chǔ)上,Ada語言問世語言問世大學(xué)計(jì)算

15、機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社15C語言的產(chǎn)生和發(fā)展語言的產(chǎn)生和發(fā)展n在在ALGOL 60的基礎(chǔ)上,的基礎(chǔ)上,1963年英國(guó)劍橋大學(xué)推出了年英國(guó)劍橋大學(xué)推出了CPL(Combined Programming Langurage)語言)語言 n1970年美國(guó)貝爾實(shí)驗(yàn)室的肯年美國(guó)貝爾實(shí)驗(yàn)室的肯湯普遜以湯普遜以 BCPL 語言為基礎(chǔ),語言為基礎(chǔ),作了進(jìn)一步的簡(jiǎn)化,設(shè)計(jì)出了簡(jiǎn)單且接近硬件的作了進(jìn)一步的簡(jiǎn)化,設(shè)計(jì)出了簡(jiǎn)單且接近硬件的B語言(取語言(取BCPL的第一個(gè)字母),并用的第一個(gè)字母),并用B語言寫出了第一個(gè)語言寫出了第一個(gè)UNIX操作操作系統(tǒng)。系統(tǒng)。n1972年

16、至年至1973年間,美國(guó)貝爾實(shí)驗(yàn)室的丹尼斯年間,美國(guó)貝爾實(shí)驗(yàn)室的丹尼斯里奇里奇(Dennis Ritchie)在)在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言,他取了語言,他取了BCPL的第二個(gè)字母作為這種語言的名字,這的第二個(gè)字母作為這種語言的名字,這就是就是C語言。語言。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社16Ken Thompsonn肯肯湯普遜(湯普遜(Kenneth Lane Thompson,1943年年2月月4日日),一般稱之為),一般稱之為Ken Thompson,為美國(guó)計(jì)算機(jī)科學(xué),為美國(guó)計(jì)算機(jī)科學(xué)學(xué)者,與丹尼斯學(xué)

17、者,與丹尼斯里奇共同發(fā)明了里奇共同發(fā)明了Unix和和C語言,于語言,于1983年共同獲得圖靈獎(jiǎng),理由是他們年共同獲得圖靈獎(jiǎng),理由是他們“研究發(fā)展了通研究發(fā)展了通用的操作系統(tǒng)理論,尤其是實(shí)現(xiàn)了用的操作系統(tǒng)理論,尤其是實(shí)現(xiàn)了UNIX操作系統(tǒng)操作系統(tǒng)”。 n后門,后門,l裝了裝了UNIX的的PDP-11最早被安裝在最早被安裝在Bell Lab里供大家日常里供大家日常使用使用 。Bell Lab里的科學(xué)家發(fā)現(xiàn)里的科學(xué)家發(fā)現(xiàn)Ken總是具有最高權(quán)限,總是具有最高權(quán)限,分析了分析了UNIX代碼,找到代碼,找到后門后門,修改代碼,然后重新編譯,修改代碼,然后重新編譯了整個(gè)了整個(gè)UNIX 。他們發(fā)現(xiàn)。他們發(fā)現(xiàn)K

18、en還是輕而易舉地拿到他們的還是輕而易舉地拿到他們的帳戶權(quán)限。帳戶權(quán)限。 l14年,直到年,直到Ken道出個(gè)中緣由。原來,代碼里的確有后道出個(gè)中緣由。原來,代碼里的確有后門,但后門不在門,但后門不在Unix代碼里,而在編譯代碼里,而在編譯Unix代碼的代碼的C編編譯器譯器里。每次里。每次C編譯器編譯編譯器編譯UNIX的代碼,就自動(dòng)生成后的代碼,就自動(dòng)生成后門代碼。而整個(gè)門代碼。而整個(gè)Bell Lab的人,都是用的人,都是用Ken的的C編譯器編譯器 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社17Dennis Ritchien丹尼斯丹尼斯里奇(里奇(Dennis Ri

19、tchie,1941年年9月月9日日2011年年10月月9日),美國(guó)日),美國(guó)計(jì)算機(jī)科學(xué)家,對(duì)計(jì)算機(jī)科學(xué)家,對(duì)C語言和其他編程語言和其他編程語言、語言、Multics和和Unix等操作系統(tǒng)的發(fā)等操作系統(tǒng)的發(fā)展做出了巨大貢獻(xiàn),展做出了巨大貢獻(xiàn), 1983年同年同Ken Thompson一起獲得圖靈獎(jiǎng)。一起獲得圖靈獎(jiǎng)。n1978年與布萊恩年與布萊恩科爾尼干(科爾尼干(Brian W. Kernighan)一起出版了名著)一起出版了名著The C Programming Language,成為,成為C語語言方面最權(quán)威的教材之一。言方面最權(quán)威的教材之一。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編

20、著. 北京:高等教育出版社18C程序結(jié)構(gòu)程序結(jié)構(gòu)n 一個(gè)簡(jiǎn)單的一個(gè)簡(jiǎn)單的C程序程序n#include n/n/ 計(jì)算一個(gè)正整數(shù)計(jì)算一個(gè)正整數(shù)n的階乘,并返回該階乘的階乘,并返回該階乘nint fact(int n)nn int i,res=1;n for (i=1;i=n;i+)n res *= i;nreturn res;nn/n/ 輸入一個(gè)正整數(shù),求它的階乘,并輸出輸入一個(gè)正整數(shù),求它的階乘,并輸出nmain()n nint x,y; / 變量說明部分變量說明部分nscanf(%d,&x);ny = fact(x);nprintf(%d的階乘的階乘=%d,x,y);n 大學(xué)計(jì)算機(jī)計(jì)

21、算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社19C語言基本符號(hào)語言基本符號(hào)n字符表字符表l 基本字符基本字符l 轉(zhuǎn)義字符,不可打印的字符,它以反斜線字符轉(zhuǎn)義字符,不可打印的字符,它以反斜線字符“”開始開始 ur表示回車表示回車(CR) ,將當(dāng)前位置移到本行開頭,將當(dāng)前位置移到本行開頭,ASCII值為值為13;n表示換表示換行行(LF) ,將當(dāng)前位置移到下一行開頭,將當(dāng)前位置移到下一行開頭,ASCII值為值為10 l 運(yùn)算符號(hào)運(yùn)算符號(hào)n關(guān)鍵字(保留字)關(guān)鍵字(保留字)l 固定含義的單詞固定含義的單詞n標(biāo)識(shí)符標(biāo)識(shí)符l 表示常量、變量、類型、函數(shù)等名稱的符號(hào)。表示常量、變量、類型、函

22、數(shù)等名稱的符號(hào)。n注釋注釋l 形式上:?jiǎn)涡凶⑨尯投嘈凶⑨屝问缴希簡(jiǎn)涡凶⑨尯投嘈凶⑨?l 功能上:序言性注釋和描述性注釋功能上:序言性注釋和描述性注釋 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社20ANSI C語言關(guān)鍵字列表(語言關(guān)鍵字列表(1)大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社21ANSI C語言關(guān)鍵字列表(語言關(guān)鍵字列表(2)大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社22ANSI C語言關(guān)鍵字列表(語言關(guān)鍵字列表(3)大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社23數(shù)

23、據(jù)與數(shù)據(jù)類型數(shù)據(jù)與數(shù)據(jù)類型n常量常量l直接常量(又稱字面常量)和符號(hào)常量直接常量(又稱字面常量)和符號(hào)常量l符號(hào)常量定義符號(hào)常量定義u#define 常量常量u例如:例如:#define PI 3.14l為什么要定義常量?為什么要定義常量?n變量變量l變量定義變量定義uauto | static | register | extern ;u例如:例如:int a,b; 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社24數(shù)據(jù)類型數(shù)據(jù)類型n數(shù)據(jù)類型的性質(zhì)數(shù)據(jù)類型的性質(zhì)l存儲(chǔ)空間存儲(chǔ)空間l取值范圍取值范圍l操作運(yùn)算操作運(yùn)算nC語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型大學(xué)計(jì)算機(jī)計(jì)算的思想

24、和方法(第3版),郝興偉編著. 北京:高等教育出版社25字符類型字符類型n類型名為類型名為char n可打印字符可打印字符n轉(zhuǎn)義字符,轉(zhuǎn)義字符,ASCII碼字符集中不可打印的控制字符和特定功能的字符碼字符集中不可打印的控制字符和特定功能的字符 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社26整數(shù)類型整數(shù)類型nC標(biāo)準(zhǔn)將整數(shù)類型分成有符號(hào)整數(shù)和無符號(hào)整數(shù)標(biāo)準(zhǔn)將整數(shù)類型分成有符號(hào)整數(shù)和無符號(hào)整數(shù)n每一種整數(shù),又分成標(biāo)準(zhǔn)整型(每一種整數(shù),又分成標(biāo)準(zhǔn)整型(int)、短整型()、短整型(short)和長(zhǎng)整型()和長(zhǎng)整型(long)。)。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝

25、興偉編著. 北京:高等教育出版社27實(shí)數(shù)類型實(shí)數(shù)類型n實(shí)數(shù)是指帶有小數(shù)點(diǎn)的數(shù)據(jù)實(shí)數(shù)是指帶有小數(shù)點(diǎn)的數(shù)據(jù)大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社28枚舉類型枚舉類型n當(dāng)一個(gè)變量的取值僅有少數(shù)幾種可能時(shí),可以使用枚舉類型。當(dāng)一個(gè)變量的取值僅有少數(shù)幾種可能時(shí),可以使用枚舉類型。n枚舉類型定義的一般形式枚舉類型定義的一般形式l enmu ;u舉例:舉例:enum weekday sun,mon,tue,wed,thu,fri,sat; l 定義該類型的變量定義該類型的變量uenum weekday workday,freeday;n說明說明l 枚舉元素均為常量,不能當(dāng)作

26、變量賦值。枚舉元素均為常量,不能當(dāng)作變量賦值。l 枚舉元素作為常量,從左到右對(duì)應(yīng)的序號(hào)值為枚舉元素作為常量,從左到右對(duì)應(yīng)的序號(hào)值為0,1,2,。l 枚舉元素的值(序號(hào))可由用戶指定,如:枚舉元素的值(序號(hào))可由用戶指定,如:enum weekday sun=7,mon=1,tue,wed, thu,fri,sat; l 枚舉類型數(shù)據(jù)可以作關(guān)系運(yùn)算。枚舉類型數(shù)據(jù)可以作關(guān)系運(yùn)算。 l 不能將一個(gè)整數(shù)賦給枚舉類型變量不能將一個(gè)整數(shù)賦給枚舉類型變量大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社29數(shù)組數(shù)組n數(shù)組是由固定數(shù)量的、相同數(shù)組是由固定數(shù)量的、相同類型的元素構(gòu)成,數(shù)組類

27、型類型的元素構(gòu)成,數(shù)組類型是一種構(gòu)造數(shù)據(jù)類型。是一種構(gòu)造數(shù)據(jù)類型。 n數(shù)組元素在內(nèi)存中占用連續(xù)數(shù)組元素在內(nèi)存中占用連續(xù)的存儲(chǔ)空間的存儲(chǔ)空間 n數(shù)組有一維數(shù)組、二維數(shù)組數(shù)組有一維數(shù)組、二維數(shù)組和多維數(shù)組。和多維數(shù)組。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社30一維數(shù)組一維數(shù)組n定義的一般形式定義的一般形式l 常量表達(dá)式常量表達(dá)式;n數(shù)組元素?cái)?shù)組元素l數(shù)組變量名數(shù)組變量名下標(biāo)下標(biāo) n變量說明時(shí)可以初始化變量說明時(shí)可以初始化lint x10 = 21,16,55,106,75,80,92,31,100,11; lint x10 = 21,16, ,106,75 li

28、nt a = 50,28,31,56,11,66;大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社31二維數(shù)組二維數(shù)組n如果一維數(shù)組的元素類型為數(shù)組類型,即構(gòu)成二維數(shù)組。如果一維數(shù)組的元素類型為數(shù)組類型,即構(gòu)成二維數(shù)組。 n二維數(shù)組定義的一般形式二維數(shù)組定義的一般形式 l 常量表達(dá)式常量表達(dá)式 常量表達(dá)式常量表達(dá)式l int xx32;說明一個(gè)說明一個(gè)3 2的整數(shù)數(shù)組,分的整數(shù)數(shù)組,分3行行2列共列共6個(gè)元素。個(gè)元素。 n元素的引用元素的引用l 數(shù)組變量名數(shù)組變量名下標(biāo)下標(biāo) 下標(biāo)下標(biāo)n初始化初始化l int x32 = 21,16,55,106,75,80 l 對(duì)數(shù)組中

29、的部分元素賦初值,如:對(duì)數(shù)組中的部分元素賦初值,如:int x32 = 21,106,75 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社32字符數(shù)組字符數(shù)組n元素類型為字符(元素類型為字符(char)類型的數(shù)組為字符數(shù)組。字符數(shù)組具有許多其)類型的數(shù)組為字符數(shù)組。字符數(shù)組具有許多其它類型的數(shù)組不具有的特性它類型的數(shù)組不具有的特性n在字符數(shù)組初始化時(shí),若字符個(gè)數(shù)小于數(shù)組長(zhǎng)度,則未賦值元素自動(dòng)定在字符數(shù)組初始化時(shí),若字符個(gè)數(shù)小于數(shù)組長(zhǎng)度,則未賦值元素自動(dòng)定為空字符(為空字符(0) n在在C語言中,將字符串作為字符數(shù)組處理,每個(gè)字符串的結(jié)尾都隱式的語言中,將字符串作為字符

30、數(shù)組處理,每個(gè)字符串的結(jié)尾都隱式的包含一個(gè)字符串結(jié)束標(biāo)志(包含一個(gè)字符串結(jié)束標(biāo)志(0)。例如)。例如Hello World共共11個(gè)字符,但個(gè)字符,但在內(nèi)存中占在內(nèi)存中占12個(gè)字節(jié)。個(gè)字節(jié)。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社33結(jié)構(gòu)體結(jié)構(gòu)體n結(jié)構(gòu)體是一種構(gòu)造型數(shù)據(jù)類型,一般是由前面的簡(jiǎn)單類型(又稱基本類結(jié)構(gòu)體是一種構(gòu)造型數(shù)據(jù)類型,一般是由前面的簡(jiǎn)單類型(又稱基本類型)數(shù)據(jù)構(gòu)造而成。主要用于描述具有多個(gè)屬性的數(shù)據(jù)對(duì)象,如一個(gè)學(xué)型)數(shù)據(jù)構(gòu)造而成。主要用于描述具有多個(gè)屬性的數(shù)據(jù)對(duì)象,如一個(gè)學(xué)生(包括姓名、性別、出生年月等屬性)。生(包括姓名、性別、出生年月等屬

31、性)。n聲明結(jié)構(gòu)體類型的一般形式為聲明結(jié)構(gòu)體類型的一般形式為 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社34結(jié)構(gòu)體舉例結(jié)構(gòu)體舉例大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社35結(jié)構(gòu)體變量的操作結(jié)構(gòu)體變量的操作n對(duì)于結(jié)構(gòu)體,對(duì)成員的訪問是通過結(jié)構(gòu)體變量名和對(duì)于結(jié)構(gòu)體,對(duì)成員的訪問是通過結(jié)構(gòu)體變量名和成員名完成成員名完成 n一般形式一般形式l結(jié)構(gòu)體變量名結(jié)構(gòu)體變量名.成員成員n舉例舉例大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社36指針類型指針類型n指針可以看作是內(nèi)存地址指針可以看作是內(nèi)存地址n指針類型變量定義的

32、一般形式指針類型變量定義的一般形式l 基類型基類型 *指針變量名;指針變量名;n內(nèi)存空間內(nèi)存空間l malloc分配內(nèi)存空間,分配內(nèi)存空間,l free釋放內(nèi)存空間釋放內(nèi)存空間n用戶不能直接為一個(gè)指針變量賦值,但可以將一個(gè)變量的地址賦給指針變量,用戶不能直接為一個(gè)指針變量賦值,但可以將一個(gè)變量的地址賦給指針變量,或者通過或者通過malloc函數(shù)為指針變量申請(qǐng)內(nèi)存空間,或者將一個(gè)指針變量的賦給另一函數(shù)為指針變量申請(qǐng)內(nèi)存空間,或者將一個(gè)指針變量的賦給另一個(gè)指針變量個(gè)指針變量l int *p1,*p2,*p3;l int x;l 下列語句是正確的:下列語句是正確的:l p1=(int *)mallo

33、c(sizeof(int);l p2= &x;l p3= p1; n指針變量的值和地址內(nèi)的值概念不同,指針變量的值為地址。指針變量的值和地址內(nèi)的值概念不同,指針變量的值為地址。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社37類型定義類型定義n用戶可以為一個(gè)構(gòu)造型數(shù)據(jù)類型的定義命名,一般形式用戶可以為一個(gè)構(gòu)造型數(shù)據(jù)類型的定義命名,一般形式 l typedef 類型類型 ;n舉例舉例1:l typedef float Dollars;l Dollars salary,fee;n舉例舉例2:l typedef struct dl int year;l int m

34、onth;l int day;l MyDate;大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社38運(yùn)算符運(yùn)算符n算術(shù)運(yùn)算符算術(shù)運(yùn)算符l 加法(加法(+)、減法()、減法(-)和乘法()和乘法(*) l 整除(整除(/)、模除()、模除(%)u 若操作數(shù)均為整數(shù)若操作數(shù)均為整數(shù)u 如果一個(gè)操作數(shù)為如果一個(gè)操作數(shù)為floatn關(guān)系運(yùn)算符關(guān)系運(yùn)算符l 、=、= =(等于)和(等于)和!=(不等于)(不等于) n邏輯運(yùn)算符邏輯運(yùn)算符l &(邏輯與),(邏輯與),|(邏輯或)和(邏輯或)和!(邏輯非),(邏輯非),l 運(yùn)算結(jié)果為運(yùn)算結(jié)果為True(非(非0值)或值)或F

35、alse(0值)。值)。n自增、自減運(yùn)算符自增、自減運(yùn)算符l i+,i- -(在使用(在使用i之后,將之后,將i的值加的值加1或減或減1)l +i,- -i(在使用(在使用i之前,將之前,將i的值加的值加1或減或減1) n強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換 l ()(表達(dá)式)(表達(dá)式)l 例如例如(double) x 將將x轉(zhuǎn)換成轉(zhuǎn)換成double類型類型 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社39表達(dá)式表達(dá)式n表達(dá)式是指常量、變量、函數(shù)、運(yùn)算符和括號(hào)連接表達(dá)式是指常量、變量、函數(shù)、運(yùn)算符和括號(hào)連接而成的式子而成的式子 n表達(dá)式的分類表達(dá)式的分類l算術(shù)表達(dá)式(結(jié)果為整數(shù)

36、、實(shí)數(shù))算術(shù)表達(dá)式(結(jié)果為整數(shù)、實(shí)數(shù))l字符表達(dá)式(結(jié)果為字符,或字符串)字符表達(dá)式(結(jié)果為字符,或字符串)l邏輯表達(dá)式(結(jié)果為邏輯表達(dá)式(結(jié)果為True或或False,在,在C語言中,語言中,0代表代表False,非,非0的數(shù)代表的數(shù)代表True)。)。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社40賦值運(yùn)算符(賦值運(yùn)算符(=)和賦值表達(dá)式)和賦值表達(dá)式 n賦值運(yùn)算賦值運(yùn)算l 將一個(gè)表達(dá)式的值賦給一個(gè)變量將一個(gè)表達(dá)式的值賦給一個(gè)變量 l = n賦值表達(dá)式賦值表達(dá)式l 賦值運(yùn)算符(賦值運(yùn)算符(=)將一個(gè)變量和一個(gè)表達(dá)式連接而成的式子)將一個(gè)變量和一個(gè)表達(dá)式連接而成

37、的式子l 賦值表達(dá)式,表達(dá)式都有一個(gè)值,如賦值表達(dá)式,表達(dá)式都有一個(gè)值,如a=5是一個(gè)賦值表達(dá)式,表達(dá)式是一個(gè)賦值表達(dá)式,表達(dá)式的值為的值為5(變量(變量a的值也為的值也為5) n類型轉(zhuǎn)換類型轉(zhuǎn)換l 若等號(hào)左邊的變量為整數(shù)類型,右邊表達(dá)式為實(shí)數(shù)類型(若等號(hào)左邊的變量為整數(shù)類型,右邊表達(dá)式為實(shí)數(shù)類型(float、double和和long double),則自動(dòng)舍棄表達(dá)式的小數(shù)部分。反之,),則自動(dòng)舍棄表達(dá)式的小數(shù)部分。反之,左邊的變量為實(shí)數(shù)類型,右邊表達(dá)式為整數(shù)類型,則將表達(dá)式的值左邊的變量為實(shí)數(shù)類型,右邊表達(dá)式為整數(shù)類型,則將表達(dá)式的值以實(shí)數(shù)形式存儲(chǔ)到變量中。以實(shí)數(shù)形式存儲(chǔ)到變量中。 l 當(dāng)將

38、一個(gè)字符賦給一個(gè)整型變量時(shí),將字符的當(dāng)將一個(gè)字符賦給一個(gè)整型變量時(shí),將字符的8位值存放到整型變量位值存放到整型變量的低的低8位,高位字節(jié)全位,高位字節(jié)全0或由字符的最高位決定。反之,將或由字符的最高位決定。反之,將int、short或或long int數(shù)據(jù)賦值給一個(gè)數(shù)據(jù)賦值給一個(gè)char變量時(shí),取整型數(shù)據(jù)的低變量時(shí),取整型數(shù)據(jù)的低8位。位。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社41復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符n二目(兩個(gè)操作數(shù))運(yùn)算符,都可以和賦值號(hào)(二目(兩個(gè)操作數(shù))運(yùn)算符,都可以和賦值號(hào)(=)構(gòu)成復(fù)合賦值符。如:構(gòu)成復(fù)合賦值符。如:+=,-=,*=,/=

39、,=,&=,=,|=等等 n例如:例如:a += 6 等價(jià)于等價(jià)于a = a+6,x *= (y+1)等價(jià)于等價(jià)于x = x* (y+1)。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社42逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式n逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符n逗號(hào)表達(dá)式逗號(hào)表達(dá)式l表達(dá)式表達(dá)式1, 表達(dá)式表達(dá)式2, 表達(dá)式表達(dá)式nn計(jì)算順序計(jì)算順序l先計(jì)算表達(dá)式先計(jì)算表達(dá)式1,然后計(jì)算表達(dá)式,然后計(jì)算表達(dá)式2,.,表達(dá)式,表達(dá)式n.。逗號(hào)表。逗號(hào)表達(dá)式的值為表達(dá)式達(dá)式的值為表達(dá)式n的值。的值。 l例如,例如,x=(a=1,2*3)的結(jié)果為的結(jié)果為6。 大學(xué)計(jì)算

40、機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社43賦值語句賦值語句n賦值語句的基本功能是為變量賦值。賦值語句由賦賦值語句的基本功能是為變量賦值。賦值語句由賦值表達(dá)式加一個(gè)分號(hào)構(gòu)成。值表達(dá)式加一個(gè)分號(hào)構(gòu)成。n一般形式一般形式 l = ;n賦值語句的基本功能是將賦值號(hào)(賦值語句的基本功能是將賦值號(hào)(=)右邊表達(dá)式)右邊表達(dá)式的值賦給左邊的變量的值賦給左邊的變量 n舉例:舉例:if (a=b)0) c=1; 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社44輸入輸入/輸出輸出大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社45分支語

41、句(分支語句(1)n一般形式一般形式lif ()l ;n邏輯功能邏輯功能大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社46例例5-2 n輸入兩個(gè)整數(shù)輸入兩個(gè)整數(shù)x,y,一個(gè)字符,一個(gè)字符ch,根據(jù)字符,根據(jù)字符ch的值分別對(duì)的值分別對(duì)x和和y做加(做加(+)、減()、減(-)、乘()、乘(*)、除()、除(/)運(yùn)算,并輸出運(yùn)算)運(yùn)算,并輸出運(yùn)算結(jié)果結(jié)果n#include nvoid main(void)nn int x,y,z;n char ch;nscanf(%d%d%c,&x,&y,&ch);nif (ch=+)nz=x+y;n if (c

42、h=-)nz=x-y;n if (ch=*)nz=x*y;n if (ch=/)nz=x/y;nprintf(z=%d,z);n 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社47分支語句(分支語句(2)nifelse 語句語句 n一般形式一般形式lif ()l ;l else l;n邏輯功能邏輯功能大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社48分支語句(分支語句(3)nswitch語句語句n一般形式一般形式l switch ()l l case 表達(dá)式表達(dá)式1:l 語句語句1;l break;l case 表達(dá)式表達(dá)式2:l 語句語句2

43、;l break;l l case 表達(dá)式表達(dá)式n:l 語句語句n;l break;l default: l 語句語句n+1;l l 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社49例例5-2bnscanf(%d%d%c,&x,&y,&ch);nswitch (ch)nn case +:n z=x+y;n break;n case -:n z=x-y;n break;n case *:n z=x*y;n break;n case /:n z=x/y;n break;n nprintf(z=%d,z); 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝

44、興偉編著. 北京:高等教育出版社50條件運(yùn)算符條件運(yùn)算符n條件運(yùn)算符(條件運(yùn)算符(?:)l 表達(dá)式表達(dá)式1?表達(dá)式?表達(dá)式2:表達(dá)式:表達(dá)式3 n邏輯功能邏輯功能l 計(jì)算表達(dá)式計(jì)算表達(dá)式1的值,如果為真,則條件表達(dá)式取表達(dá)式的值,如果為真,則條件表達(dá)式取表達(dá)式2的值,否則的值,否則取表達(dá)式取表達(dá)式3的值的值 n例如例如if (ab) min = a;else min = b;可以寫成下面的條件表達(dá)式:可以寫成下面的條件表達(dá)式:min = (ab) ? a:b 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社51循環(huán)控制語句(循環(huán)控制語句(1)nwhile 語句語句n一般

45、形式一般形式lwhile ()l ; n邏輯功能邏輯功能大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社52例例5-3n輸入一個(gè)正整數(shù),計(jì)算正整數(shù)的位數(shù)。輸入一個(gè)正整數(shù),計(jì)算正整數(shù)的位數(shù)。 n#include nvoid main(void)nnint x,width=0;nscanf(%d,&x);nwhile (x0)nn width+;n x = x/10;nnprintf(wid=%d,width);n大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社53循環(huán)控制語句(循環(huán)控制語句(2)ndo -while語句語句n一般形式一般形式

46、ldo l 語句(循環(huán)體)語句(循環(huán)體)l while (););n邏輯功能邏輯功能大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社54例例5-4n輸入一串十六進(jìn)制字符(輸入一串十六進(jìn)制字符(09,af)計(jì)算對(duì)應(yīng)的十進(jìn)制值,并輸出。)計(jì)算對(duì)應(yīng)的十進(jìn)制值,并輸出。 n#include nvoid main(void)nn char ch;n int x=0;n do nscanf(%c,&ch);n if (ch=0 & ch=a & ch=A & ch=0 & ch=a & ch=A & ch=F);n print

47、f(x=%d,x);n 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社55循環(huán)控制語句(循環(huán)控制語句(3)nfor 語句語句 n一般形式一般形式l for (表達(dá)式表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3)l ;n執(zhí)行過程執(zhí)行過程l (1)計(jì)算表達(dá)式)計(jì)算表達(dá)式1。l (2)計(jì)算表達(dá)式)計(jì)算表達(dá)式2,如果為真,則,如果為真,則執(zhí)行循環(huán)體,然后轉(zhuǎn)步驟(執(zhí)行循環(huán)體,然后轉(zhuǎn)步驟(3)。)。否則,結(jié)束循環(huán)。否則,結(jié)束循環(huán)。l (3)計(jì)算表達(dá)式)計(jì)算表達(dá)式3l (4)無條件轉(zhuǎn)步驟()無條件轉(zhuǎn)步驟(2)l (5)循環(huán)結(jié)束)循環(huán)結(jié)束 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉

48、編著. 北京:高等教育出版社56例例5-5 n輸出楊輝三角形前輸出楊輝三角形前10行的內(nèi)行的內(nèi)容容n分析分析 l(1)第)第i行有行有i個(gè)數(shù)字。個(gè)數(shù)字。l(2)對(duì)于每一行的第一個(gè)和最)對(duì)于每一行的第一個(gè)和最后一個(gè)數(shù)均為后一個(gè)數(shù)均為1,其他的任何一,其他的任何一個(gè)數(shù)等于上一行對(duì)應(yīng)的數(shù)和前個(gè)數(shù)等于上一行對(duì)應(yīng)的數(shù)和前面數(shù)的和。面數(shù)的和。 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社57程序代碼程序代碼n#include nvoid main(void)nnint a10; / 存儲(chǔ)楊暉三角的每一行數(shù)字存儲(chǔ)楊暉三角的每一行數(shù)字nfor (int i=1;i1;j-)naj-

49、1=aj-2+aj-1;nfor (j=1;j=i;j+)nprintf(%4d,aj-1);nprintf(n);nn 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社58例例5-6n問題問題n分析分析 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社59程序代碼程序代碼n#include nmain()nn float x,t=1,sum=0;n int n;n scanf(%f%d,&x,&n);n for (int i=1;i=n;i+)n n t *= x/i;n sum += t;n n printf(sum=%5.2

50、f,sum);n大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社60其他控制語句其他控制語句nbreak語句語句l用于跳出最近的循環(huán)用于跳出最近的循環(huán) ncontinue語句語句l跳過本次循環(huán)中下面尚未執(zhí)行的語句,接著進(jìn)入下一次跳過本次循環(huán)中下面尚未執(zhí)行的語句,接著進(jìn)入下一次是否執(zhí)行循環(huán)的判斷是否執(zhí)行循環(huán)的判斷 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社61例例5-7n輸入一系列正整數(shù),分別計(jì)算正數(shù)和負(fù)數(shù)的和,輸入輸入一系列正整數(shù),分別計(jì)算正數(shù)和負(fù)數(shù)的和,輸入0結(jié)束。結(jié)束。 n#include nmain()nn int x,sum1=0,

51、sum2=0;n while (1)n n scanf(%d,&x);n if (x=0) n break;n if (x0)n sum1 += x;n elsen sum2 += x;n n printf(sum1=%6d,sum2=%6dn,sum1,sum2);n大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社62函數(shù)函數(shù)n結(jié)構(gòu)化編程結(jié)構(gòu)化編程n函數(shù)定義的一般形式函數(shù)定義的一般形式類型標(biāo)識(shí)符類型標(biāo)識(shí)符 函數(shù)名(形式參數(shù)表)函數(shù)名(形式參數(shù)表) 聲明部分聲明部分 語句部分語句部分n說明說明l 返回值,返回值,return語句,語句,voidl 函數(shù)名函數(shù)名l

52、 形式參數(shù)形式參數(shù)l 聲明部分聲明部分l 語句部分語句部分大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社63函數(shù)調(diào)用函數(shù)調(diào)用n一般形式一般形式l 函數(shù)名(函數(shù)名() n函數(shù)調(diào)用的一般過程函數(shù)調(diào)用的一般過程l (1)參數(shù)傳遞,在進(jìn)入函數(shù)前,根據(jù)函數(shù)定義,)參數(shù)傳遞,在進(jìn)入函數(shù)前,根據(jù)函數(shù)定義,首先為函數(shù)的形式參數(shù)分配臨時(shí)內(nèi)存空間。然后,首先為函數(shù)的形式參數(shù)分配臨時(shí)內(nèi)存空間。然后,對(duì)于函數(shù)中的每一個(gè)形式參數(shù),分別將對(duì)應(yīng)的實(shí)對(duì)于函數(shù)中的每一個(gè)形式參數(shù),分別將對(duì)應(yīng)的實(shí)際參數(shù)的值或地址賦給形式參數(shù)。際參數(shù)的值或地址賦給形式參數(shù)。l 如果形式參數(shù)為指針類型,則對(duì)應(yīng)的實(shí)際參數(shù)必如果

53、形式參數(shù)為指針類型,則對(duì)應(yīng)的實(shí)際參數(shù)必須為變量,此時(shí),將實(shí)際參數(shù)的地址賦給形式參須為變量,此時(shí),將實(shí)際參數(shù)的地址賦給形式參數(shù);如果形式參數(shù)不是指針,則將對(duì)應(yīng)的實(shí)際參數(shù);如果形式參數(shù)不是指針,則將對(duì)應(yīng)的實(shí)際參數(shù)的值賦給形式參數(shù)。數(shù)的值賦給形式參數(shù)。l (2)申請(qǐng)局部變量,參數(shù)傳遞完成后,進(jìn)入函數(shù))申請(qǐng)局部變量,參數(shù)傳遞完成后,進(jìn)入函數(shù)內(nèi)部,如果函數(shù)包含局部變量聲明,則為每一個(gè)內(nèi)部,如果函數(shù)包含局部變量聲明,則為每一個(gè)局部變量分配臨時(shí)內(nèi)存空間。局部變量分配臨時(shí)內(nèi)存空間。l (3)執(zhí)行函數(shù)的語句部分,當(dāng)為函數(shù)的局部變量)執(zhí)行函數(shù)的語句部分,當(dāng)為函數(shù)的局部變量分配空間結(jié)束后,接下來開始執(zhí)行函數(shù)的語句部

54、分配空間結(jié)束后,接下來開始執(zhí)行函數(shù)的語句部分。分。l (4)當(dāng)函數(shù)的語句部分執(zhí)行結(jié)束后,釋放進(jìn)入函)當(dāng)函數(shù)的語句部分執(zhí)行結(jié)束后,釋放進(jìn)入函數(shù)時(shí)所申請(qǐng)的所有臨時(shí)變量空間,這包括形式參數(shù)時(shí)所申請(qǐng)的所有臨時(shí)變量空間,這包括形式參數(shù)和局部變量?jī)蓚€(gè)部分。數(shù)和局部變量?jī)蓚€(gè)部分。l (5)函數(shù)執(zhí)行結(jié)束,返回函數(shù)調(diào)用語句的下面一)函數(shù)執(zhí)行結(jié)束,返回函數(shù)調(diào)用語句的下面一條語句,繼續(xù)執(zhí)行下面的語句。條語句,繼續(xù)執(zhí)行下面的語句。大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社64例例5-8n編寫一個(gè)編寫一個(gè)C函數(shù),判斷一個(gè)數(shù)是否為素?cái)?shù)。如果是函數(shù),判斷一個(gè)數(shù)是否為素?cái)?shù)。如果是素?cái)?shù),返回素?cái)?shù),

55、返回1,否則返回,否則返回0。 n分析分析大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社65代碼清單代碼清單nint prime(int x)nn int i, isprime=1;nif (x=1)nreturn 0;nfor (i=2;ix-1;i+)nnif (x % i=0)nnisprime=0;nbreak;nnnreturn isprime;n 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社66局部變量和全局變量局部變量和全局變量n局部變量局部變量l在函數(shù)內(nèi)部定義的變量在函數(shù)內(nèi)部定義的變量,只在函數(shù)內(nèi)部使用只在函數(shù)內(nèi)部使用 l變

56、量聲明也可以出現(xiàn)在語句塊(在變量聲明也可以出現(xiàn)在語句塊(在內(nèi))中,此時(shí)變量的內(nèi))中,此時(shí)變量的有效范圍為其所在的語句塊,離開該語句塊,變量所占有效范圍為其所在的語句塊,離開該語句塊,變量所占內(nèi)存單元被釋放。內(nèi)存單元被釋放。 n全局變量全局變量l在函數(shù)的外部可以定義變量在函數(shù)的外部可以定義變量 l全局變量的有效范圍是從定義變量的位置到文件結(jié)束。全局變量的有效范圍是從定義變量的位置到文件結(jié)束。大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社67例例5-9:函數(shù)、局部變量和全局變量示例函數(shù)、局部變量和全局變量示例大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教

57、育出版社68變量的存儲(chǔ)類別變量的存儲(chǔ)類別n從變量值(所占空間)存在的時(shí)間上講,變量的存儲(chǔ)方法分成靜態(tài)存儲(chǔ)從變量值(所占空間)存在的時(shí)間上講,變量的存儲(chǔ)方法分成靜態(tài)存儲(chǔ)和動(dòng)態(tài)存儲(chǔ)兩大類,四個(gè)類別,分別是和動(dòng)態(tài)存儲(chǔ)兩大類,四個(gè)類別,分別是auto,static, register和和extern。nauto變量。函數(shù)中的局部變量,如不特別聲明為變量。函數(shù)中的局部變量,如不特別聲明為static,即為自動(dòng)(,即為自動(dòng)(auto)變量。變量。 nstatic變量。如果希望局部變量的值在函數(shù)調(diào)用結(jié)束后仍然存在,即局部變量。如果希望局部變量的值在函數(shù)調(diào)用結(jié)束后仍然存在,即局部變量所占的存儲(chǔ)單元不被釋放。變

58、量所占的存儲(chǔ)單元不被釋放。 nregister變量。無論是變量。無論是auto還是還是static變量,數(shù)據(jù)都存儲(chǔ)在內(nèi)存中。當(dāng)程序變量,數(shù)據(jù)都存儲(chǔ)在內(nèi)存中。當(dāng)程序使用該變量時(shí),控制器通過機(jī)器指令將數(shù)據(jù)傳到運(yùn)算器,運(yùn)算結(jié)束數(shù)據(jù)使用該變量時(shí),控制器通過機(jī)器指令將數(shù)據(jù)傳到運(yùn)算器,運(yùn)算結(jié)束數(shù)據(jù)被送回內(nèi)存儲(chǔ)器。被送回內(nèi)存儲(chǔ)器。 nextern變量。外部變量(全局變量)是在函數(shù)外部定義的變量,其作用變量。外部變量(全局變量)是在函數(shù)外部定義的變量,其作用域是從變量的定義處開始直到文件的結(jié)束。域是從變量的定義處開始直到文件的結(jié)束。 l extern類型名外部變量名;類型名外部變量名;大學(xué)計(jì)算機(jī)計(jì)算的思想和方

59、法(第3版),郝興偉編著. 北京:高等教育出版社69 第第5章章 計(jì)算機(jī)程序計(jì)算機(jī)程序 5.1 計(jì)算機(jī)程序概述計(jì)算機(jī)程序概述5.2 C/C+程序設(shè)計(jì)語言程序設(shè)計(jì)語言5.3 類與對(duì)象類與對(duì)象5.4 數(shù)據(jù)存儲(chǔ)與管理數(shù)據(jù)存儲(chǔ)與管理5.5 Web應(yīng)用應(yīng)用知識(shí)要點(diǎn)知識(shí)要點(diǎn)面向?qū)ο蟮乃季S方式,面向?qū)ο蟮乃季S方式,類,類,對(duì)象,對(duì)象,成員變量(屬性),成員變量(屬性),成員函數(shù)(方法),成員函數(shù)(方法),構(gòu)造函數(shù),構(gòu)造函數(shù),析構(gòu)函數(shù),析構(gòu)函數(shù),基類,基類,派生類,派生類,面向?qū)ο缶幊獭C嫦驅(qū)ο缶幊獭?大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社70U5.3 類與對(duì)象類與對(duì)象n面向

60、對(duì)象的思維方式面向?qū)ο蟮乃季S方式n類及其定義類及其定義n類的繼承性與派生類類的繼承性與派生類n對(duì)象的創(chuàng)建及操作對(duì)象的創(chuàng)建及操作大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社71面向?qū)ο蟮乃季S方式面向?qū)ο蟮乃季S方式n建立了類和對(duì)象的概念建立了類和對(duì)象的概念l自然界中的物理對(duì)象軟件對(duì)象自然界中的物理對(duì)象軟件對(duì)象l通過消息映射在事件和函數(shù)之間進(jìn)行關(guān)聯(lián),函數(shù)之間的通過消息映射在事件和函數(shù)之間進(jìn)行關(guān)聯(lián),函數(shù)之間的聯(lián)系不再是顯式的調(diào)用,降低了函數(shù)的偶合度。聯(lián)系不再是顯式的調(diào)用,降低了函數(shù)的偶合度。l對(duì)于復(fù)雜系統(tǒng)面向?qū)ο蠹夹g(shù)可以提高系統(tǒng)的可擴(kuò)充性和對(duì)于復(fù)雜系統(tǒng)面向?qū)ο蠹夹g(shù)可以提高系統(tǒng)的可擴(kuò)充性和代碼重用的層次代碼重用的層次 大學(xué)計(jì)算機(jī)計(jì)算的思想和方法(第3版),郝興偉編著. 北京:高等教育出版社72類及其定義類及其定義n類(類(C

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論