第1章 C++初步知識課件_第1頁
第1章 C++初步知識課件_第2頁
第1章 C++初步知識課件_第3頁
第1章 C++初步知識課件_第4頁
第1章 C++初步知識課件_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C++程序設(shè)計中國高等院校計算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材譚浩強(qiáng)編著總目錄

第1篇基本知識 第1章C++的初步知識 第2章數(shù)據(jù)類型與表達(dá)式 第2篇面向過程的程序設(shè)計 第3章程序設(shè)計初步 第4章函數(shù)與預(yù)處理 第5章數(shù)組 第6章指針 第7章自定義數(shù)據(jù)類型

第3篇基于對象的程序設(shè)計 第8章類和對象 第9章關(guān)于類和對象的進(jìn)一步討論 第10章運(yùn)算符重載 第4篇面向?qū)ο蟮某绦蛟O(shè)計 第11章繼承與派生 第12章多態(tài)性與虛函數(shù) 第13章輸入輸出流 第14章C++工具第1章C++的初步知識第2章數(shù)據(jù)類型與表達(dá)式第1篇

基本知識第1章C++的初步知識*1.1從C到C++*1.2最簡單的C++程序1.3C++程序的構(gòu)成和書寫形式1.4C++程序的編寫和實現(xiàn)1.5關(guān)于C++上機(jī)實踐*1.1從C到C++產(chǎn)生背景:最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的。產(chǎn)生過程時間:1972~1973地點(diǎn):美國貝爾實驗室目的:UNIX操作系統(tǒng)設(shè)計人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年BCPL語言B語言C語言精練、接近硬件,但過于簡單,無數(shù)據(jù)類型具有多種數(shù)據(jù)類型*1.1從C到C++產(chǎn)生背景:最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的。產(chǎn)生過程時間:1972~1973地點(diǎn):美國貝爾實驗室目的:UNIX操作系統(tǒng)設(shè)計人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年87ANSIC:1987年C語言的主要特點(diǎn)是:語言本身簡潔、使用靈活方便;既有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn);程序的可移植性好;程序的語法結(jié)構(gòu)不夠嚴(yán)密,程序設(shè)計的自由度大;C語言存在的一些缺陷或不足,如:C語言對數(shù)據(jù)類型檢查的機(jī)制比較弱;缺少支持代碼重用的結(jié)構(gòu);難以適應(yīng)開發(fā)特大型的程度等等。*1.1從C到C++printf(“%d”,i);//i為整型變量,正確,輸出i的值printf(“%d”,f);//把單精度變量f在存儲單元中的信息按整數(shù)解釋并輸出printf(“%d”,“C++”);//輸出字符串“C++”的起始地址scanf(“%d”,&i);//正確,輸入一個整數(shù),賦給整型變量iscanf(“%d”,i);C++Bell(貝爾)實驗室于20世紀(jì)80年代初在C語言的基礎(chǔ)上開發(fā)成功。第一個真正的C++編譯系統(tǒng)是1988年誕生的。C++保留了C語言原有的優(yōu)點(diǎn),增加了面向?qū)ο蟮臋C(jī)制。C++是由C發(fā)展而來的,與C兼容。C++既可用于面向過程的結(jié)構(gòu)化程序設(shè)計,又可用于面向?qū)ο蟮某绦蛟O(shè)計,是一種功能強(qiáng)大的混合型的程序設(shè)計語言。*1.1從C到C++功能擴(kuò)充。增加了面向?qū)ο蟮臋C(jī)制。面向?qū)ο蠛兔嫦蜻^程不是矛盾的,而是各有用途、互為補(bǔ)充的。C++對C的“增強(qiáng)”例1.1輸出一行字符:“ThisisaC++program.”。程序如下:#include<iostream>//包含頭文件iostreamusingnamespacestd;//使用命名空間stdintmain(){cout<<″ThisisaC++program.″;return0;}在運(yùn)行時會在屏幕上輸出以下一行信息:ThisisaC++program.*1.2最簡單的C++程序包含文件主函數(shù)函數(shù)體開始函數(shù)體結(jié)束輸出流,在屏幕上打印引號內(nèi)的字符串分號,一條完整語句的結(jié)束符注釋或說明文件iostream的作用是向程序提供輸入或輸出時所需要的一些信息。iostream是i-o-stream3個詞的組合,從它的形式就可以知道它代表“輸入輸出流”的意思“usingnamespacestd;”的意思是“使用命名空間std”。C++標(biāo)準(zhǔn)庫中的類和函數(shù)是在命名空間std中聲明的,因此程序中如果需要用到C++標(biāo)準(zhǔn)庫(此時就需要用#include命令行),就需要用“usingnamespacestd;”作聲明,表示要用到命名空間std中的內(nèi)容。例1.2求a和b兩個數(shù)之和。可以寫出以下程序://求兩數(shù)之和(本行是注釋行)#include<iostream>//預(yù)處理命令usingnamespacestd;//使用命名空間stdintmain()//主函數(shù)首部{//函數(shù)體開始

