版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版高中化學(xué)選修三 2.3 分子的性質(zhì) 教案
- 第16課《表里的生物》第一課時(shí)教學(xué)設(shè)計(jì)
- 人教版八年級(jí)上冊(cè)音樂(lè) 3.3今夜無(wú)人入睡 教案
- 2023-2024學(xué)年遼海版音樂(lè)四年級(jí)下冊(cè)彩云追月 教案
- 人教版化學(xué)九年級(jí)上冊(cè) 課題1 物質(zhì)的變化和性質(zhì) 第2課時(shí) 化學(xué)性質(zhì)和物理性質(zhì) 教案()
- 工程質(zhì)量保證措施
- 人教版 地理 八年級(jí)上冊(cè)《水資源》教學(xué)設(shè)計(jì)
- 安徽省定遠(yuǎn)爐橋中學(xué)2024-2025學(xué)年下學(xué)期高三化學(xué)試題第一次診斷性考試試卷含解析
- 初一月考總結(jié)與反思1000字(24篇)
- 《郭沫若詩(shī)兩首》教案設(shè)計(jì)
- Starter unit 3 Welcome Section A pronunciation教學(xué)設(shè)計(jì)2024-2025學(xué)年人教版英語(yǔ)七年級(jí)上冊(cè)
- 高中語(yǔ)文選擇性必修上冊(cè)第一單元專(zhuān)題研習(xí) 公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 2024正規(guī)汽車(chē)租賃合同書(shū)范本
- 歷史人教部編九年級(jí)上冊(cè)第13課《西歐經(jīng)濟(jì)和社會(huì)的發(fā)展》【課件】共23張
- “巴渝工匠”杯第二屆郵政快遞行業(yè)職業(yè)技能競(jìng)賽(快遞員賽項(xiàng))考試題庫(kù)(含答案)
- 青島市BIM技術(shù)應(yīng)用導(dǎo)則(房屋建筑工程)
- 2024-2025學(xué)年九年級(jí)上冊(cè)數(shù)學(xué)第一次月考試卷01【人教版】
- 少年中國(guó)說(shuō)英文版
- 100個(gè)紅色經(jīng)典故事【十八篇】
- 3D打印技術(shù)(課件)
- 關(guān)于違規(guī)收受禮品禮金警示教育心得體會(huì)范文
評(píng)論
0/150
提交評(píng)論