課件答案-c另外一個(gè)老師chapter_第1頁(yè)
課件答案-c另外一個(gè)老師chapter_第2頁(yè)
課件答案-c另外一個(gè)老師chapter_第3頁(yè)
課件答案-c另外一個(gè)老師chapter_第4頁(yè)
課件答案-c另外一個(gè)老師chapter_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章C++程序設(shè)計(jì)基礎(chǔ)顧晶晶gujin

航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院1程序設(shè)計(jì)語(yǔ)言的發(fā)展歷史面

象的程序設(shè)計(jì)方法Object

Oriented

Programming,OOP近年來(lái)十分流行的一種程序設(shè)計(jì)方法,它試圖用客

世界中描述事物的方法來(lái)描述一個(gè)程序要決的問(wèn)題。對(duì)象是客觀世界中一個(gè)實(shí)際存在的事物,例如一個(gè)具體的人就是一個(gè)對(duì)象,將一般人的共同屬性抽象出來(lái)就可以構(gòu)成“類(lèi)”,如“人”類(lèi),它的靜態(tài)屬性有

、

、

、身高、體重,動(dòng)態(tài)屬性有思考、走路、說(shuō)話(huà)、吃飯、睡覺(jué),將靜態(tài)屬性作為類(lèi)的數(shù)據(jù)成員,而將動(dòng)態(tài)屬性作為3類(lèi)的執(zhí)行代碼。為什么要學(xué)習(xí)C++程序設(shè)計(jì)C++是C的擴(kuò)充版本。C++對(duì)C的擴(kuò)充是由Bjarne

Stroustrup于1980年在貝爾

提出來(lái)的。起初他把這種語(yǔ)言稱(chēng)為“帶類(lèi)的C”,到1983年才改名為C++。C++吸收了C和Simula67的精髓,它具有C所無(wú)法比擬的優(yōu)越性。41.2

簡(jiǎn)單的C++程序舉例輸入兩個(gè)數(shù)的值,求他們的加和:#include

<iostream>using

namespace

std;int main

(

){int

a,

b;

//定義2個(gè)變量cout<<"輸入變量a和b:";cin>>a>>b;

/*

從鍵盤(pán)輸入a和b的值*/cout

<<

"a

+

b

=

"

<<

a

+

b

<<

endl;1-1.cpp5return

0;}1.3