inta,b,sum;//定義變量

cin>>a>>b;//輸入語句

sum=a+b;//賦值語句cout<<″a+b=″<<sum<<endl;//輸出語句return0;//如程序正常結(jié)束,向操作系統(tǒng)返回一個零值}//函數(shù)結(jié)束如果在運(yùn)行時從鍵盤輸入123456↙則輸出為a+b=579*1.2最簡單的C++程序例1.3給兩個數(shù)x和y,求兩數(shù)中的大者。本程序包括兩個函數(shù):主函數(shù)main和被調(diào)用的函數(shù)max。#include<iostream>//預(yù)處理命令usingnamespacestd;intmax(intx,inty)//定義max函數(shù){//max函數(shù)體開始

intz;//變量聲明,定義本函數(shù)中用到的變量z為整型

if(x>y)z=x;//if語句,如果x>y,則將x的值賦給zelsez=y;//否則,將y的值賦給zreturn(z);//將z的值返回,通過max帶回調(diào)用處}//max函數(shù)結(jié)束*1.2最簡單的C++程序intmain()//主函數(shù){//主函數(shù)體開始

inta,b,m;//變量聲明

cin>>a>>b;//輸入變量a和b的值

m=max(a,b);//調(diào)用max函數(shù),將得到的值賦給mcout<<″max=″<<m<<′\\n′;//輸出大數(shù)m的值return0;//如程序正常結(jié)束,向操作系統(tǒng)返回一個零值}//主函數(shù)結(jié)束程序運(yùn)行情況如下:注意輸入的兩個數(shù)據(jù)間用一個或多個空格間隔,不能以逗號或其他符號間隔。1825↙(輸入18和25給a和b)max=25(輸出m的值)例1.4包含類的C++程序。#include<iostream>//預(yù)處理命令usingnamespacestd;classStudent//聲明一個類,類名為Student{private://以下為類中的私有部分intnum;//私有變量numintscore;//私有變量scorepublic://以下為類中的公用部分voidsetdata()//定義公用函數(shù)setdata{ cin>>num;//輸入num的值cin>>score;//輸入score的值}“類(class)”把一組數(shù)據(jù)和有權(quán)調(diào)用這些數(shù)據(jù)的函數(shù)封裝在一起,包含兩種成員:數(shù)據(jù):稱為數(shù)據(jù)成員

函數(shù):稱為成員函數(shù)。是用來對數(shù)據(jù)成員進(jìn)行操作的。一個類是由一批數(shù)據(jù)以及對其操作的函數(shù)組成的。在聲明Student類時,把類中的數(shù)據(jù)和函數(shù)分為兩大類:private(私有的)和public(公用的)。體現(xiàn)數(shù)據(jù)的封裝性和信息隱蔽。把全部數(shù)據(jù)(num,score)指定為私有的,把全部函數(shù)(setdata,display)指定為公用的。在大多數(shù)情況下,會把所有數(shù)據(jù)指定為私有,以實現(xiàn)信息隱蔽。 voiddisplay()//定義公用函數(shù)display{ cout<<″num=″<<num<<endl;//輸出num的值

cout<<″score=″<<score<<endl;//輸出score的值

};};//類的聲明結(jié)束Studentstud1,stud2;//定義stud1和stud2為Student類的變量,稱為對象intmain()//主函數(shù)首部{ stud1.setdata();//調(diào)用對象stud1的setdata函數(shù)stud2.setdata();//調(diào)用對象stud2的setdata函數(shù)stud1.display();//調(diào)用對象stud1的display函數(shù)stud2.display();//調(diào)用對象stud2的display函數(shù) return0;}具有“類”類型的變量稱為對象100198.5↙(輸入學(xué)生1的學(xué)號和成績)100276.5↙(輸入學(xué)生2的學(xué)號和成績)num=1001(輸出學(xué)生1的學(xué)號)score=98.5(輸出學(xué)生1的成績)num=1002(輸出學(xué)生2的學(xué)號)score=76.5(輸出學(xué)生2的成績)

一個C++程序可以由一個程序單位或多個程序單位構(gòu)成。每一個程序單位作為一個文件。在程序編譯時,編譯系統(tǒng)分別對各個文件進(jìn)行編譯,因此,一個文件是一個編譯單元。在一個程序單位中,可以包括以下幾個部分:

①預(yù)處理命令。

②全局聲明部分(在函數(shù)外的聲明部分)。在這部分中包括對用戶自己定義的數(shù)據(jù)類型的聲明和程序中所用到的變量的定義。

③函數(shù)。函數(shù)是實現(xiàn)操作的部分,因此函數(shù)是程序中必須有的和最基本的組成部分。每一個程序必須包括一個或多個函數(shù),其中必須有一個(而且只能有一個)主函數(shù)(main函數(shù))。1.3C++程序的構(gòu)成和書寫形式

并不要求每一個程序文件都必須具有以上3個部分,可以缺少某些部分(包括函數(shù))。一個函數(shù)由兩部分組成:

①函數(shù)首部。即函數(shù)的第一行。intmax(intx,inty)函數(shù)類型函數(shù)名參數(shù)類型形參名參數(shù)類型形參名一個函數(shù)名后面必須跟一對圓括號,形參可以缺省,如intmain()。 ②函數(shù)體。即函數(shù)首部下面的大括號內(nèi)的部分。一般包括:局部聲明部分(在函數(shù)內(nèi)的聲明部分)。包括對本函數(shù)中所用到的類型、函數(shù)的聲明和變量的定義。

執(zhí)行部分。由若干個執(zhí)行語句組成,用來進(jìn)行有關(guān)的操作,以實現(xiàn)函數(shù)的功能。語句包括兩類。一類是聲明語句,另一類是執(zhí)行語句。語句是實現(xiàn)操作的基本成分,顯然,沒有語句的函數(shù)是沒有意義的。C++語句必須以分號結(jié)束。一個C++程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何。類(class)是C++新增加的重要的數(shù)據(jù)類型,可以實現(xiàn)面向?qū)ο蟪绦蛟O(shè)計方法中的封裝、信息隱蔽、繼承、派生、多態(tài)等功能。

在一個類中可以包括數(shù)據(jù)成員和成員函數(shù),他們可以被指定為私有的(private)和公用的(public)屬性。私有的數(shù)據(jù)成員和成員函數(shù)只能被本類的成員函數(shù)所調(diào)用。C++程序書寫格式自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在多行上。一個好的、有使用價值的源程序都應(yīng)當(dāng)加上必要的注釋,以增加程序的可讀性。

①可以用“/*……*/”對C++程序中的任何部分作注釋。有效范圍為可以是多行。

②用“//”作注釋

溫馨提示

  • 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

提交評論