c++簡單程序設計_第1頁
c++簡單程序設計_第2頁
c++簡單程序設計_第3頁
c++簡單程序設計_第4頁
c++簡單程序設計_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++語言程序設計

第二章C++簡單程序設計

清華大學鄭莉

C++語言程序設計清華大學鄭莉

本章主要內(nèi)容

C++語舌概述

基本數(shù)據(jù)類型和表達式

數(shù)據(jù)的輸入與輸出

算法的基本控制結(jié)構(gòu)

自定義數(shù)據(jù)類型

2

C++語言程序設計清華大學鄭莉

C++語言的產(chǎn)生

C

+C++是從C語言發(fā)展演變而來的,首先是一

+個更好的C

語引入了類的機制,最初的C++被稱為“帶類

言的C”

概?1983年正式取名為C++

述從1989年開始C++語言的標準化工作

于1994年制定了ANSIC++標準草案

于1998年11月被國際標準化組織(ISO)批

準為國際標準,成為目前的C++*★.

C++語言程序設計清華大學鄭莉

C++的特點

C

+?全面兼容C

+

語-它保持了C的簡潔、高效和接近匯編語言

言等特點

概-對C的類型系統(tǒng)進行了改革和擴充

述C++也支持面向過程的程序設計,不是

一個純正的面向?qū)ο蟮恼Z言

?支持面向?qū)ο蟮姆椒?/p>

★★

C++語言程序設計清華大學鄭莉

C++程序?qū)嵗焕?4

C//2_l.cpp

+

+#include<iostream>

語usingnamespacestd;

言voidmain(void)

nH

述cout?Hello!\n;

cout?nWelcometoc++!\nn;

)

運行結(jié)果:

Hello!

Welcometoc++!

5

C++語言程序設計清華大學鄭莉

C++字符集

C

+大小寫的英文字母:A?Z,a?Z

+

語?數(shù)字字符:0?9

言?特殊字符:

空格!#%-&

述?

_(下劃線)+=-

5

>/\〃1

,0口{}

★¥

t

6

C++語言程序設計清華大學鄭莉

詞法記號

C

+?關鍵字C++預定義的單詞

+標識符程序員聲明的單詞,它命名程序正文中

語的一些實體

言?文字在程序中直接使用符號表示的數(shù)據(jù)

概操作符用于實現(xiàn)各種運算的符號

述?分隔符(){},:;

用于分隔各個詞法記號或程序正文

空白符空格、制表符(TAB鍵產(chǎn)生的字符)、

換行符(Enter鍵所產(chǎn)生的字符)和注釋的總稱**

7

C++語言程序設計清華大學鄭莉

標識符的構(gòu)成規(guī)則

C

+以大寫字母、小寫字母或下劃線(_)開

+

語始。

言?可以由以大寫字母、小寫字母、下劃

述線(_)或數(shù)字0?9組成。

大寫字母和小寫字母代表不同的標識

符。

8

C++語言程序設計清華大學鄭莉

-----常量與變量

#include<iostream>

數(shù)

usingnamespacestd;

據(jù)voidmain(void)

類變量先聲

ronstintPRICE=30;

明后使用

型711tnum,total;1符號常量

floatv,r,h;

和/num=10--------------

表?total=num*PRICE;

cout?total?endl;

達r=2.5;

式h=3.2;

v=3.14159*r*r*h;★.

cout?v?endl;

9

C++語言程序設計清華大學鄭莉

數(shù)#include<iostream>

usingnamespacestd;

據(jù)整型變量聲明voidmain(void)

constintPRICE=30;

型整型變intnum,total;

和floatv,r,h;

shortnum=10;---------4整型常量

表unsignedshorttotal=num*PRICE;

字節(jié)

達2cout?total?endl;

int、unsignedintr=2.5;

式4字節(jié)h=3.2;

longv=3.14159*r*r*h;★

unsignedlongcout?v?endl;■

4字節(jié)10

C++語言程序設計清華大學鄭莉

數(shù)

類型說明符位數(shù)數(shù)值范圍

據(jù)

類short16-32768?32767

基_231/-^(231-1)

型int32

_23i?(231~1)

和long32

unsignedshort160—65535

unsigned[int]320?(232-l)

