第1章-C的初步知識_第1頁
第1章-C的初步知識_第2頁
第1章-C的初步知識_第3頁
第1章-C的初步知識_第4頁
第1章-C的初步知識_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

13三月2024第1章C的初步知識課程定位《C++程序設(shè)計》是軟件學(xué)院的專業(yè)基礎(chǔ)課,是《數(shù)據(jù)結(jié)構(gòu)》、《操作系統(tǒng)》等課程的前導(dǎo)課程?!禖++程序設(shè)計》是一門實踐性很強的課程,《C++程序設(shè)計實驗》被獨立設(shè)課、單獨考核。其目的在于強化實踐環(huán)節(jié),使大家既能掌握面向?qū)ο蟪绦蛟O(shè)計的基本概念和方法,又學(xué)會編程調(diào)試,培養(yǎng)運用C++解決實際問題的能力。Date2學(xué)時安排本學(xué)期6周,下學(xué)期18周。上課:4學(xué)時/周實驗:4學(xué)時/周Date3教學(xué)要求課前預(yù)習(xí)、課后復(fù)習(xí)上課、實驗不得缺席按時完成作業(yè)Date4考核形式考勤、作業(yè)占總成績的30%期末考試占總成績的70%上機實驗課單獨考核Date5參考書目《C++程序設(shè)計題解與上機指導(dǎo)》譚浩強著清華大學(xué)出版社.2008年6月《C++程序設(shè)計實踐指導(dǎo)》譚浩強等著清華大學(xué)出版社.2005年7月《C++語言基礎(chǔ)教程》(第二版)呂鳳翥著清華大學(xué)出版社.2007年2月C++HowtoProgram(FifthEdition),H.M.DeitelandP.J.Deitel著電子工業(yè)出版社.2008

Date6C++程序設(shè)計第1章C++的初步知識*第1章C++的初步知識1.1從C到C++1.2最簡單的C++程序1.3C++程序的構(gòu)成和書寫形式1.4C++程序的編寫和實現(xiàn)1.5關(guān)于C++上機實踐Date81.1從C到C++1972年為移植UNIX系統(tǒng),Ritchie發(fā)明了C語言,并隨UNIX風(fēng)靡全球。利用C開發(fā)時,采用的是面向過程(OPP)的方法。C語言憑借其靈活性和高效性,自80年代以來在程序設(shè)計界占領(lǐng)了廣泛的市場,程序員用它開發(fā)了許多重要產(chǎn)品。但是C語言并不是萬能的,隨著軟件工程規(guī)模的擴大,C語言的缺陷逐漸顯露出來。比如說,程序量超過50,000行,開發(fā)人員達(dá)到數(shù)十人時,系統(tǒng)維護(hù)的工作量就變得相當(dāng)大,而且系統(tǒng)的整體性也難以保證。1980年貝爾實驗室的BjarneStroustrup對C語言進(jìn)行了擴充,推出了“Cwithclass”,1982年,正式命名為C++。

Date91.2最簡單的C++程序

例1.1輸出一行字符: ThisisaC++program.#include<iostream>usingnamespacestd;intmain(){cout<<"ThisisaC++program.";return0;}包含頭文件使用命名空間stdmain代表“主函數(shù)”的名字。每一個C++程序都必須有。int聲明函數(shù)的類型為整型。向操作系統(tǒng)返回零值。作用是向程序提供輸入或輸出時所需要的一些信息。C++標(biāo)準(zhǔn)庫中的類和函數(shù)是在命名空間std中聲明的因此程序中如果需要用到C++標(biāo)準(zhǔn)庫,就需要用“usingnamespacestd;”表示要用到命名空間std中的內(nèi)容。Date10例1.2求a、b兩個數(shù)之和//求兩數(shù)之和#include<iostream>usingnamespacestd;intmain(){inta,b,sum;cin>>a>>b;sum=a+b;cout<<"a+b="<<sum<<endl;return0;}

//預(yù)處理命令//使用命名空間std//主函數(shù)首部//函數(shù)體開始//函數(shù)結(jié)束//定義變量//輸入語句//賦值語句//輸出語句//如程序正常結(jié)束,向操作系統(tǒng)返回一個零值如果在運行時從鍵盤輸入123456↙則輸出為a+b=579函數(shù)體(本行是注釋行)Date11

