首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C++ 入門筆記 Day 1:編譯流程、基本語法與輸入輸出

     編輯:關於C語言

前言:為什麼選擇 C++?

C++ 以「零開銷抽象」著稱,兼具高層語言表達力與底層控制能力。其核心優勢在於:

  • 簡櫜性:模板、泛型演算法、RAII 讓複雜邏輯用少量代碼表達
  • 可維護性:類別封裝、命名空間、強型別系統支援大規模工程
  • 可移植性:標準化(ISO C++)確保跨平台一致行為

編譯流程:從原始碼到可執行檔

source.cpp
    │
    ▼ 預處理器
processed.cpp (.i)  ← 展開 #include、#define、條件編譯
    │
    ▼ 編譯器
object.o (.obj)     ← 機器碼、符號表、重定位資訊
    │
    ▼ 連結器
a.out / app.exe     ← 解析外部符號、鏈接庫、生成最終可執行檔

關鍵概念:

  • 編譯單元:單一 .cpp + 其包含的所有 header
  • 單一定義規則 (ODR):實體在整個程式中只能有一個定義
  • 符號修飾:函式多載、命名空間在目標檔中的唯一標識

C++ 基本語法要點

大小寫敏感

main、Main、MAIN 是三個不同標識符。

Token 類別

第一個程式:Hello World 完整解析

/* 
 * File:   main.cpp
 * Author: Gong Li
 * Created on June 24, 2011, 9:18 PM
 */

#include   // 預處理指令:引入輸出輸入流標頭

using namespace std; // 引入 std 命名空間(教學用,實務建議限域使用)

/* 
 * 主函式:程式進入點
 * 返回 int:向作業系統回報執行狀態(0=成功)
 */
int main() {
    std::cout << "Hello, world!";  // 輸出字串到標準輸出
    return 0;                      // 正常結束
}

逐行詳細說明

類別範例
關鍵字int, class, if, while, template, nullptr
標識符myVariable, _count, MAX_SIZE
字面常量42, 3.14, 'a', "hello", true
運算子+, -, *, /, %, <<, >>, ==, &&
標點符號{ } [ ] ( ) ; , : ::
空白字元空格、Tab、換行(分隔 token 用)

輸入與輸出基礎

標準輸出 cout

cout << "Hello" << ' ' << "World" << endl;  // endl = '\n' + flush
cout << "Value: " << 42 << ", Hex: " << hex << 42 << dec;  // 格式控制

標準輸入 cin

int x; double y; string s;
cin >> x >> y;           // 讀取整數與浮點數(跳過空白)
getline(cin, s);         // 讀取整行(含空白),需處理殘留換行符

流狀態檢查

if (cin) { /* 正常 */ }
if (cin.fail()) { /* 格式錯誤 */ cin.clear(); cin.ignore(numeric_limits::max(), '\n'); }
if (cin.eof()) { /* 檔案結束 */ }

常見新手誤區與最佳實踐

代碼解釋
// ... 或 /* ... */單行/多行註解,編譯器忽略
#include <iostream>預處理器將 iostream 內容原文插入此處
int main() { }程式進入點,由啟動代碼 (CRT) 呼叫
std::cout << "..."輸出流運算子,鏈式呼叫支援多參數
namespace std標準庫符號容器,避免名稱衝突
"Hello, world!"字串字面常量,類型 const char[14]
跳脫序列 \n, \t, \\特殊字元表示
return 0向 OS 回報成功退出碼
誤區正確做法
使用 void main()標準要求 int main()
忽略 return 0C++ 隱含返回 0,但建議顯式寫出
全域 using namespace std函式內部使用或 using std::cout
混用 printf/scanf 與 iostream選一風格;若混用需 ios::sync_with_stdio(false)
字串用 char* 手工管理優先使用 std::string

練習建議

  1. 撰寫程式:輸入姓名、年齡、身高,格式化輸出自我介紹
  2. 實作簡易計算機:讀取兩數與運算子,輸出結果(處理除零)
  3. 嘗試編譯錯誤:故意寫錯語法,觀察編譯器錯誤訊息
  4. 使用除錯器:設中斷點、觀察變數、單步執行

下一步預告

Day 2 將涵蓋:變數與資料型別、運算子優先序、控制流程、函式基礎。建議先熟悉編譯器(GCC/Clang/MSVC)與 IDE(VS Code、CLion、Visual Studio)基本操作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved