工學(xué)語法基礎(chǔ)課件_第1頁
工學(xué)語法基礎(chǔ)課件_第2頁
工學(xué)語法基礎(chǔ)課件_第3頁
工學(xué)語法基礎(chǔ)課件_第4頁
工學(xué)語法基礎(chǔ)課件_第5頁
已閱讀5頁,還剩161頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++語言程序設(shè)計陳鄭軍C++語言程序設(shè)計陳鄭軍個人簡介辦公電話:68465123電子郵件:chenzhengjun@QQ:6369403個人簡介辦公電話:68465123課程總體教學(xué)設(shè)計著重基礎(chǔ)重點章節(jié)2~6章節(jié)。7、8、9章節(jié)屬于拓展章節(jié)。案例化盡可能將所有的問題都用案例來測試、演示,得到直觀的印象。適當(dāng)作業(yè)章節(jié)作業(yè)講解具有普遍意義的,留部分編程題課后練習(xí)。課程總體教學(xué)設(shè)計著重基礎(chǔ)第一章C++語言概述什么是計算機語言?計算機語言(ComputerLanguage)指用于人與計算機之間通訊的語言。語言分為自然語言與人工語言兩大類。自然語言是人類在自身發(fā)展的過程中形成的語言,是人與人之間傳遞信息的媒介。人工語言指的是人們?yōu)榱四撤N目的而自行設(shè)計的語言。計算機語言就是人工語言的一種。計算機語言是人與計算機之間傳遞信息的媒介。計算機是不能識別與執(zhí)行人類的自然語言的,要使計算機執(zhí)行人們的意志,必須使計算機能識別指令。第一章C++語言概述什么是計算機語言?第一章C++語言概述理解計算機語言計算機程序設(shè)計語言的發(fā)展,經(jīng)歷了從機器語言、匯編語言到高級語言的歷程。計算機語言也可以劃分為另外三類:低級語言、

高級語言、

專用語言1、低級語言機器語言、匯編語言。匯編語言源程序必須經(jīng)過匯編,生成目標(biāo)文件,然后執(zhí)行。2、高級語言BASIC、C、PASCAL、FORTRAN、智能化語言(LISP)等等。高級語言源程序可以用解釋、編譯兩種方式執(zhí)行。3、專用語言CAD系統(tǒng)中的繪圖語言和DBMS的數(shù)據(jù)庫查詢語言,如SQL。第一章C++語言概述理解計算機語言第一章C++語言概述機器語言機器語言是指一臺計算機全部的指令集合。電子計算機所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計算機的語言的基礎(chǔ)。計算機發(fā)明之初,人們只能用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計算機執(zhí)行,這種計算機能夠認(rèn)識的語言,就是機器語言。代表機型:紙帶機,卡片機。因此程序就是一個個的二進(jìn)制文件。一條機器語言成為一條指令。指令是不可分割的最小功能單元。而且,由于每臺計算機的指令系統(tǒng)往往各不相同,所以,在一臺計算機上執(zhí)行的程序,要想在另一臺計算機上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。第一章C++語言概述機器語言第一章C++語言概述匯編語言:為了減輕使用機器語言編程的痛苦,人們進(jìn)行了一種有益的改進(jìn):用一些簡潔的英文字母、符號串來替代一個特定的指令的二進(jìn)制串,比如,用"ADD"代表加法,"MOV"代表數(shù)據(jù)傳遞等等,這樣一來,人們很容易讀懂并理解程序在干什么,糾錯及維護(hù)都變得方便了,這種程序設(shè)計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認(rèn)識這些符號的,這就需要一個專門的程序,專門負(fù)責(zé)將這些符號翻譯成二進(jìn)制數(shù)的機器語言,這種翻譯程序被稱為匯編程序。匯編語言同樣十分依賴于機器硬件,移植性不好,但效率仍十分高,針對計算機特定硬件而編制的匯編語言程序,能準(zhǔn)確發(fā)揮計算機硬件的功能和特長,程序精煉而質(zhì)量高,所以至今仍是一種常用而強有力的軟件開發(fā)工具。第一章C++語言概述匯編語言:第一章C++語言概述高級語言的發(fā)展:從最初與計算機交流的痛苦經(jīng)歷中,人們意識到,應(yīng)該設(shè)計一種這樣的語言,這種語言接近于數(shù)學(xué)語言或人的自然語言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。經(jīng)過努力,1954年,第一個完全脫離機器硬件的高級語言--FORTRAN問世了,40多年來,共有幾百種高級語言出現(xiàn),有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、PL/1、Pascal、C、PROLOG、C++、VC、VB、Delphi、JAVA等。特別要提到的:在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計算機硬件,其可讀性和可移植性都很差;但一般的高級語言又難以實現(xiàn)對計算機硬件的直接操作(這正是匯編語言的優(yōu)勢),于是人們盼望有一種兼有匯編語言和高級語言特性的新語言——C語言。高級語言的發(fā)展也經(jīng)歷了從早期語言到結(jié)構(gòu)化程序設(shè)計語言,從面向過程到非過程化程序語言的過程。相應(yīng)地,軟件的開發(fā)也由最初的個體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。第一章C++語言概述高級語言的發(fā)展:第一章C++語言概述C語言的發(fā)展歷史C語言的原型ALGOL60語言。(也稱為A語言)1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(CombinedProgrammingLanguage)語言。1967年,劍橋大學(xué)的MatinRichards對CPL語言進(jìn)行了簡化,于是產(chǎn)生了BCPL語言。1970年,美國貝爾實驗室的KenThompson將BCPL進(jìn)行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統(tǒng)。而在1973年,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎(chǔ)上最終設(shè)計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。為了使UNIX操作系統(tǒng)推廣,1977年DennisM.Ritchie發(fā)表了不依賴于具體機器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》。即是著名的ANSIC。第一章C++語言概述C語言的發(fā)展歷史第一章C++語言概述C語言的優(yōu)點1.簡潔緊湊、靈活方便2.運算符豐富3.數(shù)據(jù)結(jié)構(gòu)豐富4.C是結(jié)構(gòu)式語言5.C語法限制不太嚴(yán)格,程序設(shè)計自由度大6.C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作7.C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高8.C語言適用范圍大,可移植性好第一章C++語言概述C語言的優(yōu)點第一章C++語言概述C++語言隨著軟件行業(yè)的飛速發(fā)展,大型軟件的開發(fā)提出更多要求,以C語言為代表的結(jié)構(gòu)化程序設(shè)計語言已經(jīng)不能滿足發(fā)展需求。因此面向?qū)ο蠹夹g(shù)應(yīng)運而生,C++語言就是在保留C語言的優(yōu)點基礎(chǔ)上,提供全面的面向?qū)ο缶幊讨С帧1菊n程教學(xué)設(shè)計中根據(jù)教學(xué)大綱要求仍然主要介紹C++的結(jié)構(gòu)化程序設(shè)計,對面向?qū)ο笤O(shè)計部分做了解性介紹。第一章C++語言概述C++語言第一章C++語言概述認(rèn)識C++程序:最簡單的C++程序:voidmain(){}第一章C++語言概述認(rèn)識C++程序:第一章C++語言概述幾個術(shù)語:程序和程序文件:程序即用計算機語言對要完成任務(wù)的描述。程序必須存儲在文本文件中,成為源程序文件。C++的源程序文件擴展名為.CPP。函數(shù)和函數(shù)定義:每個C++程序都是由一個或多個函數(shù)組成,函數(shù)是具有特定功能的程序模塊。函數(shù)定義就是用特定的格式對函數(shù)功能的描述。C++中的函數(shù)包括系統(tǒng)提供的函數(shù),稱庫函數(shù),用戶只需要調(diào)用他們即可完成功能;另一種是用戶自己編寫的函數(shù)稱為自定義函數(shù)。第一章C++語言概述幾個術(shù)語:第一章C++語言概述術(shù)語:主函數(shù):每個C++程序至少有一個函數(shù),這個函數(shù)稱為主函數(shù),約定的函數(shù)名是main。主函數(shù)是程序的入口,一個應(yīng)用程序的執(zhí)行就是從主函數(shù)中第一個語句開始的。#include<iostream.h>main()//主函數(shù){floatr,s;//程序從這句話開始執(zhí)行r=10;s=3.1415926*r*r;cout<<“s=”<<s<<endl;}第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:基本語句和復(fù)合語句:基本語句以分號;作為結(jié)束標(biāo)記,復(fù)合語句則是用大括號{}括起來的語句序列。我們的函數(shù)體就是一個復(fù)合語句。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:變量和常量:常量即通常的一些數(shù)據(jù),如3,“你好”,3.14等等,常量的特征是在程序運行中不可改變。變量則是用來在一個范圍內(nèi)存儲某個數(shù)據(jù)的命名符號標(biāo)識,變量必須先定義后使用變量存儲的內(nèi)容允許改變。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:預(yù)處理命令:#include該命令的作用就是把一個文本文件包含的內(nèi)容插入到該命令處,因此后面要給出參數(shù),該參數(shù)一般稱為頭文件。頭文件:在程序中使用了系統(tǒng)預(yù)先定義的一些內(nèi)容的時候就需要用預(yù)處理命令將這些內(nèi)容插入到當(dāng)前程序文件中來,這些系統(tǒng)預(yù)先定義的內(nèi)容都分門別類的存儲在一些擴展名為.h的文件中,這些文件我們簡稱為頭文件。比如要使用一些基本輸入輸出就需要預(yù)處理:#include<iostream.h>,使用函數(shù)就包含math.h等等。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:表達(dá)式:即變量和常量或者函數(shù)調(diào)用之一或者混合參與運算的描述,如A,A+2,A+sin(2)等等,表達(dá)式。賦值:類似于數(shù)學(xué)描述,用=運算符實現(xiàn)。如A=2,賦值運算的基本要求是運算表達(dá)式的左邊必須是一個變量。第一章C++語言概述術(shù)語:第一章C++語言概述C++的容易出錯地方:1、嚴(yán)格區(qū)分大小寫。C++中大寫和小寫略有不同的內(nèi)容都是不同的,如A,a就是兩個不同的標(biāo)識符。同樣main主函數(shù)也不能寫成Main之類的,否則會被認(rèn)為是新的函數(shù)。輸入輸出cin>>變量[>>變量];將鍵盤輸入保存到變量中。cout<<表達(dá)式[<<表達(dá)式];將表達(dá)式內(nèi)容輸出到屏幕。第一章C++語言概述C++的容易出錯地方:第一章C++語言概述C++語言開發(fā)過程:編輯,生成源程序(.CPP)。編譯,生成目標(biāo)文件(.OBJ)連接,生成可執(zhí)行文件(.EXE)。運行開發(fā)工具:一般選擇VisualC++6.0中文版。第一章C++語言概述C++語言開發(fā)過程:第2章基本數(shù)據(jù)類型與輸入輸出