注釋:

注釋是用來幫助閱讀、理解及維護(hù)程序。在編譯時,注釋部分被忽略,不產(chǎn)生目標(biāo)代碼。C++語言提供兩種注釋方式。(1)一種是與C兼容的多行注釋,用/*和*/分界。(2)另一種是單行注釋,以“//”開頭的表明本行中用“/*……*/”作注釋時有效范圍為多行。只要在開始處有一個“/*”,在最后一行結(jié)束處有一個“*/”即可內(nèi)容較少的簡單注釋常用“//”,內(nèi)容較長的常用“/*……*/”。返回Date12例1.3求x、y兩數(shù)中的較大者#include<iostream>usingnamespacestd;intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}//變量聲明,定義本函數(shù)中用到的變量z為整型//if語句,若x>y,則將x的值賦給z//否則,將y的值賦給z//將z的值返回,通過max帶回調(diào)用處//定義max函數(shù),函數(shù)值為整型//形式參數(shù)x,y為整型Date13例1.3求x、y兩數(shù)中的較大者intmain(){ inta,b,m; cin>>a>>b; m=max(a,b); cout<<"max="<<m<<'\n'; return0;}//主函數(shù)//變量聲明//輸入變量a和b的值//調(diào)用max函數(shù),將得到的值賦給m//輸出大數(shù)m的值本程序包括兩個函數(shù):主函數(shù)main和被調(diào)用的函數(shù)max注意:輸入的兩個數(shù)據(jù)間用一個或多個空格間隔,不能以逗號或其他符號間隔。Date14例1.4包含類的C++程序

#include<iostream>usingnamespacestd;classStudent

{private:

//以下為類中的私有部分

intnum;

//私有變量num

doublescore;

//私有變量scorepublic: //以下為類中的公用部分

voidsetdata()

//定義公用函數(shù)

{cin>>num;cin>>score;}

//輸入num,score的值

voiddisplay()

//定義公用函數(shù)

{cout<<"num="<<num<<endl;cout<<"score="<<score<<endl;}//輸出};訪問權(quán)限私有的數(shù)據(jù)成員語句結(jié)束符類定義關(guān)鍵字公有的成員函數(shù)Date15例1.4

包含類的C++程序Studentstud1,stud2;intmain(){stud1.setdata();stud2.setdata();stud1.display();stud2.display();return0;}//定義stud1和stud2為//Student類的變量,稱為對象//調(diào)用對象stud1的setdata函數(shù)//調(diào)用對象stud2的setdata函數(shù)//調(diào)用對象stud1的display函數(shù)//調(diào)用對象stud2的display函數(shù)Date16例1.4包含類的C++程序程序運行情況如下: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的成績)Date171.2最簡單的C++程序

1.學(xué)生入學(xué)過程程序

2.隨機挑選學(xué)生程序Date181.3C++程序的構(gòu)成和書寫形式C++程序的結(jié)構(gòu)和書寫格式歸納如下:

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

⑴預(yù)處理命令

預(yù)處理命令以位于行首的符號“#”開始,C++提供的預(yù)處理有宏定義命令、文件包含命令和條件編譯命令三種。⑵全局聲明部分

在這部分中包括對用戶自己定義的數(shù)據(jù)類型的聲明和程序中所用到的變量的定義。Date201.3C++程序的構(gòu)成和書寫形式⑶函數(shù) 一個C++程序是由若干個函數(shù)構(gòu)成的。函數(shù)分為庫函數(shù)(標(biāo)準(zhǔn)函數(shù))和自定義函數(shù)。庫函數(shù)一般是由系統(tǒng)提供的。一個完整的C++語言程序有且只有一個主函數(shù)。定義一個函數(shù)的語法格式為: 類型函數(shù)名(形式參數(shù)表) { 函數(shù)體; }Date21例如:intmax(inta,intb){intt;if(a>b)t=a;elset=b;returnt;}函數(shù)體函數(shù)首部函數(shù)名函數(shù)類型函數(shù)形參聲明語句執(zhí)行語句一個C++程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何。Date22

一個函數(shù)由兩部分組成:①函數(shù)首部,即函數(shù)的第一行。包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)(形參)名、參數(shù)類型。一個函數(shù)名后面必須跟一對圓括號,函數(shù)參數(shù)可以缺省,如intmain()。Date23