式unsignedlong320?(232—Q

U

*

II

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型

#include<iostream>

數(shù)

usingnamespacestd;

據(jù)Noidmain(void)

實型變量

類?缺省為double*

constintPRICE=30;?后綴F(或fn

型float4字節(jié)intnum,total;

為float型

3.4X10±38

和floatv,r,h;

:后綴(或

7位有效數(shù)字num=10;L1)

表為

double8字節(jié)total=num*PRICE;longdouble

±308型

達1.7X1Ocout?total?endl;

15位有效數(shù)字y=2.5;.--------------

longdouble卜h=3?2f—實型常量

8字節(jié)\v=3.14159早r*h;U

1.7X1O±308cout?v?endl;

15位有效數(shù)字)■

12

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型,、

基-----字符型數(shù)據(jù)(一)

數(shù)?字符常量

據(jù)—單引號括起來的一個字符,如:宜

?字符變量

用來存放字符常量

例:charcl,c2;

表cl-a1;

達c2='A';

式字符數(shù)據(jù)在內(nèi)存中的存儲形式去

以ASCII碼存儲,占1字節(jié),用7個三進插立¥

13

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型

基-----字符型數(shù)據(jù)(二)

本:季花數(shù)據(jù)的使用方法-「

數(shù)

據(jù)字符數(shù)據(jù)和整型數(shù)據(jù)之間可以運算。

類字符數(shù)據(jù)與整型數(shù)據(jù)可以互相賦值。

型字符串常量

例:“CHINA”C|H|I|NA\-

"an

宜a

所以:charc;

c="a";/\

14

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型

布爾契數(shù)據(jù)

數(shù)

據(jù)

布爾型變量的說明:

型例:boolflag;

布爾型數(shù)據(jù)的取值:

達只有false和true兩個值

15

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型

數(shù)

據(jù)

類例:

型inta=3;

和doublef=3.56;

達charc=*a*;

式intc(5);

J*

16

C++語言程序設計清華大學鄭莉

數(shù)據(jù)類型

一混合運算時的類型轉(zhuǎn)換

數(shù)不同類型數(shù)據(jù)進行混合運算時,C++編譯

據(jù)器會自動進行類型轉(zhuǎn)換。

類為了避免不同的數(shù)據(jù)類型在運算中出現(xiàn)類

型型問題,應盡量使用同種類型數(shù)據(jù)。

可以采用強制類型轉(zhuǎn)換:

例如:

floatc;

式inta,b;

c=float(a)/float(b);或c=(float)a/(float)b;

17

C++語言程序設計清華大學鄭莉

基變量的存儲類型

數(shù)auto

據(jù)量翳^^存儲空間可以被若

型?register

-存放在通用寄存器中。

extern

在所有函數(shù)和程序段中都可引用。

達*static

式址存放的,在整Q.

18

C++語言程序設計清華大學鄭莉

基算術運算符與算術表達式

數(shù)

?基本算術運算符

據(jù)

類+-*/(若整數(shù)相除,結(jié)果取整)

型%(取余,操作數(shù)為整數(shù))

?優(yōu)先級與結(jié)合性

達先乘除,后加減,同級自左至右

式?++,■■(自增、自減)

例:i++;-j;

19

C++語言程序設計清華大學鄭莉

賦值運算符和賦值表達式

基簡單的賦值運算符”二〃

數(shù)

據(jù)?舉例

類n=n+5

型?表達式的類型

和等號左邊對象的類型

達?表達式的值

式等號左邊對象被賦值后的值★,

20

C++語

基賦值運算符和賦值表達式

本復合的賦值運算符

數(shù)

據(jù)?有10種復合運算符:

型+=,-=,*=,/=,%=,

A=

和?=,?=,&=,,l=

達?例

式a+=3等價于a=a+3

x*=y+8等價于x=x*(y+8)★¥

&

21

C++語言程序設計清華大學鄭莉

賦值運算符和賺值表達式

基賦值表達式舉例

數(shù)a=5表達式值為5

據(jù)a=b=c=5表達式值為5,a,b,c均為5

a=5+(c=6)表達式值為11,a為11,c為6

a=(b=4)+(c=6)

表達式值為10,a為10,b為4,c為6

達a=(b=10)/(c=2)

式表達式值為5,a為5,b為10,c為2

相當于

a+=a-=a*aa=a+(a=a-a*a)■**

22

C++語言程序設計清華大學鄭莉

數(shù)

據(jù)?格式

類表達式1,表達式2

型求解順序及結(jié)果

和先求解1,再求解2,最終結(jié)果為表達

表式2的值

a=3*5.a*4最終結(jié)果為60★★

*

23

C++語言程序設計清華大學鄭莉

數(shù)關系運算是比較簡單的一種邏輯運算,

據(jù)

優(yōu)先次序為:

型<<=>>===!=

-------------------------------------y-------------------------------------,K------------V------------'

優(yōu)先級相同(高)優(yōu)先級相同(低)

表關系表達式是一種最簡單的邏輯表達式

達其結(jié)果類型為booL值只能為true或false。

例如

式b

?a>

24

C++語言程序設計清華大學鄭莉

數(shù)?邏輯運算符

據(jù)!(非)&&(與)||(或)

類優(yōu)先次序:高一低

型邏輯表達式

例如:(a>b)&&(x>y)

其結(jié)果類型為bool,值只能為true

式false

25

C++語言程序設計清華大學鄭莉

基條件運算符與條件表達式

數(shù)?一般形式

據(jù)表達式1?表達式2:表達式3

類表達式1必須是bool類型

型?執(zhí)行順序

和-先求解表達式1,

表-若表達式1的值為true,則求解表達式2,

表達式2的值為最終結(jié)果

-若表達式1的值為false,則求解表達式3,

式表達式3的值為最終結(jié)果★.

?例:x二a〉b?a:b;*,

26

C++語言程序設計清華大學鄭莉

基條件運算符與條件表達式

數(shù)

?注意:

據(jù)

類-條件運算符優(yōu)級高于賦值運算符,低于

邏輯運算符

-表達式、的類型可以不同,條件表達

和23

式的最終類型為2和3中較高的類型。

?例:

達x=a>b?a:b;

-------------------V—

________,

式V

27

C++語言程序設計清華大學鄭莉

基sizeof運算符

數(shù)

?語法形式

據(jù)

sizeof(類型名)

類或sizeof(表達式)

型?結(jié)果值:

和“類型名”所指定的類型或“表達式”的結(jié)果

表類型所占的字節(jié)數(shù)。

達?例:

式sizeof(short)

sizeof(x)

28

C++語言程序設計清華大學鄭莉

基位運算-----按位與(&)

數(shù)

將兩個運算量的每一個位進行邏輯與操作

據(jù)

?舉例:計算3&5

類3:00000011

型5:(&)00000101

和3&5:00000001

?用途:

將某一位置0,其它位不變。例如:

達將char型變量a的最低位置0:a=a&0376;

式-取指定位。

例如:有charc;inta;

取出a的低字節(jié),置于c中:c=a&0377;

29

C++語言程序設計清華大學鄭莉

基位運算-----按位或(I)

數(shù)?運算規(guī)則

據(jù)-將兩個運算量的每一個位進行邏輯或操作

類舉例:計算35

型3:00000011

和5:(1)00000101

表3|5:00000111

達?用途:

式將某些位置1,其它位不變。

例如:將int型變量a的低字節(jié)置1★¥

a=a|Oxff;)