第2章基本數(shù)據(jù)類型與輸入輸出整數(shù)類型1.

不帶小數(shù)點的數(shù)稱為整數(shù)。例:35000

800040-15整數(shù)類型1.

不帶小數(shù)點的數(shù)稱為整數(shù)。整數(shù)類型2.

整數(shù)類型的分類類型說明長度(字節(jié))表示范圍int整型2-32768~32767unsignedint無符號整型20~65535singnedint有符號整型2-32768~32767shortint短整型2-32768~32767unsignedshortint無符號短整型20~65535singnedshortint有符號短整型2-32768~32767longint長整型4-2147483648~2147483647unsignedlongint無符號長整型40~4294967295singnedlongint有符號長整型4-2147483648~2147483647整數(shù)類型2.

整數(shù)類型的分類類型說明長度(字節(jié))表示范圍i說明:C++中,十進(jìn)制數(shù)有正負(fù)之分,但八進(jìn)制和十六進(jìn)制數(shù)只能表示無符號整數(shù)。所以若寫成-013或-0x50并不能表示負(fù)數(shù)。3.

整數(shù)的其他進(jìn)制表示方法⑴十進(jìn)制整數(shù):123,-456,0⑵八進(jìn)制整數(shù):0540(以0開頭)⑶十六進(jìn)制整數(shù):0X123(以0X開頭)整數(shù)類型說明:C++中,十進(jìn)制數(shù)有正負(fù)之分,但八進(jìn)制和十六進(jìn)制數(shù)只能4.

整型的算術(shù)運算符運算符:+:加號或正號—:減號或負(fù)號*:乘號/:除號 例:5/2=21/2=0%:取余例:17%3=2整數(shù)類型特別要說明一下除法,在C++下當(dāng)除數(shù)和被除數(shù)都是整數(shù)時是整除,結(jié)果是整數(shù),其他情況就是普通除法。如:3/2=1,3.0/2=1.5,3/2.0=1.54.

整型的算術(shù)運算符整數(shù)類型特別要說明一下除法,在C++實數(shù)類型

1.帶有小數(shù)點的數(shù)稱為實數(shù),簡稱實型。5.032.5832-3.14159實數(shù)類型1.帶有小數(shù)點的數(shù)稱為實數(shù),簡稱實型。實數(shù)類型

2.

實數(shù)類型的分類⑴單精度型:float占4B,有效位數(shù)7位。范圍:-3.4×1038~3.4×1038⑵雙精度型:double占8B,有效位數(shù)15位。范圍:-1.7×10308~1.7×10308⑶長雙精度型:longdouble占10B,有效位數(shù)19位。范圍:-3.4×104932~1.1×104932實數(shù)類型2.

實數(shù)類型的分類實數(shù)類型

2.

實數(shù)類型的分類

⑷示例

34.5f

表示float型占4B

34.5表示double型(默認(rèn))占8B

