C的初步知識課件_第1頁
C的初步知識課件_第2頁
C的初步知識課件_第3頁
C的初步知識課件_第4頁
C的初步知識課件_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C++程序設計TheC++ProgrammingCollegeofComputerandInformationEngineering,TianjinNormalUniversity主講:姜麗芬1/2/2023C++程序設計TheC++Programming主課程定位《C++程序設計》是軟件學院的專業基礎課,是《數據結構》、《操作系統》等課程的前導課程。《C++程序設計》是一門實踐性很強的課程,《C++程序設計實驗》被獨立設課、單獨考核。其目的在于強化實踐環節,使大家既能掌握面向對象程序設計的基本概念和方法,又學會編程調試,培養運用C++解決實際問題的能力。1/2/20232課程定位《C++程序設計》是軟件學院的專業基礎課,是《數據結學時安排本學期6周,下學期18周。上課:4學時/周實驗:4學時/周1/2/20233學時安排本學期6周,下學期18周。12/12/2教學要求課前預習、課后復習上課、實驗不得缺席按時完成作業1/2/20234教學要求課前預習、課后復習12/12/20224考核形式考勤、作業占總成績的30%期末考試占總成績的70%上機實驗課單獨考核1/2/20235考核形式考勤、作業占總成績的30%12/12/20225參考書目《C++程序設計題解與上機指導》譚浩強著清華大學出版社.2008年6月《C++程序設計實踐指導》譚浩強等著清華大學出版社.2005年7月《C++語言基礎教程》(第二版)呂鳳翥著清華大學出版社.2007年2月C++HowtoProgram(FifthEdition),H.M.DeitelandP.J.Deitel著電子工業出版社.2008

1/2/20236參考書目《C++程序設計題解與上機指導》譚浩強著清華大學出版C++程序設計第1章C++的初步知識1/2/2023C++程序設計第1章C++的初步知識12/12/2022第1章C++的初步知識1.1從C到C++1.2最簡單的C++程序1.3C++程序的構成和書寫形式1.4C++程序的編寫和實現1.5關于C++上機實踐1/2/20238第1章C++的初步知識1.1從C到C++12/11.1從C到C++1972年為移植UNIX系統,Ritchie發明了C語言,并隨UNIX風靡全球。利用C開發時,采用的是面向過程(OPP)的方法。C語言憑借其靈活性和高效性,自80年代以來在程序設計界占領了廣泛的市場,程序員用它開發了許多重要產品。但是C語言并不是萬能的,隨著軟件工程規模的擴大,C語言的缺陷逐漸顯露出來。比如說,程序量超過50,000行,開發人員達到數十人時,系統維護的工作量就變得相當大,而且系統的整體性也難以保證。1980年貝爾實驗室的BjarneStroustrup對C語言進行了擴充,推出了“Cwithclass”,1982年,正式命名為C++。

1/2/202391.1從C到C++1972年為移植UNIX系統,Ritc1.2最簡單的C++程序

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

//預處理命令//使用命名空間std//主函數首部//函數體開始//函數結束//定義變量//輸入語句//賦值語句//輸出語句//如程序正常結束,向操作系統返回一個零值如果在運行時從鍵盤輸入123456↙則輸出為a+b=579函數體(本行是注釋行)1/2/202311例1.2求a、b兩個數之和//求兩數之和

注釋:

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

#include<iostream>usingnamespacestd;classStudent

