第一章 開始

1.2輸入輸出

C++的iostream庫來提供輸入和輸出。iostream包含istreamostream兩個類,分別代表輸入流和輸出流。
標(biāo)注庫定義了4個io對象。為了處理輸入,我們使用一個名為cinistream對象。這個對象被稱為標(biāo)準(zhǔn)輸入。對于輸出,我們使用一個名為coutostream類型的對象。此對象也被稱為標(biāo)準(zhǔn)輸出。標(biāo)準(zhǔn)庫還定義了其他兩個ostream對象,名為cerrclog。通常用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::指出名字coutendl是定義在名為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ù)和平均售價。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • C++運(yùn)算符重載-上篇 本章內(nèi)容:1. 運(yùn)算符重載的概述2. 重載算術(shù)運(yùn)算符3. 重載按位運(yùn)算符和二元邏輯運(yùn)算符4...
    Haley_2013閱讀 2,385評論 0 51
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,676評論 1 51
  • 程序骨架 輸入和輸出 流程控制 while 循環(huán) 下面的程序使用 while 循環(huán)演示了從 1 加到 10 的和是...
    大道至簡峰閱讀 740評論 0 0
  • 本文是Advanced Apple Debugging的學(xué)習(xí)筆記.首先將Xcode升級到8.3版本.可以通過下載地...
    股金雜談閱讀 3,330評論 13 4
  • 21:15,旦大走在路上。這條路,在過去400多個復(fù)習(xí)考研的日日夜夜里,不知走過多少遍。不知為何,今天的路燈竟然沒...
    paw丸閱讀 305評論 0 0

友情鏈接更多精彩內(nèi)容