34.5L

表示longdouble占10B實數(shù)類型2.

實數(shù)類型的分類實數(shù)類型

3.

實數(shù)的算術(shù)運算符

運算符

例:

+:加號35.2+21.3=56.5

—:減號23+51.2=74.2

*:乘號35*2.0=70

/:除號9/2=4.5實數(shù)類型3.

實數(shù)的算術(shù)運算符4.算術(shù)表達(dá)式實數(shù)類型例:將代數(shù)式改為C語言表達(dá)式代數(shù)式C語言表達(dá)式2[3+5(3+4)]2*(3+5*(3+4))3a+b3*a+bv0*t+g*t*t/24.算術(shù)表達(dá)式實數(shù)類型例:將代數(shù)式改為C語言表達(dá)式v0*t+注意:每個字符型數(shù)據(jù)在內(nèi)存中是以ASCⅡ碼進(jìn)行存儲,即以整數(shù)進(jìn)行存儲,占1B。例如:‘A’存儲為65'a'存儲為97x1=5+'A'

正確的字符類型1.用單引號引起來的一個字符,稱為字符型常量。用char表示例:'5'

'a'

'A'

'-'

注意:每個字符型數(shù)據(jù)在內(nèi)存中是以ASCⅡ碼進(jìn)行存儲,即以整數(shù)字符類型2.特殊字符型常量

字符類型2.特殊字符型常量⑴符號表示例:'5'

'a''A'⑵特殊轉(zhuǎn)義符表示法(兩種形式)用八進(jìn)制ASCII碼表示:(用\0開頭或者\數(shù)字的表示方法即表示一個8進(jìn)制數(shù)值的字符)

例:\141等價于'a'用十六進(jìn)制ASCII碼表示:(用\X開頭的表示一個16進(jìn)制數(shù)值的字符。)

例:\x61等價于'a'字符類型3.字符型常量的表示方法

⑴符號表示字符類型3.字符型常量的表示方法字符串

1.用雙引號引起來的一串字符就稱為一個字符串。例:"

STRING"

"YEE-8100""-2.644"

"工作單位"2.在C++中,字符串常量總是以‘\0’結(jié)束例:"

Hello"Hello\0字符串1.用雙引號引起來的一串字符就稱為一個字符串。2.⑴字符串是用一個一維字符數(shù)組來存放的,而字符常量可用一個字符型變量來存放。例如:charch;ch='a';正確ch="a";錯誤⑵字符型常量用單引號括起,而字符串用雙引號括起。字符串類型3.關(guān)于字符常量與字符串常量的區(qū)別

⑴字符串是用一個一維字符數(shù)組來存放的,而字符常量可用一個字符⑶一個字符常量被存放在內(nèi)存中只占一個字節(jié),而字符串要占多個字節(jié)。例如:'a'僅占1B,以ASCⅡ存儲;"a"卻占2B,以\0結(jié)束字符串類型3.關(guān)于字符常量與字符串常量的區(qū)別

a\0⑶一個字符常量被存放在內(nèi)存中只占一個字節(jié),而字符串要占多個字1.枚舉是我們接觸的第一個用戶自定義類型,其定義格式如下:

enum

枚舉名{符號表}例:

enumCOLOR{red,yellow,blue,brown,green,white,black};enumWEEKS{sun,mon,tues,wed,thur,fri,sat};枚舉類型1.枚舉是我們接觸的第一個用戶自定義類型,其定義格式如下:枚2.說明COLOR和WEEKS都是枚舉類型名,不是變量,不占內(nèi)存空間。枚舉常量是一種符號常量,其值在內(nèi)存中以整型數(shù)表示。(C++自動給其賦值)用戶可以給符號常量指定枚舉值例:enumCOLOR{red=100,yellow,blue=200,brown,green,white,black}枚舉類型2.說明枚舉類型#include<iostream.h>#definePI3.14159voidmain(){floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}常量定義

1.用預(yù)處理命令#define定義格式:#define<常量名><常量>

#include<iostream.h>常量定義1.用預(yù)#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}常量定義

2.用const命令定義格式:

<類型><常量名>=<表達(dá)式>;

#include<iostream.h>常量定義2.用c常量定義

3.說明⑴習(xí)慣上,符號常量名用大寫,變量用小寫,以示區(qū)別;(示例)⑵常量標(biāo)識符一經(jīng)定義,就不允許改變其值(示例)(3)一般情況下,不建議使用預(yù)定義,推薦使用const定義常值變量。常量定義3.說明(4)用#define定義常量隱含說明了各種類型#defineI-12#defineR231.56#defineCH'A'#defineNAME“王光明”(5)用const定義常量必須定義類型constfloatPI=3.1415926;ConstintX1=5+10;常量定義(4)用#define定義常量隱含說明了各種類型常量定義示例

#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;r=10;r=20;//正確PI=5;//錯誤s=PI*r*r;cout<<“s=”<<s<<endl;}示例七、變量定義1.格式<類型><變量1>,<變量2>,…,<變量n>;

例:inti,j,k;floatx,y;doublex1,y1;charch1,ch2int grade=100;floatradius=12.45;charch='E';七、變量定義1.格式例:在程序中經(jīng)常需要將數(shù)據(jù)輸出到屏幕、打印機、存儲器等。也經(jīng)常需要從鍵盤接受用戶輸入的數(shù)據(jù),這種輸入輸出,在操作系統(tǒng)中稱為I/O操作。在C++中主要用cin和cout來進(jìn)行輸入輸出。I/O操作在程序中經(jīng)常需要將數(shù)據(jù)輸出到屏幕、打印機、存儲器例:cout<<"Hello!"<<"Howareyou!"<<20*(3+77);輸出結(jié)果:Hello!Howareyou!1600I/O操作

1.cout命令格式:cout<<表達(dá)式1<<表達(dá)式2<<…;

例:I/O操作1.cout命令I(lǐng)/O操作

例:#include<iostream.h>#include<string.h>voidmain(){cout<<“字符串\”string\“的長度是:"<<strlen("string")<<endl;cout<<“字符串\”string\“占用空間是:"<<sizeof("string")<<endl;}I/O操作例:I/O操作執(zhí)行該程序輸出如下結(jié)果:字符串“string”的長度是:6字符串“string”占用的空間是:7(原因是字符串結(jié)尾符號\0不計入長度,但是要占用空間)I/O操作執(zhí)行該程序輸出如下結(jié)果:3.Cin輸入語句格式如下:

cin>>變量1>>變量2>>…;例如:inta,b;cin>>a>>b;要求從鍵盤上輸入兩個int型數(shù)。在鍵盤上輸入4320這時,變量a獲取值為43,變量b獲取值20。說明:從鍵盤上輸入數(shù)值時兩個值之間一般用空格分隔,也可以用tab鍵或換行符。I/O操作

