第五講C++語言初步_第1頁
第五講C++語言初步_第2頁
第五講C++語言初步_第3頁
第五講C++語言初步_第4頁
第五講C++語言初步_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第五講C++語言初步5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行1計算機語言與程序設計

所謂語言就是一個字符集加上一個語法規(guī)則集合,按規(guī)則組成的符號序列就是文章。

計算機語言同樣是一個基本符號集合和一個規(guī)則集合的組合,按規(guī)則組成的符號序列就是程序,這個組成過程就是進行程序設計。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行25.1.1基本符號分類字母:由大小寫英文字母共52個符號組成。數(shù)字:由0到9共10個符號組成。特殊符號:由%,&等33個符號組成。(P26)上述符號按C++語法規(guī)則組成的符號序列就是C++程序。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行35.1.2基本符號的ASCII編碼ASCII編碼的中文名稱是“美國標準信息交換碼”。ASCII碼表將95個基本符號(可打印)以及33個控制字符共128個字符和0000000~1111111共128個7位二進制碼建立對應關系。(P27.表2.1)計算機通過基本符號對應的ASCII碼來識別基本符號。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行4在ASCII編碼中,0000000~0011111和1111111這32個二進制碼是控制字符的編碼。嚴格的講,這些字符并不是C++語言的一部分。在ASCII編碼中,0100000~1111110這95個可打印符號構成了C++語言的基本字符集。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行5不同的計算機使用不同的擴展ASCII編碼,符號和編碼的對應關系需具體分析。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行6

詞匯:由一個或者多個基本符號組成的符合規(guī)則的單詞。C++語言的詞匯包括5類單詞:關鍵字

P28標識符

P30字面常量

P30運算符

P33分割符

P345.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行75.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.2.1關鍵字(Keyword)關鍵字又被稱為保留字(Reservedword),C++語言中的關鍵字不得移作它用。(P29.表2.2)使用C++語言編程前,應了解C++語言的當前版本和應用領域,掌握關鍵字集合,避免在編程時誤用。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行85.2.2標識符(Identifier)標識符是程序中各種成分的名字。標識符的組成規(guī)則:標識符以字母或下橫線開始;由字母、數(shù)字、下橫線組成;中間不能有空格。標識符不能是關鍵字。標識符區(qū)分大小寫。標識符有效長度一定。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行9最著名的命名法—“匈牙利”方法由微軟公司推出。主要思想:在變量和函數(shù)名稱中加入前綴以增強人們對程序的理解。例1:采用匈牙利法,所有的字符變量前用ch作為前綴;所有的指針變量前用p作為前綴。 charch_c1,ch_c2;5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行10Windows應用程序命名規(guī)則林銳博士對“匈牙利”命名規(guī)則做了合理簡化?!疽?guī)則1】類名和函數(shù)名用大寫字母開頭的單詞組合而成。classNode;//類名classLeafNode;//類名voidDraw(void);//函數(shù)名voidSetValue(intvalue);//函數(shù)名5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行11【規(guī)則2】變量和參數(shù)用小寫字母開頭的單詞組合而成。BOOLflag;intdrawMode;【規(guī)則3】常量全用大寫的字母,用下劃線分割單詞。constintMAX=100;constintMAX_LENGTH=100;5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行12【規(guī)則4】靜態(tài)變量加前綴s_(表示static)。voidInit(…){staticints_initValue;//靜態(tài)變量}【規(guī)則5】如果不得已使用全局變量,則加前綴g_(表示global)。intg_howManyPeople;//全局變量intg_howMuchMoney;//全局變量5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行13【規(guī)則6】類的數(shù)據(jù)成員加前綴m_(表示member),這樣可以避免數(shù)據(jù)成員與成員函數(shù)的參數(shù)同名。voidObject::SetValue(intwidth,intheight){m_width=width;m_height=height;}5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行14其他常見的標識符命名方法: 下劃線法 駱駝法5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行155.2.3字面常量(literalconstant)字面常量是程序處理的數(shù)據(jù)的值。字面常量分為4種:int型常量float型常量char型常量字符串常量5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行165.2.3.1int型常量int型常量即整型常量,即整數(shù)。C++程序中的int型常量:十進制整數(shù):正常表示;基本字符0~9。如4798,-23,0等。八進制整數(shù):以0開始;基本字符0~7。如02,017,0475等。十六進制整數(shù):以0x開始;基本字符0~9,A~F(大小寫都可)。如0x3D。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行175.2.3.2float型常量float型常量即浮點常量。兩種表示法:(1)小數(shù)點表示法(2)科學表示法 WeJ=Wx10J5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行185.2.3.3char型常量char型常量即字符常量。使用單引號括起來的基本符號就是字符常量。如’A’,’g’,’3’,’!’等。字符常量在計算機內(nèi)部仍以整數(shù)形式存儲。使用字符常量的優(yōu)點是可增強程序的可移值性。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行195.2.3.4字符串常量使用雙括號括起來的字符序列被稱為字符串常量。 字符串常量的長度為該字符串中所有字符的個數(shù)加1。這里,“1”是串尾符“\0”。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行205.2.4運算符(operator)主要是由第3類基本符號構成;此外還包括個別關鍵字。(P33)5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行215.2.3.4字符串常量使用雙括號括起來的字符序列被稱為字符串常量。 字符串常量的長度為該字符串中所有字符的個數(shù)加1。這里,“1”是串尾符“\0”。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行225.2.5分割符(separator)分割符是用于界定或者分割其他語法成分的單詞。主要的分割符:(P34);表示一個句子的結(jié)束?!北硎疽粋€字符串的開始與結(jié)束。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行235.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架