30

C++語言程序設計清華大學鄭莉

基按位異或()

數(shù)?運算規(guī)則

據(jù)

-兩個操作數(shù)進行異或:

類若對應位相同,則結(jié)果該位為0,

型若對應位不同,則結(jié)果該位為1,

和?舉例:計算07廠052

071:00111001

052:-)00101010

07r052:00010011★★

C++語言程序設計清華大學鄭莉

基位運算-----按位異或()

數(shù)

?用途:

據(jù)

類使特定位翻轉(zhuǎn)(與0異或保持原值,與I

異或取反)

和例如:要使01111010低四位翻轉(zhuǎn):

表01111010

達00001111

式01110101

★¥

*

32

C++語言程序設計清華大學鄭莉

基位運算一取反(~)

數(shù)

據(jù)單目運算符,對一個二進制數(shù)按位取反。

例:025:0000000000010101

和"025:1111111111101010

33

C++語言程序設計清華大學鄭莉

基移位

數(shù)

據(jù)?左移運算(?)

類左移后,低位補0,高位舍棄。

型?右移運算(?)

右移后,低位:舍棄

高位:無符號數(shù):補0

有符號數(shù):補“符號位”

★★

34

C++語言程序設計清華大學鄭莉

基運算符優(yōu)先級

數(shù)括號高

據(jù)++,-?,sizeof

類*4%

型+9-

_!=

和位獲算

表&&

達II

式?:

低值運算

逗號運算低衣

35

C++語言程序設計清華大學鄭莉

混合運算時數(shù)據(jù)類型的轉(zhuǎn)換

基-----隱含轉(zhuǎn)換

數(shù)一些二元運算符(算術運算符、關系運算符、邏

據(jù)輯運算符、位運算符和賦值運算符)要求兩個操

類作數(shù)的類型一致。

型在算術運算和關系運算中如果參與運算的操作數(shù)

和類型不一致,編譯系統(tǒng)會自動對數(shù)據(jù)進行轉(zhuǎn)換

(即隱含轉(zhuǎn)換),基本原則是將低類型數(shù)據(jù)轉(zhuǎn)換

為高類型數(shù)據(jù)。

charshortintunsignedlongunsignedlongfloatdouble

36

C++語

基混

溫馨提示

  • 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

提交評論