3.Cin輸入語句I/O操作例如:#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;cout<<"r=";cin>>r;s=PI*r*r;cout<<"s="<<s<<endl;}運行過程:輸入:r=10輸出:s=314.159例如:運行過程:變量、常量、函數(shù)調(diào)用或者他們之間的運算式都稱為表達(dá)式。1.算術(shù)表達(dá)式+,加法-,減法*,乘法/,除法,注意整除%,求余,兩個運算數(shù)都必須是整數(shù)+,正數(shù),較少使用,一般對常量-,負(fù)數(shù),較少使用,一般對常量表達(dá)式變量、常量、函數(shù)調(diào)用或者他們之間的運算式都稱為表達(dá)式。表達(dá)式位操作運算位操作運算能力是一個語言是否有底層控制能力的標(biāo)志,即按照二進(jìn)制數(shù)來進(jìn)行運算。常用運算符<<,位左移>>,位右移|,按位或&,按位與^,按位異或~,按位求反位操作運算位操作運算能力是一個語言是否有底層控制能力的標(biāo)志,位操作運算數(shù)值位運算后結(jié)果:左移和右移中溢出的將被舍棄,不足補入位0。5<<2的值是20,2>>1的值是1。位操作后的結(jié)果不是簡單的結(jié)果,運用反碼、原碼知識理解。對于有符號數(shù)的反碼有個規(guī)律:~2的值是-3,即~a=-(a+1)。位操作運算數(shù)值位運算后結(jié)果:位操作運算應(yīng)用控制外設(shè)C++下可以直接調(diào)用匯編對外設(shè)端口進(jìn)行操作。簡單加密技術(shù)利用(X^Y)^Y=X數(shù)組章節(jié)部分介紹這個案例位操作運算應(yīng)用1.簡單變量賦值⑴語句格式:變量=表達(dá)式;⑵功能①具有傳送數(shù)據(jù)的功能;②具有計算的功能。變量賦值1.簡單變量賦值變量賦值例:#include<iostream.h>#definePI3.14159voidmain(){floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}變量賦值例:變量賦值2.多重賦值運算格式:變量1=變量2=…=變量n=表達(dá)式例:a=b=c=8/2;(a、b、c的值都為4)a=5+(c=6);(c=6、a=11)a=(b=4)+(c=6);(a=10,b=4,c=6)a=(b=10)/(c=2);(a=5,b=10,c=2)變量賦值2.多重賦值運算變量賦值

5.復(fù)合賦值運算格式:<變量><運算符>=<表達(dá)式>例:a+=5x*=y+10x%=3三.變量賦值a=a+5x=x*(y+10)x=x%35.復(fù)合賦值運算三.變量賦值a=a+5x=x*(y+10)

5.賦值運算常見錯誤(1)給不是變量的表達(dá)式賦值a+5=10(2)復(fù)合賦值的理解錯誤a=a*5+10,寫成a*=5+10變量賦值5.賦值運算常見錯誤變量賦值3.增運算:++⑴++i

使用之前i的值加1

例:n=5;i=3;x=n+(++i);運行后:i=4、x=9變量賦值3.增運算:++變量賦值3.增運算:++⑵i++使用之后i的值加1例:n=5;i=3;x=n+(i++);

運行后:i=4、x=8變量賦值3.增運算:++變量賦值4.自減運算:--⑴.--i

使用之前i的值減1例:n=5;i=3;x=n+(--i);運行后:i=2、x=7變量賦值4.自減運算:--變量賦值4.自減運算:--⑵.i--

使用之后i的值減1例:n=5;i=3;x=n+(i--);運行后:i=2、x=8變量賦值4.自減運算:--變量賦值說明:⑴自增運算符(++)、自減運算符(--),只能用于變量,而不能用于常量和表達(dá)式。例如:5++、(a+b)--是錯誤的。說明說明:說明⑶C++語言的表達(dá)式中有多個運算符時,處理原則是“從左到右”。例:i+++j應(yīng)該理解為(i++)+j。

i+(++j)

是錯誤的說明⑶C++語言的表達(dá)式中有多個運算符時,處理原則是“從左到右”在c++表達(dá)式中可以同時出現(xiàn)多個數(shù)據(jù)類型,這些不同類型必須轉(zhuǎn)換成統(tǒng)一類型才能實現(xiàn)表達(dá)式的求值。C++中有兩種轉(zhuǎn)換方式:自動轉(zhuǎn)換強制轉(zhuǎn)換類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換在c++表達(dá)式中可以同時出現(xiàn)多個數(shù)據(jù)類型,這些不同類型必須轉(zhuǎn)自動轉(zhuǎn)換自動轉(zhuǎn)換是小類型能夠自動轉(zhuǎn)換成與之兼容的更大的類型,不會損失數(shù)據(jù)。類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換自動轉(zhuǎn)換類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換自動轉(zhuǎn)換doublex;x=10+9;x=10+’a’;類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換自動轉(zhuǎn)換類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換強制類型轉(zhuǎn)換凡是不能自動轉(zhuǎn)換的,必須進(jìn)行強制轉(zhuǎn)換才能進(jìn)行運算,強制類型轉(zhuǎn)換一般是大類型到小類型,可能會損失數(shù)據(jù)。格式:(類型修飾符)表達(dá)式類型修飾符(表達(dá)式)說明強制類型轉(zhuǎn)換說明強制轉(zhuǎn)換charc;c=char(100);c=char(‘A’+32)類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換強制轉(zhuǎn)換類型的自動轉(zhuǎn)化與強制轉(zhuǎn)換邏輯表達(dá)式通常是關(guān)系表達(dá)式的再運算。關(guān)系表達(dá)式由表達(dá)式和關(guān)系運算符組成,C++下的關(guān)系運算符也區(qū)別于數(shù)學(xué)上的運算符。關(guān)系運算的結(jié)果是邏輯值。數(shù)學(xué)運算符C++語言運算符>>≥>=<<≤<====≠!=邏輯表達(dá)式邏輯表達(dá)式通常是關(guān)系表達(dá)式的再運算。邏輯表達(dá)式例:若a=20,b=15,c=0關(guān)系式成立否結(jié)果

a>ba-b<102*a==3*bb*b>=400a+b!=a*b‘A’<’B’c>a+b等價于c>(a+b)a>b!=c等價于(a>b)!=ca==b<c等價于a==(b<c)表達(dá)式成立True成立True不成立False不成立False成立True成立True不成立False成立True不成立False例:若a=20,b=15,c=0表達(dá)式成立True成立Tru3.

多個關(guān)系表達(dá)式和運算符組成邏輯表達(dá)式。邏輯運算符只有三個,如下:

&&與||或!非表達(dá)式0≤x<50≤x并且x<50<=x&&x<5X≠5X!=5X<10,X>100X<10||x>1003.

多個關(guān)系表達(dá)式和運算符組成邏輯表達(dá)式。表達(dá)式0≤x<⑵邏輯表達(dá)式的計算例:若x=5y=100!(x*y==500)&&(x>0)||(x<10)結(jié)果為:True表達(dá)式⑵邏輯表達(dá)式的計算表達(dá)式6.

