標籤:c++ c++ primer 快速入門 注釋 編譯
C++快速入門
--這個月的第一篇部落格,獻給我最愛的C++程式設計語言!
一、編寫簡單的C++程式
[cpp] view plaincopyprint?
- //main函數是唯一一個被作業系統顯式調用的函數。
- int main()
- {
- /*
- *該返回值作為狀態指示器,需要返回給作業系統!
- *以echo $?命令可以查看該返回值
- *通常非零返回值表示有錯誤出現,由作業系統定義
- */
- return 0;
- }
//main函數是唯一一個被作業系統顯式調用的函數。int main(){ /* *該傳回值作為狀態指示器,需要返回給作業系統! *以echo $?命令可以查看該傳回值 *通常非零傳回值表示有錯誤出現,由作業系統定義 */ return 0;}
二、初窺輸入/輸出
1、標準輸入:cin
2、標準輸出:cout
3、cerr、clog
【當寫到cout、cerr與clog時,輸出寫至同一視窗!但是利用重新導向可以將這些流與所選擇的檔案聯絡起來】
[cpp] view plaincopyprint?
- #include <iostream>
- //iostream庫定義了接受各種內建類型的輸入/輸出操作符版本
-
- int main()
- {
- /*
- *當操作符是輸入(>>)、輸出(<<)操作符時,
- *其結果是左運算元,
- *也就是說:輸入/輸出操作返回的值是輸入/輸出流本身
- */
-
- //將"..."的內容寫入到cout對象中
- std::cout << "Enter two numbers:" << std::endl;
- int v1,v2;
- //從istream運算元讀入資料並儲存在右運算元中
- std::cin >> v1 >> v2;
- //endl具有:1、輸出換行 2、重新整理與裝置相關聯的緩衝區 的作用
- std::cout << "The sum of " << v1 << " and " << v2
- << " is " << v1 + v2 << std::endl;
- return 0;
- }
#include <iostream>//iostream庫定義了接受各種內建類型的輸入/輸出操作符版本int main(){/**當操作符是輸入(>>)、輸出(<<)操作符時,*其結果是左運算元,*也就是說:輸入/輸出操作返回的值是輸入/輸出流本身*///將"..."的內容寫入到cout對象中 std::cout << "Enter two numbers:" << std::endl; int v1,v2; //從istream運算元讀入資料並儲存在右運算元中 std::cin >> v1 >> v2; //endl具有:1、輸出換行 2、重新整理與裝置相關聯的緩衝區 的作用 std::cout << "The sum of " << v1 << " and " << v2 << " is " << v1 + v2 << std::endl; return 0;}
三、關於注釋
1、注釋用於:
概括演算法、確認變數的用途、闡明難以理解的程式碼片段
2、規則
1)多行注釋:使用注釋對/**/,同時,在注釋的每一行以星號開始,指明整個範圍是多行注釋的一部分。
2)單行注釋:使用//
3)通常最好是將一個註解區塊放在所解釋代碼的上方!
4)注釋對不可嵌套
是否正確:
[cpp] view plaincopyprint?
- #include <iostream>
- /*
- *comment pairs/* */ cannot nes.
- *"cannot nest" is considered source code.
- *as is the rest of the program
- */
-
- int main()
- {
- return 0;
- }
-
- 1、std::cout << "/*"; //輸出”/*”
- 2、std::cout << "*/"; //輸出”*/”
- 3、std::cout << /* "*/" */; //編譯出錯
#include <iostream>/**comment pairs/* */ cannot nes.*"cannot nest" is considered source code.*as is the rest of the program*/int main(){return 0;}1、std::cout << "/*";//輸出”/*”2、std::cout << "*/";//輸出”*/”3、std::cout << /* "*/" */;//編譯出錯
四、控制結構
1、關於C++程式的縮排和格式:
一旦你選定了某種風格,就要始終如一地使用他!
2、再談編譯
編譯器可以檢查出的錯誤:
1)語法錯誤
2)類型錯誤
3)聲明錯誤
編譯器無法檢測出的錯誤:
邏輯錯誤,該類錯誤一般需要單步跟蹤等進行調試,工具如GDB等。
3、讀入未知數目的輸入
如果定義了變數intval;並執行語句while(std::cin >> val){...},會為判斷條件,先執行輸入操作,如果遇到檔案結束符(end-of-file)或遇到無效的輸入時,如讀取了一個不是整數的值,則istream對象是無效的。處於無效狀態的istream對象將導致條件失敗。
4、從鍵盤輸入檔案結束符
Windows:Ctrl+z UNIX/Linux/MacOS:Ctrl+D【在Ubuntu下有時候需要連摁兩下】
P14.習題
[cpp] view plaincopyprint?
- //題1.10
- #include <iostream>
-
- int main()
- {
- int sum = 0;
- int val = 50;
- while (val <= 100)
- {
- sum += val;
- ++ val;
- }
- std::cout << sum << std::endl;
- return 0;
- }
//題1.10#include <iostream>int main(){int sum = 0;int val = 50;while (val <= 100){sum += val;++ val;}std::cout << sum << std::endl;return 0;}
[cpp] view plaincopyprint?
- //題1.11
- #include <iostream>
-
- int main()
- {
- for (int i = 10;i >= 0; --i)
- {
- std::cout << i << std::endl;
- }
- return 0;
- }
//題1.11#include <iostream>int main(){for (int i = 10;i >= 0; --i){std::cout << i << std::endl;}return 0;}
[cpp] view plaincopyprint?
- //題1.12編譯並認識下列錯誤
- #include <iostream>
-
- int main(
- {
- std::cout << "read" << std::endl:
- std::cout << update << std::endl;
- std::cout << "write" << std::endl;
- return 0
- }
C++ Primer 學習筆記_1_快速入門