1. 程式人生 > 實用技巧 >C語言學習筆記之 開始

C語言學習筆記之 開始

開始

初識輸入輸出

標準輸入輸出物件

C++標準庫(iostream)定義了四個IO物件。

輸入

cin(發音:see-in):istream物件,用於處理輸入

cin >> 變數;

輸出

cout(發音:see-out):ostream物件,稱為標準輸出

cerr(發音:see-err):用於輸出警告和錯誤資訊

clog(發音:see-log):用於輸出日誌

例1

#include <iostream>

int main(int argc, char *argv[])
{
    std::cout << "請輸入兩個整數:";
    int num1, num2;
    std::cin >> num1 >> num2;
    std::cout << num1
              << "和"
              << num2 << "的和為:"
              << num1 + num2 << std::endl;

    return 0;
}
請輸入兩個整數:1 23
1和23的和為:24

詳解

名稱空間

在例1中可以看到這樣的程式碼

std::cout
std::cin

而不是直接用

cout
cin

字首std::指出名字coutcin是定義在名為std名稱空間(namespace) 中的

名稱空間可以幫我們避免名字衝突, 標準庫定義的所有名字都在名稱空間std

我們可以通過 作用域運算子(::) 來指出名稱空間,也可以使用using namespace來使用(後面詳細講解)

例2:

#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    cout << "Hello world" << endl;

    return 0;
}

向流寫入資料

輸出運算子:<<
<<接收兩個運算物件,左側的運算物件必須是一個ostream
右側物件是要列印的值
此運算子將給定的值寫到指定的ostream物件中
返回左側運算物件

從流中讀取資料

輸入運算子:>>
與<<類似,左側運算物件為istream物件
返回左側運算物件

輸入輸出運算子和位移運算子都是<<和>>

#include <iostream>
#include <cstdio>
#include <cstdlib>

using namespace std;

int main(int argc, char *argv[])
{
    int num;
    std::cin >> num;
    int num1 = num >> 2;
    int num2 = num << 2;

    char cnum1[1024]; // 轉換為二進位制字串
    char cnum[1024];
    char cnum2[1024];
    itoa(num1,cnum1,2);
    itoa(num2,cnum2,2);
    itoa(num,cnum,2);

    std::cout << cnum << " << 2 = " << cnum2
              << "\n" << cnum << " >> 2 = " << cnum1 << std::endl;

    return 0;
}
11
1011 << 2 = 101100
1011 >> 2 = 10