逗號表達(dá)式格式:表達(dá)式1,表達(dá)式2,…,表達(dá)式n功能:按照“從左到右”的順序,先計算表達(dá)式1,將其值代入表達(dá)式2,再計算表達(dá)式2,…,最后計算表達(dá)式n,整個表達(dá)式的值等于最后表達(dá)式n的值。變量賦值6.逗號表達(dá)式變量賦值例: 3+5,6+8表達(dá)式的值為14 a=3*5,a*4 先求解a=3*5,得a的值為15,然后求解a*4,得60,整個表達(dá)式的值為60。變量賦值例:變量賦值 例如:a=3*5,a*4,a+5 先求解a=3*5,得a的值為15,然后求解a*4(但a的值沒有改變,仍然為15),再計算a+5得20,整個表達(dá)式的值為20。變量賦值 例如:a=3*5,a*4,a+5變量賦值 x=(a=3,6*a)

先將3賦值給變量a,然后計算6*a得18,最后將整個表達(dá)式的值18賦值給變量x。

x=a=3,6*a先將3分別賦值給變量x,a,然后計算6*a得18,整個表達(dá)式的值為18。變量賦值 x=(a=3,6*a)變量賦值7.求值次序與副作用在表達(dá)式中,同一個程序在不同的C++版本中在求值次序或者運算結(jié)果有可能不同。對于運算優(yōu)先級問題,可以參看教材后表(p345),程序設(shè)計中盡可能用清晰的括號表示,避免邏輯錯誤。變量賦值7.求值次序與副作用變量賦值 ⑴不同的求值順序例如:

#include<iostream.h> voidmain() {floata=3,b=5,c; c=a*b+++b; cout<<c<<endl;}變量賦值運行結(jié)果在VC6.0中:20 ⑴不同的求值順序變量賦值運行結(jié)果⑵求值順序使交換率失去作用

a+b=b+a例如:#include<iostream.h>voidmain(){floata=3,b=5,c;

c=a*b+(++b);c=(++b)+a*b cout<<c<<endl;}變量賦值運行結(jié)果左:21右:24⑵求值順序使交換率失去作用變量賦值運行結(jié)果⑶求值順序使括號失去作用例如:#include<iostream.h>voidmain(){floata=3,b=5,c;

c=++b*(a+b) cout<<c<<endl;}變量賦值⑶求值順序使括號失去作用變量賦值 分析:預(yù)想的操作應(yīng)為先做a+b得8,然后乘以++b得6*8=48,但實際上在VC6.0中是先計算++b得b=6,然后6*(3+6)=54變量賦值 分析:預(yù)想的操作應(yīng)為先做a+b得8,然后乘以++b得6*8C++語言程序設(shè)計陳鄭軍C++語言程序設(shè)計陳鄭軍個人簡介辦公電話:68465123電子郵件:chenzhengjun@QQ:6369403個人簡介辦公電話:68465123課程總體教學(xué)設(shè)計著重基礎(chǔ)重點章節(jié)2~6章節(jié)。7、8、9章節(jié)屬于拓展章節(jié)。案例化盡可能將所有的問題都用案例來測試、演示,得到直觀的印象。適當(dāng)作業(yè)章節(jié)作業(yè)講解具有普遍意義的,留部分編程題課后練習(xí)。課程總體教學(xué)設(shè)計著重基礎(chǔ)第一章C++語言概述什么是計算機語言?計算機語言(ComputerLanguage)指用于人與計算機之間通訊的語言。語言分為自然語言與人工語言兩大類。自然語言是人類在自身發(fā)展的過程中形成的語言,是人與人之間傳遞信息的媒介。人工語言指的是人們?yōu)榱四撤N目的而自行設(shè)計的語言。計算機語言就是人工語言的一種。計算機語言是人與計算機之間傳遞信息的媒介。計算機是不能識別與執(zhí)行人類的自然語言的,要使計算機執(zhí)行人們的意志,必須使計算機能識別指令。第一章C++語言概述什么是計算機語言?第一章C++語言概述理解計算機語言計算機程序設(shè)計語言的發(fā)展,經(jīng)歷了從機器語言、匯編語言到高級語言的歷程。計算機語言也可以劃分為另外三類:低級語言、

高級語言、