C++語言同時支持結(jié)構程序設計(SP)和面向?qū)ο蟪绦蛟O計(OOP)5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行245.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.3.1C++程序的SP框架結(jié)構程序設計(SP)的基本思想是自頂向下、逐步求精。編程時將復雜問題分解為若干子問題,使用獨立的程序功能模塊完成這些子問題。C++語言中將基本的程序功能模塊稱為函數(shù)。函數(shù)和函數(shù)之間通過全局量、函數(shù)參數(shù)和函數(shù)返回值進行數(shù)據(jù)通信。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行25例:SP框架的C++程序(和C程序基本相似)#include<iostream.h>voidWriteM(intm){cout<<"thisisthevalueofm:"<<m<<"\n";}voidWriteN(intn){cout<<"thisisthevalueofn:"<<n<<"\n";}voidmain(){WriteM(30);WriteN(40);}5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行26SP框架中C++程序的組成部分5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架主函數(shù)用戶定義函數(shù)全局說明庫函數(shù)入口出口5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行275.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架(1)主函數(shù):它是整個程序的主控制模塊,也是整個程序的入口和出口。(2)用戶自定義函數(shù):用戶定義的一個或者多個函數(shù),它們是C++程序的主要部分。(3)庫函數(shù):由系統(tǒng)提供的函數(shù)。(4)全局說明:由各函數(shù)共同使用的常量、變量、自定義類型的說明以及已定義函數(shù)的原型。它是各函數(shù)之間的通信媒介。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行285.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架(5)注釋:一個完整的C++程序必須包含清楚、詳細的注釋。兩種形式:處于符號/*和*/之間的全部符號。處于符號//右側(cè)的全部符號(本行)。注釋與程序的功能、編譯及運行無關。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行295.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架(6)預處理命令:指出編譯C++程序之前應做的預處理工作。以#號開始。(P37)主要的預處理命令:文件嵌入命令(P37)、宏定義命令(P38)和條件編譯命令(P40)。優(yōu)點:有助于各程序模塊之間的協(xié)調(diào)和代碼共享;有利于大型程序的組織和管理。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行30(1)文件嵌入命令(#include)該命令要求系統(tǒng)在編譯程序之前將其指定的文件嵌入到該命令當前位置。兩種主要格式:#include<文件名>#include“文件名”如果要求嵌入系統(tǒng)頭文件時,使用前者;如果要求嵌入自定義頭文件時,使用后者。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行31三點注意:(1)每條文件嵌入命令只能指定一個文件。(2)被包含文件可以嵌套,但應盡量避免。(3)文件嵌入命令將兩個或者多個程序模塊組合成一個源程序,作為整體進行編譯。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行32(2)宏定義命令(#define);取消宏定義命令(#undef)該命令使用宏名代替一段字符串,這段字符串被稱為宏替換體。格式:#define<宏名><宏替換體>例:(P38)#define PI3.14159#define ZERO0.0000015.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行33六點說明(1)宏定義可作為常量說明,其作用類似于常量說明,但二者有區(qū)別。(2)宏名也可出現(xiàn)在另一個宏定義的宏替換體中。(3)宏替換體可以是符號或者字符串。(4)宏替換體可以是可執(zhí)行的表達式。(P38第4個例子)5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行34(5)宏替換體可以為空。其作用是表明該宏名已經(jīng)被定義。(6)帶參數(shù)的宏替換。格式:#define<宏名><形參><宏替換體>這種宏替換實際效果相當于內(nèi)聯(lián)函數(shù)。C++語言中的宏定義命令從C語言繼承而來。C++語言中的const常量說明和inline函數(shù)可取代宏定義命令。因此,在C++語言中,盡量避免使用宏定義命令。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行35SP方法的缺點:(1)SP方法未能充分使用C++語言的主要特征:類和對象。(2)以函數(shù)為中心對程序進行模塊劃分,具有較大隨意性。對程序可讀性、可維護性和可重用性影響較大。(3)除主函數(shù)之外,其余函數(shù)之間沒有層次關系,不利于程序的編制、調(diào)試和重用。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行365.3.2C++程序的OOP框架按面向?qū)ο蟪绦蛟O計思想設計的C++程序,其主體為若干類定義的集合。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架通過逐一設計每個類,最終組合成一個完整程序,就好像通過逐一設計每個部件來設計機床、汽車等復雜產(chǎn)品。類同結(jié)構化中使用的函數(shù)相比最大的優(yōu)點就在于類的繼承性,它使得OOP程序具有可重用性好的特點。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行375.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架類的說明部分:類C1的說明;類C2的說明;。。。。類Cn的說明;主函數(shù)main();類成員函數(shù)的定義:類C1的成員函數(shù)定義;類C2的成員函數(shù)定義;。。。。類Cn的成員函數(shù)定義。注意:VC++中采用MFC編程時,程序結(jié)構中省略了主函數(shù)。5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架5.4C++程序的運行385.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序基本框架#include<iostream.h>classone{intm;doublen;

public:one(inta1){m=a1;n=1.2;cout<<m<<""<<n<<"\n";}one(doublea2){m=0;n=a2;cout<<m<<""<<n<<"\n";}};main(){oneobj1(5);oneobj2(5.3);return0;}5.1C++語言的基本符號5.2C++語言的詞匯5.3C++程序

溫馨提示

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

評論

0/150

提交評論