一、iostream(輸入輸出流)
i, o分別表示 istream
(輸入流) 和 ostream
(輸出流)答朋;stream表示 流
:隨著時(shí)間順序生成或消耗及刻;合起來就是iostream(輸入輸出流)美澳。
1.1、4個(gè)IO對(duì)象
- cin:標(biāo)準(zhǔn)輸入眠饮;
- cout:標(biāo)準(zhǔn)輸出奥帘;
- cerr:標(biāo)準(zhǔn)錯(cuò)誤,通常用來輸出警告和錯(cuò)誤信息給程序使用者仪召;
- clog:常用于輸出程序執(zhí)行時(shí)的一般信息寨蹋;
(后兩個(gè)第一次知道,逃
1.2扔茅、例子
#include <iostream>
int main()
{
std::cout << "Enter two Numbers:" << std::endl;
int val1, val2;
std::cin>> val1 >> val2;
std::cout << "The sum of " << val1 << " and " << val2
<< " is " << val1+val2 << std::endl;
return 0;
}
- 第一行告訴編譯器要使用iostream庫已旧;
- 輸出流(寫入到流):
- 輸出操作符
<<
將值寫入到流
,即輸出
召娜。該操作符每次接受兩個(gè)操作數(shù):左操作數(shù)必須是ostream對(duì)象运褪;右操作數(shù)是要輸出的值; - C++中的每個(gè)表達(dá)式都會(huì)產(chǎn)生一個(gè)結(jié)果,就是說
std::cout<<a;
也會(huì)產(chǎn)生返回值秸讹,但輸出操作符<<
返回的是輸出流本身胁后,所以可以將多個(gè)輸出連接在一起,形如std::cout<<a<<b;
嗦枢;
- 輸出操作符
- 輸入流(讀入到流):跟輸出流類似攀芯;
-
std
表示使用命名空間 std中定義的的名字; -
endl
稱為操縱符(manipulator)文虏,將它寫入流
時(shí)侣诺,具有換行的效果,并同時(shí)會(huì)刷新相關(guān)聯(lián)的緩沖區(qū)(buffer)氧秘。通過刷新緩沖區(qū)年鸳,用戶可以立即看到寫入流
中的輸出;
二丸相、控制結(jié)構(gòu)
2.1搔确、while語句和for語句
問題:求1到10(包括10)的和?
while語句:
#include <iostream>
int main()
{
int sum = 0, val = 1;
while (val <= 10){
sum += val;
++val;
}
std::cout << "The sum of 1 to 10 inclusive is " << sum << std::endl;
return 0;
}
- while語句的結(jié)構(gòu)形式:
while (condition) while_body_statement;
灭忠。表示膳算,通過測(cè)試condition
為真時(shí)執(zhí)行while_body_statement
,重復(fù)這一過程直到condition
為假-
condition
是一個(gè)可求值得表達(dá)式弛作。如果結(jié)果非零涕蜂,那么為真;如果結(jié)果為為零映琳,則為假机隙; -
<=
表示小于等于操作符; -
sum += val;
等價(jià)于sum = sum + val;
萨西。類似的有鹿,++val;
等價(jià)于val = val + 1;
;
-
還有另一種情形:只對(duì)輸入的值進(jìn)行求和
#include <iostream>
int main()
{
int sum = 0, val;
while (std::cin >> val){//windows系統(tǒng)下輸入 ctrl+z 可以作為文件結(jié)束符(end-of-file)
sum += val;
}
std::cout << "The sum is " << sum << std::endl;
return 0;
}
for語句:
#include <iostream>
int main()
{
int sum = 0;
for (int val = 1; val <= 10; ++val){
sum += val;
}
std::cout << "The sum of 1 to 10 inclusive is " << sum << std::endl;
return 0;
}
- for語句可以簡(jiǎn)化管理循環(huán)變量.不像在while語句中谎脯,需要
val
這樣的值來控制循環(huán)葱跋。其執(zhí)行流程為:- 1,創(chuàng)建
val
并初始化為1 - 2穿肄,測(cè)試
val
是否小于或等于10 - 3年局,如果
val
小于或等于10,執(zhí)行for循環(huán)體:把val
值加到sum
變量中咸产;否則矢否,執(zhí)行for語句體之后的語句 - 4,
val
加1 - 5脑溢,重復(fù)第2~4步
- 1,創(chuàng)建
2.2僵朗、if語句
假設(shè)這樣一種情況:將用戶輸入的兩個(gè)數(shù)作為上赖欣、下界,然后用上面的循環(huán)求和验庙。這個(gè)時(shí)候我們就需要判定那個(gè)數(shù)值更大而作為上界顶吮,另一個(gè)作為下界。
#include <iostream>
int main()
{
std::cout << "Enter two Numbers:" << std::endl;
int val1, val2;
std::cin>> val1 >> val2;
int lower, upper;
if (val1 <= val2) {
lower = val1;
upper = val2;
} else {
lower = val2;
upper = val1;
}
int sum = 0;
for (int val = lower; val <= upper; ++val){
sum += val;
}
std::cout << "The sum of "<< lower << " to "<< upper <<" inclusive is " << sum << std::endl;
return 0;
}
- 代碼就不用多說了粪薛,一眼就能看出來
三悴了、類的簡(jiǎn)介
假設(shè)有書店問題:某書店以文件形式保存每一筆交易。每筆交易形式如:0-201-70353-x 4 24.99
第一個(gè)元素是ISBN违寿,第二個(gè)為銷售冊(cè)數(shù)湃交,第三個(gè)為單價(jià)。店主定期查看這個(gè)文件藤巢,統(tǒng)計(jì)每本書的銷售冊(cè)數(shù)搞莺、總銷售額以及平均售價(jià)。
3.1掂咒、Sales_item類
-
Sales_item對(duì)象上的操作
- 加法
+
:將兩個(gè)對(duì)象相加才沧; - 輸入
>>
: 讀取一個(gè)對(duì)象; - 輸出
<<
:輸出一個(gè)對(duì)象绍刮; - 賦值
=
:將一個(gè)對(duì)象賦給另一個(gè)對(duì)象温圆; - 對(duì)比
?
:對(duì)比兩個(gè)對(duì)象是否屬于同一本書(函數(shù)same_isbn);
- 加法
-
初探成員函數(shù)
成員函數(shù)是由類定義的函數(shù)录淡,也稱為類方法捌木。如
item1.same_isbn(item2)
調(diào)用類Sales_item的成員函數(shù)same_isbn來對(duì)比item1
和item2
。
注:標(biāo)準(zhǔn)庫的頭文件用尖括號(hào)
<>
括起來嫉戚,非標(biāo)準(zhǔn)庫用雙引號(hào)""
。
END.