專用語言1、低級語言機器語言、匯編語言。匯編語言源程序必須經(jīng)過匯編,生成目標(biāo)文件,然后執(zhí)行。2、高級語言BASIC、C、PASCAL、FORTRAN、智能化語言(LISP)等等。高級語言源程序可以用解釋、編譯兩種方式執(zhí)行。3、專用語言CAD系統(tǒng)中的繪圖語言和DBMS的數(shù)據(jù)庫查詢語言,如SQL。第一章C++語言概述理解計算機語言第一章C++語言概述機器語言機器語言是指一臺計算機全部的指令集合。電子計算機所使用的是由“0”和“1”組成的二進(jìn)制數(shù),二進(jìn)制是計算機的語言的基礎(chǔ)。計算機發(fā)明之初,人們只能用計算機的語言去命令計算機干這干那,一句話,就是寫出一串串由“0”和“1”組成的指令序列交由計算機執(zhí)行,這種計算機能夠認(rèn)識的語言,就是機器語言。代表機型:紙帶機,卡片機。因此程序就是一個個的二進(jìn)制文件。一條機器語言成為一條指令。指令是不可分割的最小功能單元。而且,由于每臺計算機的指令系統(tǒng)往往各不相同,所以,在一臺計算機上執(zhí)行的程序,要想在另一臺計算機上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對特定型號計算機的語言,故而運算效率是所有語言中最高的。機器語言,是第一代計算機語言。第一章C++語言概述機器語言第一章C++語言概述匯編語言:為了減輕使用機器語言編程的痛苦,人們進(jìn)行了一種有益的改進(jìn):用一些簡潔的英文字母、符號串來替代一個特定的指令的二進(jìn)制串,比如,用"ADD"代表加法,"MOV"代表數(shù)據(jù)傳遞等等,這樣一來,人們很容易讀懂并理解程序在干什么,糾錯及維護(hù)都變得方便了,這種程序設(shè)計語言就稱為匯編語言,即第二代計算機語言。然而計算機是不認(rèn)識這些符號的,這就需要一個專門的程序,專門負(fù)責(zé)將這些符號翻譯成二進(jìn)制數(shù)的機器語言,這種翻譯程序被稱為匯編程序。匯編語言同樣十分依賴于機器硬件,移植性不好,但效率仍十分高,針對計算機特定硬件而編制的匯編語言程序,能準(zhǔn)確發(fā)揮計算機硬件的功能和特長,程序精煉而質(zhì)量高,所以至今仍是一種常用而強有力的軟件開發(fā)工具。第一章C++語言概述匯編語言:第一章C++語言概述高級語言的發(fā)展:從最初與計算機交流的痛苦經(jīng)歷中,人們意識到,應(yīng)該設(shè)計一種這樣的語言,這種語言接近于數(shù)學(xué)語言或人的自然語言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。經(jīng)過努力,1954年,第一個完全脫離機器硬件的高級語言--FORTRAN問世了,40多年來,共有幾百種高級語言出現(xiàn),有重要意義的有幾十種,影響較大、使用較普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、PL/1、Pascal、C、PROLOG、C++、VC、VB、Delphi、JAVA等。特別要提到的:在C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計算機硬件,其可讀性和可移植性都很差;但一般的高級語言又難以實現(xiàn)對計算機硬件的直接操作(這正是匯編語言的優(yōu)勢),于是人們盼望有一種兼有匯編語言和高級語言特性的新語言——C語言。高級語言的發(fā)展也經(jīng)歷了從早期語言到結(jié)構(gòu)化程序設(shè)計語言,從面向過程到非過程化程序語言的過程。相應(yīng)地,軟件的開發(fā)也由最初的個體手工作坊式的封閉式生產(chǎn),發(fā)展為產(chǎn)業(yè)化、流水線式的工業(yè)化生產(chǎn)。第一章C++語言概述高級語言的發(fā)展:第一章C++語言概述C語言的發(fā)展歷史C語言的原型ALGOL60語言。(也稱為A語言)1963年,劍橋大學(xué)將ALGOL60語言發(fā)展成為CPL(CombinedProgrammingLanguage)語言。1967年,劍橋大學(xué)的MatinRichards對CPL語言進(jìn)行了簡化,于是產(chǎn)生了BCPL語言。1970年,美國貝爾實驗室的KenThompson將BCPL進(jìn)行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統(tǒng)。而在1973年,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎(chǔ)上最終設(shè)計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。為了使UNIX操作系統(tǒng)推廣,1977年DennisM.Ritchie發(fā)表了不依賴于具體機器系統(tǒng)的C語言編譯文本《可移植的C語言編譯程序》。即是著名的ANSIC。第一章C++語言概述C語言的發(fā)展歷史第一章C++語言概述C語言的優(yōu)點1.簡潔緊湊、靈活方便2.運算符豐富3.數(shù)據(jù)結(jié)構(gòu)豐富4.C是結(jié)構(gòu)式語言5.C語法限制不太嚴(yán)格,程序設(shè)計自由度大6.C語言允許直接訪問物理地址,可以直接對硬件進(jìn)行操作7.C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高8.C語言適用范圍大,可移植性好第一章C++語言概述C語言的優(yōu)點第一章C++語言概述C++語言隨著軟件行業(yè)的飛速發(fā)展,大型軟件的開發(fā)提出更多要求,以C語言為代表的結(jié)構(gòu)化程序設(shè)計語言已經(jīng)不能滿足發(fā)展需求。因此面向?qū)ο蠹夹g(shù)應(yīng)運而生,C++語言就是在保留C語言的優(yōu)點基礎(chǔ)上,提供全面的面向?qū)ο缶幊讨С帧1菊n程教學(xué)設(shè)計中根據(jù)教學(xué)大綱要求仍然主要介紹C++的結(jié)構(gòu)化程序設(shè)計,對面向?qū)ο笤O(shè)計部分做了解性介紹。第一章C++語言概述C++語言第一章C++語言概述認(rèn)識C++程序:最簡單的C++程序:voidmain(){}第一章C++語言概述認(rèn)識C++程序:第一章C++語言概述幾個術(shù)語:程序和程序文件:程序即用計算機語言對要完成任務(wù)的描述。程序必須存儲在文本文件中,成為源程序文件。C++的源程序文件擴展名為.CPP。函數(shù)和函數(shù)定義:每個C++程序都是由一個或多個函數(shù)組成,函數(shù)是具有特定功能的程序模塊。函數(shù)定義就是用特定的格式對函數(shù)功能的描述。C++中的函數(shù)包括系統(tǒng)提供的函數(shù),稱庫函數(shù),用戶只需要調(diào)用他們即可完成功能;另一種是用戶自己編寫的函數(shù)稱為自定義函數(shù)。第一章C++語言概述幾個術(shù)語:第一章C++語言概述術(shù)語:主函數(shù):每個C++程序至少有一個函數(shù),這個函數(shù)稱為主函數(shù),約定的函數(shù)名是main。主函數(shù)是程序的入口,一個應(yīng)用程序的執(zhí)行就是從主函數(shù)中第一個語句開始的。#include<iostream.h>main()//主函數(shù){floatr,s;//程序從這句話開始執(zhí)行r=10;s=3.1415926*r*r;cout<<“s=”<<s<<endl;}第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:基本語句和復(fù)合語句:基本語句以分號;作為結(jié)束標(biāo)記,復(fù)合語句則是用大括號{}括起來的語句序列。我們的函數(shù)體就是一個復(fù)合語句。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:變量和常量:常量即通常的一些數(shù)據(jù),如3,“你好”,3.14等等,常量的特征是在程序運行中不可改變。變量則是用來在一個范圍內(nèi)存儲某個數(shù)據(jù)的命名符號標(biāo)識,變量必須先定義后使用變量存儲的內(nèi)容允許改變。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:預(yù)處理命令:#include該命令的作用就是把一個文本文件包含的內(nèi)容插入到該命令處,因此后面要給出參數(shù),該參數(shù)一般稱為頭文件。頭文件:在程序中使用了系統(tǒng)預(yù)先定義的一些內(nèi)容的時候就需要用預(yù)處理命令將這些內(nèi)容插入到當(dāng)前程序文件中來,這些系統(tǒng)預(yù)先定義的內(nèi)容都分門別類的存儲在一些擴展名為.h的文件中,這些文件我們簡稱為頭文件。比如要使用一些基本輸入輸出就需要預(yù)處理:#include<iostream.h>,使用函數(shù)就包含math.h等等。第一章C++語言概述術(shù)語:第一章C++語言概述術(shù)語:表達(dá)式:即變量和常量或者函數(shù)調(diào)用之一或者混合參與運算的描述,如A,A+2,A+sin(2)等等,表達(dá)式。賦值:類似于數(shù)學(xué)描述,用=運算符實現(xiàn)。如A=2,賦值運算的基本要求是運算表達(dá)式的左邊必須是一個變量。第一章C++語言概述術(shù)語:第一章C++語言概述C++的容易出錯地方:1、嚴(yán)格區(qū)分大小寫。C++中大寫和小寫略有不同的內(nèi)容都是不同的,如A,a就是兩個不同的標(biāo)識符。同樣main主函數(shù)也不能寫成Main之類的,否則會被認(rèn)為是新的函數(shù)。輸入輸出cin>>變量[>>變量];將鍵盤輸入保存到變量中。cout<<表達(dá)式[<<表達(dá)式];將表達(dá)式內(nèi)容輸出到屏幕。第一章C++語言概述C++的容易出錯地方:第一章C++語言概述C++語言開發(fā)過程:編輯,生成源程序(.CPP)。編譯,生成目標(biāo)文件(.OBJ)連接,生成可執(zhí)行文件(.EXE)。運行開發(fā)工具:一般選擇VisualC++6.0中文版。第一章C++語言概述C++語言開發(fā)過程:第2章基本數(shù)據(jù)類型與輸入輸出