②函數(shù)體,即函數(shù)首部下面的大括號內(nèi)的部分。函數(shù)體一般包括:局部聲明部分(在函數(shù)內(nèi)的聲明部分)。包括對本函數(shù)中所用到的類型、函數(shù)的聲明和變量的定義。對數(shù)據(jù)的聲明既可以放在函數(shù)之外(其作用范圍是全局的),也可以放在函數(shù)內(nèi)(其作用范圍是局部的,只在本函數(shù)內(nèi)有效)。執(zhí)行部分。由若干個執(zhí)行語句組成,用來進(jìn)行有關(guān)的操作,以實現(xiàn)函數(shù)的功能。Date24*語句包括兩類:一類是聲明語句,另一類是執(zhí)行語句。C++對每一種語句賦予一種特定的功能。語句是實現(xiàn)操作的基本成分,顯然,沒有語句的函數(shù)是沒有意義的。C++語句必須以分號結(jié)束。*一個C++程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何。Date251.3C++程序的構(gòu)成和書寫形式⑷類(class)類是C++新增加的重要的數(shù)據(jù)類型,是C++對C的最重要的發(fā)展。有了類,就可以實現(xiàn)面向?qū)ο蟪绦蛟O(shè)計方法中的封裝、信息隱蔽、繼承、派生、多態(tài)等功能。⑸書寫格式C++程序書寫格式自由,一行內(nèi)可以寫幾個語句,也可以把一個語句寫在多行上。Date261.4C++程序的編寫和實現(xiàn)C++語言是一種高級程序設(shè)計語言,它的開發(fā)過程與其他高級語言程序開發(fā)過程類似,一般要經(jīng)過四個步驟:

編輯編譯鏈接執(zhí)行Date27編輯:用C++語言編寫程序編輯:是指把按照C++語法規(guī)則編寫的程序代碼通過編輯器(BorlandC++,VisualC++6.0,TurboC++)輸入計算機,并存盤。在存盤時,C++源文件的擴展名為.CPP。執(zhí)行:運行程序編譯:將編輯好的C++源程序通過編譯器轉(zhuǎn)換為目標(biāo)文件(OBJ文件)。即生成該源文件的目標(biāo)代碼。即把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序(objectprogram)”。將目標(biāo)文件連接連接:將用戶程序生成的多個目標(biāo)代碼文件(.obj)和系統(tǒng)提供的庫文件(.lib)中的某些代碼連接在一起,生成一個可執(zhí)行文件(.exe)。對源程序進(jìn)行編譯執(zhí)行:把生成的可執(zhí)行文件運行,在屏幕上顯示運行結(jié)果。用戶可以根據(jù)運行結(jié)果來判斷程序是否出錯。注:如果運行結(jié)果不正確,應(yīng)檢查程序或算法是否有問題。Date28本章練習(xí)完成習(xí)題:5、6、7、8、9Date29上機練習(xí)題目上機要求學(xué)會使用VisualC++6.0版本編譯系統(tǒng)完成C++語言的源程序的編譯。

上機題(1)將教材中例1.1的程序輸入計算機,編輯好后存入指定文件夾中,并起一個文件名。用它聯(lián)系一個文件x學(xué)習(xí)編輯、編譯、連接、運行的方法。Date30上機練習(xí)題目上機題(2)將教材中例1.3的程序按照(1)的要求進(jìn)行編輯、編譯、連接和運行。通過此例講解多文件程序的實現(xiàn)。Date31上機練習(xí)題目由兩個文件組成的程序例子第一個文件的名字為:f1.cpp,其內(nèi)容如下:#include<iostream>usingnamespacestd;intmax(intx,inty);intmain(){inta,b,m;cin>>a>>b;m=max(a,b

溫馨提示

  • 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

提交評論