注釋方法*/”格式,1.C++的注釋形式有兩種,一種是“/*這是C語(yǔ)言中的注釋風(fēng)格;2.雙斜線(xiàn)//,在雙斜線(xiàn)之后的部分都會(huì)被視為注釋;不必為程序的每一行都加注釋?zhuān)膊槐貫橐荒苛巳坏拇a加注釋?zhuān)灰⒔膺m當(dāng)?shù)拇a,有助于他人理解即可。61.4

編程風(fēng)格程序員使用標(biāo)識(shí)符、空格、Tab鍵、空行、標(biāo)點(diǎn)符號(hào)、代碼縮進(jìn)排列和注釋等,來(lái)安排源代碼的方式?!纠?.2】一個(gè)不好的風(fēng)格程序#include

<iostream>using

namespace

std;int main

(

){int

a,

b;

cout

<<

"輸入變量a和b:"

;

cin>>

a

>>b; cout

<<

"a

+

b

=

"

<<

a

+

b

<<

endl;

return

0;

}71.5.1 C++程序中的字符26個(gè)小寫(xiě)英文字母;26個(gè)大寫(xiě)英文字母;10個(gè)

數(shù)字和其它一些符號(hào),如:+、-、*、/等,其中每個(gè)ASCII碼字符占用一個(gè)字節(jié)。81.5.2

標(biāo)識(shí)符標(biāo)識(shí)符由字母、下劃線(xiàn)和數(shù)字組成,且第一個(gè)字符不能為數(shù)字,長(zhǎng)度一般不超過(guò)32個(gè),文件名只識(shí)別前8個(gè)字符。標(biāo)識(shí)符大小寫(xiě)敏感。采用有意義的單詞作標(biāo)識(shí)符,做到見(jiàn)名知意。studentName、StudentName、name_of_studentabc、a1238abc

、Student

Name、$bill91.5.3

關(guān)鍵字又稱(chēng)保留字,是系統(tǒng)定義的一些特殊標(biāo)識(shí)符,具有特定含義,不允許挪作他用;表1-1:C++常用關(guān)鍵字。101.6 C++的基本數(shù)據(jù)類(lèi)型兩大類(lèi):基本數(shù)據(jù)類(lèi)型和導(dǎo)出數(shù)據(jù)類(lèi)型。基本類(lèi)型也稱(chēng)預(yù)定義的類(lèi)型或內(nèi)置數(shù)據(jù)類(lèi)型,包括char、int、float、double、bool和void等。導(dǎo)出類(lèi)型:由基本數(shù)據(jù)類(lèi)型構(gòu)造出來(lái)的類(lèi)型,包括數(shù)組、指針、、結(jié)構(gòu)體、共用體、枚舉和類(lèi)等。表1-2:C++的基本數(shù)據(jù)類(lèi)型。11類(lèi)型名稱(chēng)字節(jié)數(shù)取值范圍bool布爾型1true,

false[signed]

char有符號(hào)字符型1-128

~

127unsigned

char無(wú)符號(hào)字符型10

~

255[signed]

short

[int]有符號(hào)短整型2-32768

~

32767unsigned

short

[int]無(wú)符號(hào)短整型20

~

65535[signed]

int

或signed有符號(hào)整型4-231

~

(231-1)unsigned

[int]無(wú)符號(hào)整型40

~

(232-1)[signed]

long

[int]有符號(hào)長(zhǎng)整型4-231

~(231-1)unsi ned

lon

[int]無(wú)符號(hào)長(zhǎng)整型40

~(232-1)float實(shí)型4-1038

~

1038double雙精度實(shí)型8-10308

~10308long

double長(zhǎng)雙精度實(shí)型8-10308

~

103081.7.1

變量在程序運(yùn)行中,值可變的量稱(chēng)為變量。變量的三要素:變量名、內(nèi)存空間和值。1.定義變量:boolcharintdoublefloatb;gender,

ch;a,

b;dx

;f

;unsigned u

;131.7.1

變量2.變量賦值1變量定義后,用賦值語(yǔ)句賦初值。2int

a;a

=

-12+100;在定義變量的同時(shí),初始化。int a

=

12;變量不賦值,其值是什么??141.7.2

文字常量1.在程序運(yùn)行中,值不能被改變的量稱(chēng)為常量。不是通文字常量是指可直接使用的常量。

文字常量

在代碼區(qū),對(duì)它的過(guò)地址進(jìn)行的。4.

文字常量分為:整形、實(shí)型、字符型和字符串型常量。151.7.2

文字常量1.整型常量(1)十進(jìn)制整數(shù),如:789,-456(2)八進(jìn)制整數(shù),如:0567,-02634十六進(jìn)制整數(shù),如:0x789,-0xAB長(zhǎng)整型與無(wú)符號(hào)型整數(shù)長(zhǎng)整型整數(shù),如:12L,0234L,-0xABl無(wú)符號(hào)型整數(shù),如:12U,0234U,0xABu161.7.2

文字常量2.實(shí)型常量在內(nèi)存中以浮點(diǎn)形式存放,均為十進(jìn)制數(shù),無(wú)數(shù)制區(qū)分。(1)小數(shù)形式:1.65,1.,.123(2)指數(shù)形式:1.23e5、1.23e-5、1e3171.7.2

文字常量字符型常量:用單引號(hào)括起來(lái)的一個(gè)字符,如‘a(chǎn)’,‘A’,‘?’。在內(nèi)存中的ASCII碼值,數(shù)據(jù)類(lèi)型為char。轉(zhuǎn)義字符:換行符反斜杠字符\r\'回車(chē)符單引號(hào)\b

退格\t

Tab鍵\"

雙引號(hào)\n\\\nnn

八進(jìn)制值,最多三位\xhh

十六進(jìn)制值,最多兩位例如:

'\n'

<

=

>

'\12' <=

>'\xa''A'

<

=

>

'\101'

<

=

>

'\x41'1-2.cpp181.7.2

文字常量5.字符串常量"123"、"I

am

a

Chinese."、"a"串結(jié)束符:'\0'"a"和'a'不同思考:"I\'ve

done""dog

\'s

toy""\"Love\""191.7.3

符號(hào)常量例如:#definePI

3.1415926PRICE

30#define#define

S

"China"定義符號(hào)常量的好處:?E.g.

float r,

c,

a,

sa;r

=

5.0f;c

=

2

*

PI

*

r;a

=

PI

*

r

*

r;sa

=

4

*

PI

*

r

*

r;//給半徑賦值//計(jì)算圓周長(zhǎng)//計(jì)算圓面積//計(jì)算球表面積201.7.4常變量例如:const

double

pi

=

3.14159;常變量具有變量的三個(gè)要素。必須在定義時(shí)賦初值,且在程序的運(yùn)行中值不可變。編譯器可對(duì)常變量進(jìn)行類(lèi)型檢查。211.8.1

算術(shù)運(yùn)算符和算術(shù)表達(dá)式五個(gè)算術(shù)運(yùn)算符:+、-、*、/、%5/2為2,5.0/2為2.58%3

為2,而8.0%3221.8.3

賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符:

<變量>

=

<表達(dá)式>例如:3.14 =pix

+

y

=

100const

int N

=

100;N

=200;b

=c

=

d

=

a+5a

=5

+

c

=20231.8.3

賦值運(yùn)算符和賦值表達(dá)式復(fù)合賦值運(yùn)算符:y*=

(x

+

8) <

=

>y

=

y

*

(x

+

8)思考:若a初值為6,執(zhí)行表達(dá)式

=

a

-=a

*=

a后,表達(dá)式的值和a的值分別是多少?241.8.4

自增、自減運(yùn)算示例:

int i

=3,j

=

++i

;j

;不同于:j=i++;3++

++(x+y)

!int i

=3 =

4

xx

=

(i++)

+

(j++);25自增、自減運(yùn)算符和表達(dá)式使變量的值加

1

或減

1

的運(yùn)算

在使用i

之前加或減1在使用

i之后加或減1運(yùn)算后i=?,j=?如:++i,--ii++,

i-

-int i=3,

j;=++iint i=3,

j;運(yùn)算后

i=?,j=i

=

4,j

=

4i

=

4,j

=

3j=i++;注意:只能用于變量,不能用于常量和表達(dá)式,26如:

3++;

(a+b)++;

錯(cuò)誤1.8.5

關(guān)系運(yùn)算符和關(guān)系表達(dá)式<、<=、>、>=優(yōu)先級(jí)高于==、!=運(yùn)算結(jié)果為boolean類(lèi)型。注意:有a=1,

b=2,

c=3,則表達(dá)式a>b>c

的值為false,這是一種“

”式的寫(xiě)法。27C++

語(yǔ)言提供三種邏輯運(yùn)算符雙目運(yùn)算符即有兩個(gè)操作數(shù)如a&&b&&

邏輯“與”|

|

邏輯“或”!

邏輯“非”單目運(yùn)算符,

即只有一個(gè)操作數(shù)。如!a28邏輯運(yùn)算的意義:a

&&b

當(dāng)a、b

均為假時(shí),表達(dá)式的值才為假a

||b!

a當(dāng)a

為假,!a

為真;反之,當(dāng)a

為真時(shí),!a

的值為假邏輯運(yùn)算“真值表”aba&&ba||b!a0000101011100101111029邏輯表達(dá)式:用邏輯運(yùn)算符將表達(dá)式連結(jié)起來(lái)邏輯運(yùn)算符的優(yōu)先次序:高!(非)算術(shù)關(guān)系&&||低(a>b)&&(x>y)(a==b)

||(x==y)30(!a)>ba>b&&x>ya==b

||x==y!a

>b注意:1運(yùn)算時(shí),在判斷一個(gè)量是否為

真 時(shí),

以非0

代表“真”

以0

代表“假”2

C++編譯系統(tǒng)在給出邏輯運(yùn)算結(jié)果時(shí),以數(shù)值1

代表“真”以數(shù)值0

代表“假”例如:已知a=4已知

=

,

=則!a

的值是0則a&&b

的值是0則a||b

的值是1則!a&&b

的值是131注意:<=

,在C++程序中,欲表示數(shù)學(xué)關(guān)系0≤x≤10

,C++的邏輯表達(dá)式必須寫(xiě)成0<=而不能寫(xiě)成0<=x<=10。為什么?3.表達(dá)式求值短路:int x

=

1,

y

=

1,

z

=

1

,

w

=

0

;w

=

++x

||

++y

&&

++z

;321.8.7

位運(yùn)算和算術(shù)表達(dá)式33位運(yùn)算是對(duì)整型數(shù)據(jù)的運(yùn)算(可以操作到位),符號(hào)位參與運(yùn)算,主要用于系統(tǒng)程序設(shè)計(jì)。位運(yùn)算符共有6

種:它們是:按位與(&)按位或(|)按位異或(^)按位取反(~)左移(<<)右移(>>)1.8.7

位運(yùn)算和算術(shù)表達(dá)式1.按位與(&)int a

=

3,

b

=

-2

,

c

=

a

&

b

;a

0000

0000

0000

0000

0000

0000

00000011b

1111

1111

1111

1111

1111

1111

1111

1110c

0000

0000

00000000

00000000

0000

0010341.8.7

位運(yùn)算和算術(shù)表達(dá)式2.按位或(|)int a

=

3,

b

=

-2

,

c

=

a

|

b

;a

0000

0000

0000

0000

0000

0000

00000011b

1111

1111

1111

1111

1111

1111

1111

1110c351.8.7

位運(yùn)算和算術(shù)表達(dá)式03.按位異或(^)int a

=

3,

b

=

-2

,

c

=

a

^

b

;a

00000000

0000

0000

0000

0000b

1111

1111

1111

1111

1111

1111

1111c11111011

1111

1111

1111

1111

1111

11111101思考:int a

=5, b

=9;a

=a^b; b

=

a^b;a

=

a^b;361.8.7

位運(yùn)算和算術(shù)表達(dá)式4.按位取反(~)int a=18,

b

=

~a;a

00000000

0000

0000

0000

0000

00010010b

1111

1111

1111

1111

1111

1111

1110

1101371.8.7

位運(yùn)算和算術(shù)表達(dá)式左移(<<)例如1:int a

=

15, x

=

a

<<

3;右移(>>)例如:short

int a

=

-2, b

=

a>>2;381.8.7

位運(yùn)算和算術(shù)表達(dá)式思考:編程從一個(gè)16位的單元中取出某幾位。若value的值為八進(jìn)制數(shù)0101675,start為5,end為8,那么,value和result的值為:391.8.7

位運(yùn)算和算術(shù)表達(dá)式代碼片段:unsigned

short

int value

=

0101675,

result;int start

=

5, end

=

8;result

=

value<<(start-1);result

>>= 16-(end-start+1)

;//step

1:左移//step

2:右移思考:為什么將變量value定義成unsigned類(lèi)型,如果去掉unsigned可以嗎?401.8.8

逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式逗號(hào)運(yùn)算符:,逗號(hào)表達(dá)式:

<表達(dá)式1>

,<表達(dá)式2>

…... <表達(dá)式n>如:a=3*5,a*4,a+5求解過(guò)程:依次計(jì)算

<表達(dá)式1>、<表達(dá)式2>…...<表達(dá)式n>的值。逗號(hào)表達(dá)式的值:為<表達(dá)式n>的值運(yùn)算結(jié)束后:a

的值為15整

表達(dá)

20逗號(hào)運(yùn)算符優(yōu)先級(jí)最低,結(jié)合性:自左向右411.8.8

逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式思考:下面三個(gè)表達(dá)式運(yùn)算結(jié)束后,a、x和表達(dá)式的值分別是多少?a=3*5,

a*4=

=

*x=a=3,

6*3421.8.9 sizeof

運(yùn)算符格式:

sizeof

(類(lèi)型標(biāo)識(shí)/變量名)功能:

求某類(lèi)型變量所占字節(jié)數(shù)例如:double x

=

100

;sizeof(

double)和sizeof

x均為8。431.9

語(yǔ)句表達(dá)式語(yǔ)句例如:

a

+b,

c

*

d;x

=

(a

+b,

c*

d

);空語(yǔ)句復(fù)合語(yǔ)句{a

+b,

c

*

d;x

=

(a

+b,

c*

d

);}441.10.1

賦值時(shí)的類(lèi)型轉(zhuǎn)換45如果賦值運(yùn)算符兩側(cè)的類(lèi)型

,

以幾條原則進(jìn)行類(lèi)型轉(zhuǎn)換后賦值。整型變量←實(shí)型數(shù)據(jù),舍棄小數(shù)(無(wú)四舍五入)。int i=3.96; i

為3實(shí)型變量←整型數(shù)據(jù),數(shù)值不變,有效數(shù)位增加。float

=

; f

為23.0double d=23; d

為23.01.10.1

賦值時(shí)的類(lèi)型轉(zhuǎn)換3.整型數(shù)據(jù)之間相互賦值整型數(shù)據(jù)類(lèi)型有:[si

ned

char[signed]

short[signed]

int[signed]

longunsi ned

charunsigned

shortunsigned

intunsigned

long46各種類(lèi)型的整型數(shù)占用的字節(jié)數(shù)是不同的,其二進(jìn)制位數(shù)有長(zhǎng)有短。它們之間相互賦值,其實(shí)就是它們內(nèi)存數(shù)據(jù)之間的賦值,分兩種情況。1.10.1

賦值時(shí)的類(lèi)型轉(zhuǎn)換將int

型變量賦給字符型變量時(shí)(長(zhǎng)→短)方法:截取低位賦值例:

char ch

=360

;471.10.1

賦值時(shí)的類(lèi)型轉(zhuǎn)換將字符型變量賦給

int型變量時(shí)(短→長(zhǎng)),又分成兩種情況:①無(wú)符號(hào)的字符型數(shù)據(jù)→整型變量前面補(bǔ)04.unsigned

char

c

=

-2

;int i

;i

=c;②有符號(hào)的字符型數(shù)據(jù)→整型變量需符號(hào)位擴(kuò)展5.48char c

=

-2;int i

;i

=c

;各種類(lèi)型運(yùn)算量混合運(yùn)算時(shí)的自動(dòng)類(lèi)型轉(zhuǎn)換49C

語(yǔ)言的數(shù)值型數(shù)據(jù)(常量變量)包括:整型

int, short

int, long

int,

unsigned

int,unsigned

short,

unsigned

longfloat,

double實(shí)型字符型

char,

unsigned

char各種數(shù)據(jù)類(lèi)型,它們的常量和變量之間可以混合運(yùn)算。兩個(gè)量運(yùn)算時(shí),在計(jì)算機(jī)首先將它們轉(zhuǎn)換成相同數(shù)據(jù)類(lèi)型的量,然后進(jìn)行運(yùn)算。雖然這種轉(zhuǎn)換是C++自動(dòng)完成的,但是若編程者知道了轉(zhuǎn)換機(jī)理,對(duì)掌握及靈活運(yùn)用C++表達(dá)式是有幫助的。轉(zhuǎn)換原則如圖2-3所示:doublefloat低類(lèi)型→高類(lèi)型低類(lèi)型:

字節(jié)少long轉(zhuǎn)換原則所表示的數(shù)據(jù)范圍小。高類(lèi)型:

字節(jié)多所表示的數(shù)據(jù)范圍大。unsignedint

char,

shortint

i;

float

f;

double

d;10

+

'a'

+

i

*

f

-

d

/

iint例:double

doubledouble50double形式:

類(lèi)型名

(表達(dá)式)或:

(類(lèi)型1.名10)表.3達(dá)強(qiáng)式制類(lèi)型轉(zhuǎn)換例:int

i,a;float

x,y;double

z;

a=(int)(x+y);或a=int(x+y);

z=(double)a;或z=double(a);

a=(int)z%i;或表達(dá)式的運(yùn)算結(jié)果為

double

型,但:a

仍然為int

型變量。511.10.3

強(qiáng)制類(lèi)型轉(zhuǎn)換注意:1.強(qiáng)制轉(zhuǎn)換的對(duì)象:表達(dá)式。2.強(qiáng)制轉(zhuǎn)換并不將變量本身類(lèi)型轉(zhuǎn)變。小結(jié):類(lèi)型轉(zhuǎn)換有兩種:5212自動(dòng)轉(zhuǎn)換(賦值時(shí),混合運(yùn)算時(shí))強(qiáng)制轉(zhuǎn)換1.11.1 cout對(duì)象和cin對(duì)象1

cout

輸出流鍵盤(pán)輸入稱(chēng)為標(biāo)準(zhǔn)輸入(standardinput)顯示器輸出稱(chēng)為標(biāo)準(zhǔn)輸出(standard

output)C++中通過(guò)輸入/輸出流來(lái)實(shí)現(xiàn)標(biāo)準(zhǔn)輸入/輸出操作。輸入操作通過(guò)流cin來(lái)實(shí)現(xiàn)輸出操作通過(guò)流cout來(lái)實(shí)現(xiàn)使用輸出流

cout

,必須在程序的第一行包含頭文件。即:#include

<iostream>using

namespacestd;531.11.1 cout對(duì)象和cin對(duì)象cout一般格式:cout

<<

<表達(dá)式1>

[

<<

<表達(dá)式2

>...

<<

<表達(dá)式n>

]“<<”稱(chēng)為

運(yùn)算符,表示將表達(dá)式的運(yùn)算結(jié)果到輸出流的末尾,即在顯示器上顯示。將cout想象成顯示器,

向箭果注意:可以很容易 輸出操例3.4:intna=10,

b=20,

輸出數(shù)據(jù)之間無(wú)空白。<double

=5. 3

,cout

<<

c

<<

n-dendl

與‘\n’等價(jià)。cout

<<a

<<b<

輸出實(shí)型數(shù),小數(shù)點(diǎn)后若為0,則不輸出小數(shù)點(diǎn)。5544cout<<m

<<n

<<endl;1.11.1 cout對(duì)象和cin對(duì)象'\t'的意義為了區(qū)分輸出的數(shù)據(jù)項(xiàng),在每一個(gè)輸出數(shù)據(jù)之間要輸出分隔符。分隔符可以是空格、標(biāo)點(diǎn)符號(hào)或者換行符等。例如:cout

<<

<<

'

,

'

<<

b<<

endl;<<

n-d

<<

endl;<<

n

<<

endl;cout

<<

c

<<

'

,

'cout

<<

m

<<

'

,

'輸出結(jié)果:10,

2030,

605.23,

100例如:5555cout

<<"a="<<

a

<<

'

\

t'

<<"b="<<

b

<<

endl;cout

<<"c="

<<

c

<<

'

\

t'

<<

n

<<

"-"

<<

d

<<"="<<

n-d

<<

endl;cout

<<"m="

<<

m

<<

'

\

t'

<<"n="<<n

<<

endl;輸出結(jié)果:a=10

b=20c=30

100-40=60m=5.23

n=1001.11.1 cout對(duì)象和cin對(duì)象

cout除了能夠輸出正??梢暤臉?biāo)準(zhǔn)字符外,還可以輸出字符串和轉(zhuǎn)義字符。例如:–

char

c='a',c1='b';–

cout

<<

"c="

<<

c

<<

'\t'

<<

"c1="

<<

c1

<<'\n';562,cin

輸入流cin一般格式:,cin

>>

<變量1>

[

>><變量2>...

>>

<變量n>

]“>>”稱(chēng)為提取運(yùn)算符,表示程序暫停執(zhí)行,等待從輸入流中提取數(shù)據(jù)賦給變量將cin想象成鍵盤(pán),“>>”想象成數(shù)據(jù)流向箭頭,可以很容易

輸入操作例:int

i

,

j

;float

x

,

y

;cin

>>

i

>>

j

;cin

>>

x

>>

y

;運(yùn)行時(shí):輸入:1

23.2

<回車(chē)>4.5<回車(chē)>則

變量

i、j

的值為

1、2變量x、y

的值3.2

和4.5輸入的數(shù)據(jù)之間用分隔符分隔:<空格>、<回車(chē)5577>、2,cin

輸入流每行末尾輸入回車(chē)鍵的作用是:告訴cin一行數(shù)據(jù)已經(jīng)輸入完畢,cin開(kāi)始提取用戶(hù)輸入的數(shù)據(jù)(忽略分隔符),并依次將所提取的數(shù)據(jù)賦值給cin中所列舉的變量中尚未獲得數(shù)據(jù)的變量。在屏幕上顯示光標(biāo)換行,為下一行的輸入或者顯示程序的輸出結(jié)果做好準(zhǔn)備,起到輸入數(shù)據(jù)之間以及輸入數(shù)據(jù)與輸出結(jié)果之間的分隔符的作用。用戶(hù)輸入數(shù)據(jù)的個(gè)數(shù)小于變量的個(gè)數(shù)。則在提取完輸入行的有效數(shù)據(jù)后仍有變量沒(méi)有獲得數(shù)值,當(dāng)前的輸入語(yǔ)句不會(huì)結(jié)束,會(huì)繼續(xù)等待用戶(hù)輸入新的一行數(shù)據(jù)。1-3.cpp55882,cin

輸入流用戶(hù)輸入的數(shù)據(jù)個(gè)數(shù)大于變量的個(gè)數(shù)。則輸入語(yǔ)句只依次提取輸入行中的部分?jǐn)?shù)值給變量。而多余的數(shù)值會(huì)被下一條cin輸入語(yǔ)句中的變量所提取,或者在沒(méi)有后續(xù)的輸入語(yǔ)句的情況下被程序舍棄。若輸入:100棄。int

i

,

j

;cin

>>

i

>>

j

;200

300<Enter>,300將被程序舍如果用戶(hù)輸入的一行僅僅是一個(gè)回車(chē)鍵,則cin把該鍵作為分隔符來(lái)處理(將其忽略),只是在屏幕上顯示光標(biāo)換行,程序會(huì)繼續(xù)等待用戶(hù)輸入數(shù)據(jù)。55992,cin

輸入流輸入數(shù)據(jù)的類(lèi)型由cin根據(jù)變量的類(lèi)型來(lái)自動(dòng)判定。從鍵盤(pán)上輸入數(shù)據(jù)的個(gè)數(shù)、類(lèi)型及順序,必須與cin中列舉的變量一一對(duì)應(yīng)。例如:int

a,

b;cin

>>

a

>>

b;執(zhí)行cin時(shí),若輸入字符數(shù)據(jù):D

F

<Enter>由于用戶(hù)輸入的數(shù)據(jù)是字符類(lèi)型,而對(duì)應(yīng)的接收變量是整數(shù)類(lèi)型,兩者類(lèi)型不匹配,變量a得不到有效值,其值為0。后續(xù)的變量b受影響無(wú)法繼續(xù)獲得數(shù)值,其值為一個(gè)隨機(jī)數(shù)。錯(cuò)誤會(huì)繼續(xù)向后延伸,造成后續(xù)的cin66語(yǔ)0

句也不能正確提取數(shù)據(jù)。2,cin

輸入流例如:int

a;float

b;cin

>>

b

>>

a;執(zhí)行cin時(shí),若輸入:300

1.234

<Enter>.實(shí)型b變量獲得300.0的數(shù)值。而整型變量a同樣進(jìn)行數(shù)據(jù)類(lèi)型轉(zhuǎn)換,將小數(shù)1.234轉(zhuǎn)換為整數(shù)1,小數(shù)部分被丟棄。66111-4.cpp#include

<iostream>usin

names acestdint main

(

){int length,

width,

area

;cout<<"計(jì)算矩形的面積\n";

cout<<"輸入矩形的長(zhǎng):";cin>>length;cout<<"輸入矩形的寬:";

cin>>width;area

=

length

*

width

;cout<<"矩形的面積為:"<<area<<endl

;retur

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論