第2章基本數(shù)據(jù)類型與輸入輸出整數(shù)類型1.

不帶小數(shù)點的數(shù)稱為整數(shù)。例:35000

800040-15整數(shù)類型1.

不帶小數(shù)點的數(shù)稱為整數(shù)。整數(shù)類型2.

整數(shù)類型的分類類型說明長度(字節(jié))表示范圍int整型2-32768~32767unsignedint無符號整型20~65535singnedint有符號整型2-32768~32767shortint短整型2-32768~32767unsignedshortint無符號短整型20~65535singnedshortint有符號短整型2-32768~32767longint長整型4-2147483648~2147483647unsignedlongint無符號長整型40~4294967295singnedlongint有符號長整型4-2147483648~2147483647整數(shù)類型2.

整數(shù)類型的分類類型說明長度(字節(jié))表示范圍i說明:C++中,十進(jìn)制數(shù)有正負(fù)之分,但八進(jìn)制和十六進(jìn)制數(shù)只能表示無符號整數(shù)。所以若寫成-013或-0x50并不能表示負(fù)數(shù)。3.

整數(shù)的其他進(jìn)制表示方法⑴十進(jìn)制整數(shù):123,-456,0⑵八進(jìn)制整數(shù):0540(以0開頭)⑶十六進(jìn)制整數(shù):0X123(以0X開頭)整數(shù)類型說明:C++中,十進(jìn)制數(shù)有正負(fù)之分,但八進(jìn)制和十六進(jìn)制數(shù)只能4.

整型的算術(shù)運算符運算符:+:加號或正號—:減號或負(fù)號*:乘號/:除號 例:5/2=21/2=0%:取余例:17%3=2整數(shù)類型特別要說明一下除法,在C++下當(dāng)除數(shù)和被除數(shù)都是整數(shù)時是整除,結(jié)果是整數(shù),其他情況就是普通除法。如:3/2=1,3.0/2=1.5,3/2.0=1.54.

整型的算術(shù)運算符整數(shù)類型特別要說明一下除法,在C++實數(shù)類型

1.帶有小數(shù)點的數(shù)稱為實數(shù),簡稱實型。5.032.5832-3.14159實數(shù)類型1.帶有小數(shù)點的數(shù)稱為實數(shù),簡稱實型。實數(shù)類型

2.

實數(shù)類型的分類⑴單精度型:float占4B,有效位數(shù)7位。范圍:-3.4×1038~3.4×1038⑵雙精度型:double占8B,有效位數(shù)15位。范圍:-1.7×10308~1.7×10308⑶長雙精度型:longdouble占10B,有效位數(shù)19位。范圍:-3.4×104932~1.1×104932實數(shù)類型2.

實數(shù)類型的分類實數(shù)類型

2.

實數(shù)類型的分類

⑷示例

34.5f

表示float型占4B

34.5表示double型(默認(rèn))占8B

34.5L

表示longdouble占10B實數(shù)類型2.

實數(shù)類型的分類實數(shù)類型

3.

實數(shù)的算術(shù)運算符

運算符

例:

+:加號35.2+21.3=56.5

—:減號23+51.2=74.2

*:乘號35*2.0=70

/:除號9/2=4.5實數(shù)類型3.

實數(shù)的算術(shù)運算符4.算術(shù)表達(dá)式實數(shù)類型例:將代數(shù)式改為C語言表達(dá)式代數(shù)式C語言表達(dá)式2[3+5(3+4)]2*(3+5*(3+4))3a+b3*a+bv0*t+g*t*t/24.算術(shù)表達(dá)式實數(shù)類型例:將代數(shù)式改為C語言表達(dá)式v0*t+注意:每個字符型數(shù)據(jù)在內(nèi)存中是以ASCⅡ碼進(jìn)行存儲,即以整數(shù)進(jìn)行存儲,占1B。例如:‘A’存儲為65'a'存儲為97x1=5+'A'

正確的字符類型1.用單引號引起來的一個字符,稱為字符型常量。用char表示例:'5'

'a'

'A'

'-'

注意:每個字符型數(shù)據(jù)在內(nèi)存中是以ASCⅡ碼進(jìn)行存儲,即以整數(shù)字符類型2.特殊字符型常量

字符類型2.特殊字符型常量⑴符號表示例:'5'

'a''A'⑵特殊轉(zhuǎn)義符表示法(兩種形式)用八進(jìn)制ASCII碼表示:(用\0開頭或者\數(shù)字的表示方法即表示一個8進(jìn)制數(shù)值的字符)

例:\141等價于'a'用十六進(jìn)制ASCII碼表示:(用\X開頭的表示一個16進(jìn)制數(shù)值的字符。)

例:\x61等價于'a'字符類型3.字符型常量的表示方法

⑴符號表示字符類型3.字符型常量的表示方法字符串

1.用雙引號引起來的一串字符就稱為一個字符串。例:"

STRING"

"YEE-8100""-2.644"

"工作單位"2.在C++中,字符串常量總是以‘\0’結(jié)束例:"

Hello"Hello\0字符串1.用雙引號引起來的一串字符就稱為一個字符串。2.⑴字符串是用一個一維字符數(shù)組來存放的,而字符常量可用一個字符型變量來存放。例如:charch;ch='a';正確ch="a";錯誤⑵字符型常量用單引號括起,而字符串用雙引號括起。字符串類型3.關(guān)于字符常量與字符串常量的區(qū)別

⑴字符串是用一個一維字符數(shù)組來存放的,而字符常量可用一個字符⑶一個字符常量被存放在內(nèi)存中只占一個字節(jié),而字符串要占多個字節(jié)。例如:'a'僅占1B,以ASCⅡ存儲;"a"卻占2B,以\0結(jié)束字符串類型3.關(guān)于字符常量與字符串常量的區(qū)別

a\0⑶一個字符常量被存放在內(nèi)存中只占一個字節(jié),而字符串要占多個字1.枚舉是我們接觸的第一個用戶自定義類型,其定義格式如下:

enum

枚舉名{符號表}例:

enumCOLOR{red,yellow,blue,brown,green,white,black};enumWEEKS{sun,mon,tues,wed,thur,fri,sat};枚舉類型1.枚舉是我們接觸的第一個用戶自定義類型,其定義格式如下:枚2.說明COLOR和WEEKS都是枚舉類型名,不是變量,不占內(nèi)存空間。枚舉常量是一種符號常量,其值在內(nèi)存中以整型數(shù)表示。(C++自動給其賦值)用戶可以給符號常量指定枚舉值例:enumCOLOR{red=100,yellow,blue=200,brown,green,white,black}枚舉類型2.說明枚舉類型#include<iostream.h>#definePI3.14159voidmain(){floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}常量定義

