1.2輸入輸出
C++的iostream庫來提供輸入和輸出。iostream包含istream和ostream兩個類,分別代表輸入流和輸出流。
標(biāo)注庫定義了4個io對象。為了處理輸入,我們使用一個名為cin的istream對象。這個對象被稱為標(biāo)準(zhǔn)輸入。對于輸出,我們使用一個名為cout的ostream類型的對象。此對象也被稱為標(biāo)準(zhǔn)輸出。標(biāo)準(zhǔn)庫還定義了其他兩個ostream對象,名為cerr和clog。通常用cerr來輸出警告和錯誤信息,因此也被稱為標(biāo)準(zhǔn)錯誤。而clog用來輸出程序運(yùn)行時的一般性信息。
#include "stdafx.h"
#include <iostream>
int main()
{
std::cout << "enter tow numbers" << std::endl;
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2;
std::cout << "the sum of " << v1 << "and" << v2 << "is" << v1 + v2 << std::endl;
return 0;
}
<<是輸出運(yùn)算符,接受兩個運(yùn)算對象:左側(cè)的運(yùn)算對象必須是一個ostream對象,右側(cè)的運(yùn)算對象是要打印的值。此運(yùn)算符將給定的值寫個給定的ostream對象中。輸出運(yùn)算符的計(jì)算結(jié)果就是我們寫入給定值的ostream對象。
endl是一個被稱為操縱符的特殊值。寫入endl的效果是結(jié)束當(dāng)前行,并將與設(shè)備關(guān)聯(lián)的緩沖區(qū)中的內(nèi)容刷到設(shè)備中。緩沖刷新操作可以保證目前為止程序所產(chǎn)生的所有輸出都真正寫入輸出流中,而不是僅停留在內(nèi)存中等待寫入流。
std::指出名字cout和endl是定義在名為std的命名空間中的。
>>是輸入運(yùn)算符,同樣接受兩個運(yùn)算對象:左側(cè)運(yùn)算對象是一個istream對象,右側(cè)是一個對象。此運(yùn)算符從給定的istream讀取數(shù)據(jù),并存入給定對象中。輸入運(yùn)算符的計(jì)算結(jié)果就是給定的istream對象。
1.3注釋
單行注釋以雙斜線(//)開始,以換行符結(jié)束。
多行注釋以/*開始以*/結(jié)束。
1.4控制流
1.4.1While語句
#include "stdafx.h"
#include <iostream>
int main()
{
int sum = 0, num = 1;
while (num <= 10) {
sum += num;
num++;
}
std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
return 0;
}
1.4.2for循環(huán)
#include "stdafx.h"
#include <iostream>
int main()
{
int sum = 0;
for (int num = 1; num <= 10; num++) {
sum += num;
}
std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl;
return 0;
}
1.4.3 讀取數(shù)量不定的輸入數(shù)據(jù)
#include <iostream>
int main()
{
int sum = 0, value = 0;
while(std::cin>>value)
sum += value;
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
從標(biāo)準(zhǔn)輸入讀取下一個數(shù),保存在value中。輸入運(yùn)算符返回其左側(cè)運(yùn)算對象,在本例中是std::cin。因此,此循環(huán)條件實(shí)際上檢測的是std::cin。
當(dāng)我們使用一個isstream對象作為條件時,其效果是檢測流的狀態(tài)。如果流是有效的,即流未遇到錯誤,那么檢測成功。當(dāng)遇到文件結(jié)束符(end-of-file),或遇到一個無效輸入時(例如讀入的值不是一個整數(shù)),istream對象的狀態(tài)會變?yōu)闊o效。處于無效狀態(tài)的istream對象會使條件變?yōu)榧佟?/p>
1.4.4 if語句
統(tǒng)計(jì)輸入中每個值連續(xù)出現(xiàn)的次數(shù):
#include <iostream>
int main()
{
int currVal = 0, val = 0;
if(std::cin >> currVal){
int cnt = 1;
while(std::cin >> val){
if(val == currVal)
++cnt;
else{
//打印前一個值的個數(shù)
std::cout << currVal << " occurs "
<< cnt << " times" << std::endl;
currVal = val;
cnt = 1;
}
}
//打印最后一個值的個數(shù)
std::cout << currVal << " occurs "
<< cnt << " times" << std::endl;
}
return 0;
}
1.5類簡介
1.5.1 Sales_item類
Sales_item類的作用是表示一本書的總銷售額、售出冊數(shù)和平均售價。