{private:

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

intnum;

//私有變量num

doublescore;

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

voidsetdata()

//定義公用函數

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

//輸入num,score的值

voiddisplay()

//定義公用函數

{cout<<"num="<<num<<endl;cout<<"score="<<score<<endl;}//輸出};訪問權限私有的數據成員語句結束符類定義關鍵字公有的成員函數1/2/202315例1.4包含類的C++程序#include<ios例1.4

包含類的C++程序Studentstud1,stud2;intmain(){stud1.setdata();stud2.setdata();stud1.display();stud2.display();return0;}//定義stud1和stud2為//Student類的變量,稱為對象//調用對象stud1的setdata函數//調用對象stud2的setdata函數//調用對象stud1的display函數//調用對象stud2的display函數1/2/202316例1.4包含類的C++程序Studentstud1例1.4包含類的C++程序程序運行情況如下:100198.5↙(輸入學生1的學號和成績)100276.5↙(輸入學生2的學號和成績)num=1001(輸出學生1的學號)score=98.5(輸出學生1的成績)num=1002(輸出學生2的學號)score=76.5(輸出學生2的成績)1/2/202317例1.4包含類的C++程序程序運行情況如下:12/12/1.2最簡單的C++程序

1.學生入學過程程序

2.隨機挑選學生程序1/2/2023181.2最簡單的C++程序 1.學生入學過程程序12/11.3C++程序的構成和書寫形式C++程序的結構和書寫格式歸納如下:

1.一個C++程序可以由一個或多個程序單位構成,每個程序單位作為一個文件。在程序編譯時,編譯系統分別對各個文件進行編譯,因此,一個文件是一個編譯單元。1/2/2023191.3C++程序的構成和書寫形式C++程序的結構和書寫格式1.3C++程序的構成和書寫形式2.在一個程序單位中,可以包括以下幾個部分:

⑴預處理命令

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

在這部分中包括對用戶自己定義的數據類型的聲明和程序中所用到的變量的定義。1/2/2023201.3C++程序的構成和書寫形式2.在一個程序單位中,可以1.3C++程序的構成和書寫形式⑶函數 一個C++程序是由若干個函數構成的。函數分為庫函數(標準函數)和自定義函數。庫函數一般是由系統提供的。一個完整的C++語言程序有且只有一個主函數。定義一個函數的語法格式為: 類型函數名(形式參數表) { 函數體; }1/2/2023211.3C++程序的構成和書寫形式⑶函數定義一個函數的例如:intmax(inta,intb){intt;if(a>b)t=a;elset=b;returnt;}函數體函數首部函數名函數類型函數形參聲明語句執行語句一個C++程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何。1/2/202322例如:函數體函數首部函數名函數類型函數形參聲明語句執行語句一

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

②函數體,即函數首部下面的大括號內的部分。函數體一般包括:局部聲明部分(在函數內的聲明部分)。包括對本函數中所用到的類型、函數的聲明和變量的定義。對數據的聲明既可以放在函數之外(其作用范圍是全局的),也可以放在函數內(其作用范圍是局部的,只在本函數內有效)。執行部分。由若干個執行語句組成,用來進行有關的操作,以實現函數的功能。1/2/202324 ②函數體,即函數首部下面的大括號內的部分。12/12/2*語句包括兩類:一類是聲明語句,另一類是執行語句。C++對每一種語句賦予一種特定的功能。語句是實現操作的基本成分,顯然,沒有語句的函數是沒有意義的。C++語句必須以分號結束。*一個C++程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何。1/2/202325*語句包括兩類:一類是聲明語句,另一類是執行語句。12/1.3C++程序的構成和書寫形式⑷類(class)類是C++新增加的重要的數據類型,是C++對C的最重要的發展。有了類,就可以實現面向對象程序設計方法中的封裝、信息隱蔽、繼承、派生、多態等功能。⑸書寫格式C++程序書寫格式自由,一行內可以寫幾個語句,也可以把一個語句寫在多行上。1/2/2023261.3C++程序的構成和書寫形式⑷類(class)⑸書寫格1.4C++程序的編寫和實現C++語言是一種高級程序設計語言,它的開發過程與其他高級語言程序開發過程類似,一般要經過四個步驟:

編輯編譯鏈接執行1/2/2023271.4C++程序的編寫和實現C++語言是一種編輯:用C++語言編寫程序編輯:是指把按照C++語法規則編寫的程序代碼通過編輯器(BorlandC++,VisualC++6.0,TurboC++)輸入計算機,并存盤。在存盤時,C++源文件的擴展名為.CPP。執行:運行程序編譯:將編輯好的C++源程序通過編譯器轉換為目標文件(OBJ文件)。即生成該源文件的目標代碼。即把源程序翻譯成二進制形式的“目標程序(objectprogram)”。將目標文件連接連接:將用戶程序生成的多個目標代碼文件(.obj)和系統提供的庫文件(.lib)中的某些代碼連接在一起,生成一個可執行文件(.exe)。對源程序進行編譯執行:把生成的可執行文件運行,在屏幕上顯示運行結果。用戶可以根據運行結果來判斷程序是否出錯。注:如果運行結果不正確,應檢查程序或算法是否有問題。1/2/202328編輯:用C++語言編寫程序編輯:是指把按照C++語法規則編寫本章練習完成習題:5、6、7、8、91/2/202329本章練習完成習題:5、6、7、8、912/12/202229上機練習題目上機要求學會使用VisualC++6.0版本編譯系統完成C++語言的源程序的編譯。

上機題(1)將教材中例1.1的程序輸入計算機,編輯好后存入指定文件夾中,并起一個文件名。用它聯系一個文件x學習編輯、編譯、連接、運行的方法。1/2/202330上機練習題目上機要求12/12/202230上機練習題目上機題(2)將教材中例1.3的程序按照(1)的要求進行編輯、編譯、連接和運行。通過此例講解多文件程序的實現。1/2/202331上機練習題目上機題12/12/202231上機練習題目由兩個文件組成的程序例子第一個文件的名字為:f1.cpp,其內容如下:#include<iostream>usingnamespacestd;intmax(intx,inty);intmain(){inta,b,m;cin>>a>>b;m=max(a,b);cout<<"max="<<m<<'\n';return0;}1/2/202332上機練習題目由兩個文件組成的程序例子12/12/202232上機練習題目由兩個文件組成的程序例子第二個文件的名字為:f2.cpp,其內容如下:intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}1/2/202333上機練習題目由兩個文件組成的程序例子12/12/202233上機練習題目自主上機調試題目1.第一個文件的名字為:f1.cpp,其內容如下:#include<iostream>usingnamespacestd;intadd(int,int);intmain(){inta,b;cin>>a>>b;cout<<add(a,b)<<endl;}1/2/202334上機練習題目自主上機調試題目12/12/202234C++程序設計TheC++ProgrammingCollegeofComputerandInformationEngineering,TianjinNormalUniversity主講:姜麗芬1/2/2023C++程序設計TheC++Programming主課程定位《C++程序設計》是軟件學院的專業基礎課,是《數據結構》、《操作系統》等課程的前導課程。《C++程序設計》是一門實踐性很強的課程,《C++程序設計實驗》被獨立設課、單獨考核。其目的在于強化實踐環節,使大家既能掌握面向對象程序設計的基本概念和方法,又學會編程調試,培養運用C++解決實際問題的能力。1/2/202336課程定位《C++程序設計》是軟件學院的專業基礎課,是《數據結學時安排本學期6周,下學期18周。上課:4學時/周實驗:4學時/周1/2/202337學時安排本學期6周,下學期18周。12/12/2教學要求課前預習、課后復習上課、實驗不得缺席按時完成作業1/2/202338教學要求課前預習、課后復習12/12/20224考核形式考勤、作業占總成績的30%期末考試占總成績的70%上機實驗課單獨考核1/2/202339考核形式考勤、作業占總成績的30%12/12/20225參考書目《C++程序設計題解與上機指導》譚浩強著清華大學出版社.2008年6月《C++程序設計實踐指導》譚浩強等著清華大學出版社.2005年7月《C++語言基礎教程》(第二版)呂鳳翥著清華大學出版社.2007年2月C++HowtoProgram(FifthEdition),H.M.DeitelandP.J.Deitel著電子工業出版社.2008

1/2/202340參考書目《C++程序設計題解與上機指導》譚浩強著清華大學出版C++程序設計第1章C++的初步知識1/2/2023C++程序設計第1章C++的初步知識12/12/2022第1章C++的初步知識1.1從C到C++1.2最簡單的C++程序1.3C++程序的構成和書寫形式1.4C++程序的編寫和實現1.5關于C++上機實踐1/2/202342第1章C++的初步知識1.1從C到C++12/11.1從C到C++1972年為移植UNIX系統,Ritchie發明了C語言,并隨UNIX風靡全球。利用C開發時,采用的是面向過程(OPP)的方法。C語言憑借其靈活性和高效性,自80年代以來在程序設計界占領了廣泛的市場,程序員用它開發了許多重要產品。但是C語言并不是萬能的,隨著軟件工程規模的擴大,C語言的缺陷逐漸顯露出來。比如說,程序量超過50,000行,開發人員達到數十人時,系統維護的工作量就變得相當大,而且系統的整體性也難以保證。1980年貝爾實驗室的BjarneStroustrup對C語言進行了擴充,推出了“Cwithclass”,1982年,正式命名為C++。

1/2/2023431.1從C到C++1972年為移植UNIX系統,Ritc1.2最簡單的C++程序

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

//預處理命令//使用命名空間std//主函數首部//函數體開始//函數結束//定義變量//輸入語句//賦值語句//輸出語句//如程序正常結束,向操作系統返回一個零值如果在運行時從鍵盤輸入123456↙則輸出為a+b=579函數體(本行是注釋行)1/2/202345例1.2求a、b兩個數之和//求兩數之和

注釋:

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

#include<iostream>usingnamespacestd;classStudent

{private:

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

intnum;

//私有變量num

doublescore;

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

voidsetdata()

//定義公用函數

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

//輸入num,score的值

voiddisplay()

//定義公用函數

{cout<<"num="<<num<<endl;cout<<"score="<<score<<endl;}//輸出};訪問權限私有的數據成員語句結束符類定義關鍵字公有的成員函數1/2/202349例1.4包含類的C++程序#include<ios例1.4

包含類的C++程序Studentstud1,stud2;intmain(){stud1.setdata();stud2.setdata();stud1.display();stud2.display();return0;}//定義stud1和stud2為//Student類的變量,稱為對象//調用對象stud1的setdata函數//調用對象stud2的setdata函數//調用對象stud1的display函數//調用對象stud2的display函數1/2/202350例1.4包含類的C++程序Studentstud1例1.4包含類的C++程序程序運行情況如下:100198.5↙(輸入學生1的學號和成績)100276.5↙(輸入學生2的學號和成績)num=1001(輸出學生1的學號)score=98.5(輸出學生1的成績)num=1002(輸出學生2的學號)score=76.5(輸出學生2的成績)1/2/202351例1.4包含類的C++程序程序運行情況如下:12/12/1.2最簡單的C++程序

1.學生入學過程程序

2.隨機挑選學生程序1/2/2023521.2最簡單的C++程序 1.學生入學過程程序12/11.3C++程序的構成和書寫形式C++程序的結構和書寫格式歸納如下:

1.一個C++程序可以由一個或多個程序單位構成,每個程序單位作為一個文件。在程序編譯時,編譯系統分別對各個文件進行編譯,因此,一個文件是一個編譯單元。1/2/2023531.3C++程序的構成和書寫形式C++程序的結構和書寫格式1.3C++程序的構成和書寫形式2.在一個程序單位中,可以包括以下幾個部分:

⑴預處理命令

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

在這部分中包括對用戶自己定義的數據類型的聲明和程序中所用到的變量的定義。1/2/2023541.3C++程序的構成和書寫形式2.在一個程序單位中,可以1.3C++程序的構成和書寫形式⑶函數 一個C++程序是由若干個函數構成的。函數分為庫函數(標準函數)和自定義函數。庫函數一般是由系統提供的。一個完整的C++語言程序有且只有一個主函數。定義一個函數的語法格式為: 類型函數名(形式參數表) { 函數體; }1/2/2023551.3C++程序的構成和書寫形式⑶函數定義一個函數的例如:intmax(inta,intb){intt;if(a>b)t=a;elset=b;returnt;}函數體函數首部函數名函數類型函數形參聲明語句執行語句一個C++程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何。1/2/202356例如:函數體函數首部函數名函數類型函數形參聲明語句執行語句一

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

②函數體,即函數首部下面的大括號內的部分。函數體一般包括:局部聲明部分(在函數內的聲明部分)。包括對本函數中所用到的類型、函數的聲明和變量的定義。對數據的聲明既可以放在函數之外(其作用范圍是全局的),也可以放在函數內(其作用范圍是局部的,只在本函數內有效)。執行部分。由若干個執行語句組成,用來進行有關的操作,以實現函數的功能。1/2/202358 ②函數體,即函數首部下面的大括號內的部分。12/12/2*語句包括兩類:一類是聲明語句,另一類是執行語句。C++對每一種語句賦予一種特定的功能。語句是實現操作的基本成分,顯然,沒有語句的函數是沒有意義的。C++語句必須以分號結束。*一個C++程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何。1/2/202359*語句包括兩類:一類是聲明語句,另一類是執行語句。12/1.3C++程序的構成和書寫形式⑷類(class)類是C++新增加的重要的數據類型,是C++對C的最重要的發展。有了類,就可以實現面向對象程序設計方法中的封裝、信息隱蔽、繼承、派生、多態等功能。⑸書寫格式C++程序書寫格式自由,一行內可以寫幾個語句,也可以把一個語句寫在多行上。1/2/2023601.3C++程序的構成和書寫形式⑷類(class)⑸書寫格1.4C++程序的編寫和實現C++語言是一種高級程序設計語言,它的開發過程與其他高級語言程序開發過程類似,一般要經過四個步驟:

編輯編譯鏈接執行1/2/2023611.4C++程序的編寫和實現C++語言是一種編輯:用C++語言編寫程序編輯:是指把按照C++語法規則編寫的程序代碼通過編輯器(Bor

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論