1.用預(yù)處理命令#define定義格式:#define<常量名><常量>

#include<iostream.h>常量定義1.用預(yù)#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}常量定義

2.用const命令定義格式:

<類型><常量名>=<表達(dá)式>;

#include<iostream.h>常量定義2.用c常量定義

3.說明⑴習(xí)慣上,符號常量名用大寫,變量用小寫,以示區(qū)別;(示例)⑵常量標(biāo)識符一經(jīng)定義,就不允許改變其值(示例)(3)一般情況下,不建議使用預(yù)定義,推薦使用const定義常值變量。常量定義3.說明(4)用#define定義常量隱含說明了各種類型#defineI-12#defineR231.56#defineCH'A'#defineNAME“王光明”(5)用const定義常量必須定義類型constfloatPI=3.1415926;ConstintX1=5+10;常量定義(4)用#define定義常量隱含說明了各種類型常量定義示例

#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;r=10;r=20;//正確PI=5;//錯誤s=PI*r*r;cout<<“s=”<<s<<endl;}示例七、變量定義1.格式<類型><變量1>,<變量2>,…,<變量n>;

例:inti,j,k;floatx,y;doublex1,y1;charch1,ch2int grade=100;floatradius=12.45;charch='E';七、變量定義1.格式例:在程序中經(jīng)常需要將數(shù)據(jù)輸出到屏幕、打印機、存儲器等。也經(jīng)常需要從鍵盤接受用戶輸入的數(shù)據(jù),這種輸入輸出,在操作系統(tǒng)中稱為I/O操作。在C++中主要用cin和cout來進(jìn)行輸入輸出。I/O操作在程序中經(jīng)常需要將數(shù)據(jù)輸出到屏幕、打印機、存儲器例:cout<<"Hello!"<<"Howareyou!"<<20*(3+77);輸出結(jié)果:Hello!Howareyou!1600I/O操作

1.cout命令格式:cout<<表達(dá)式1<<表達(dá)式2<<…;

例:I/O操作1.cout命令I(lǐng)/O操作

例:#include<iostream.h>#include<string.h>voidmain(){cout<<“字符串\”string\“的長度是:"<<strlen("string")<<endl;cout<<“字符串\”string\“占用空間是:"<<sizeof("string")<<endl;}I/O操作例:I/O操作執(zhí)行該程序輸出如下結(jié)果:字符串“string”的長度是:6字符串“string”占用的空間是:7(原因是字符串結(jié)尾符號\0不計入長度,但是要占用空間)I/O操作執(zhí)行該程序輸出如下結(jié)果:3.Cin輸入語句格式如下:

cin>>變量1>>變量2>>…;例如:inta,b;cin>>a>>b;要求從鍵盤上輸入兩個int型數(shù)。在鍵盤上輸入4320這時,變量a獲取值為43,變量b獲取值20。說明:從鍵盤上輸入數(shù)值時兩個值之間一般用空格分隔,也可以用tab鍵或換行符。I/O操作

3.Cin輸入語句I/O操作例如:#include<iostream.h>voidmain(){constfloatPI=3.1415926;floatr,s;cout<<"r=";cin>>r;s=PI*r*r;cout<<"s="<<s<<endl;}運行過程:輸入:r=10輸出:s=314.159例如:運行過程:變量、常量、函數(shù)調(diào)用或者他們之間的運算式都稱為表達(dá)式。1.算術(shù)表達(dá)式+,加法-,減法*,乘法/,除法,注意整除%,求余,兩個運算數(shù)都必須是整數(shù)+,正數(shù),較少使用,一般對常量-,負(fù)數(shù),較少使用,一般對常量表達(dá)式變量、常量、函數(shù)調(diào)用或者他們之間的運算式都稱為表達(dá)式。表達(dá)式位操作運算位操作運算能力是一個語言是否有底層控制能力的標(biāo)志,即按照二進(jìn)制數(shù)來進(jìn)行運算。常用運算符<<,位左移>>,位右移|,按位或&,按位與^,按位異或~,按位求反位操作運算位操作運算能力是一個語言是否有底層控制能力的標(biāo)志,位操作運算數(shù)值位運算后結(jié)果:左移和右移中溢出的將被舍棄,不足補入位0。5<<2的值是20,2>>1的值是1。位操作后的結(jié)果不是簡單的結(jié)果,運用反碼、原碼知識理解。對于有符號數(shù)的反碼有個規(guī)律:~2的值是-3,即~a=-(a+1)。位操作運算數(shù)值位運算后結(jié)果:位操作運算應(yīng)用控制外設(shè)C++下可以直接調(diào)用匯編對外設(shè)端口進(jìn)行操作。簡單加密技術(shù)利用(X^Y)^Y=X數(shù)組章節(jié)部分介紹這個案例位操作運算應(yīng)用1.簡單變量賦值⑴語句格式:變量=表達(dá)式;⑵功能①具有傳送數(shù)據(jù)的功能;②具有計算的功能。變量賦值1.簡單變量賦值變量賦值例:#include<iostream.h>#definePI3.14159voidmain(){floatr,s;r=10;s=PI*r*r;cout<<"s="<<s<<endl;}變量賦值例:變量賦值2.多重賦值運算格式:變量1=變量2=…=變量n=表達(dá)式例:a=b=c=8/2;(a、b、c的值都為4)a=5+(c=6);(c=6、a=11)a=(b=4)+(c=6);(a=10,b=4,c=6)a=(b=10)/(c=2);(a=5,b=10,c=2)變量賦值2.多重賦值運算變量賦值

5.復(fù)合賦值運算格式:<變量><運算符>=<表達(dá)式>例:a+=5x*=y+10x%=3三.變量賦值a=a+5x=x*(y+10)x=x%35.復(fù)合賦值運算三.變量賦值a=a+5x=x*(y+10)

5.賦值運算常見錯誤(1)給不是變量的表達(dá)式賦值a+5=10(2)復(fù)合賦值的理解錯誤a=a*5+10,寫成a*=5+10變量賦值5.賦值運算常見錯誤變量賦值3.增運算:++⑴++i

使用之前i的值加1

例:n=5;i=3;x=n+(++i);運行后:i=4、x=9變量賦值3.增運算:++變量賦值3.增運算:++⑵i++使用之后i的值加1例:n=5;i=3;x=n+(i++);

運行后:i=4、x=8變量賦值3.增運算:++變量賦值4.自減運算:--⑴.--i

使用之前i的值減1例:n=5;i=3;x=n+(--i);運行后:i=2、x=7變量賦值4.自減運算:--變量賦值4.自減運算:--⑵.i--

使用

溫馨提示

  • 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

提交評論