C++初學者必知的語言特性和基礎語法

一、變數與數據類型

1、C++變數定義和數據類型

#include <iostream>

int main()
{
    //定義整型變數a和b
    int a, b;

    //定義字元型變數c,並賦值
    char c = 'A';

    //定義浮點型變數pi,並賦值
    float pi = 3.14;

    //定義雙精度浮點型變數e,並賦值
    double e = 2.71828;

    //輸出變數值
    std::cout << "a的值為:" << a << std::endl;
    std::cout << "b的值為:" << b << std::endl;
    std::cout << "c的值為:" << c << std::endl;
    std::cout << "pi的值為:" << pi << std::endl;
    std::cout << "e的值為:" << e << std::endl;

    return 0;
}

2、C++數據類型轉換

#include <iostream>

int main()
{
    int a = 10;

    //強制類型轉換
    double b = (double)a;

    std::cout << "a的值為:" << a << std::endl;
    std::cout << "b的值為:" << b << std::endl;

    return 0;
}

3、C++常量定義

#include <iostream>

#define PI 3.14159

int main()
{
    //輸出π
    std::cout << "π的值為:" << PI << std::endl;

    return 0;
}

二、運算符

1、算術運算符

#include <iostream>

int main()
{
    int a = 10, b = 3;

    std::cout << "a + b = " << a + b << std::endl;
    std::cout << "a - b = " << a - b << std::endl;
    std::cout << "a * b = " << a * b << std::endl;
    std::cout << "a / b = " << a / b << std::endl;
    std::cout << "a % b = " << a % b << std::endl; //取模運算

    return 0;
}

2、關係運算符

#include <iostream>

int main()
{
    int a = 10, b = 3;

    std::cout < b :" < b) << std::endl;
    std::cout << "a < b :" << (a < b) << std::endl;
    std::cout <= b :" <= b) << std::endl;
    std::cout << "a <= b :" << (a <= b) << std::endl;
    std::cout << "a == b :" << (a == b) << std::endl;
    std::cout << "a != b :" << (a != b) << std::endl;

    return 0;
}

3、邏輯運算符

#include <iostream>

int main()
{
    int a = 10, b = 3;

    std::cout < b) :" < b) << std::endl;
    std::cout < b) && (a < 20) :" < b) && (a < 20)) << std::endl;
    std::cout << "(a < b) || (a < 20) :" << ((a < b) || (a < 20)) << std::endl;

    return 0;
}

三、控制語句

1、if語句

#include <iostream>

int main()
{
    int a = 10, b = 3;

    if(a > b)
    {
        std::cout << "a大於b" << std::endl;
    }
    else
    {
        std::cout << "a小於等於b" << std::endl;
    }

    return 0;
}

2、switch語句

#include <iostream>

int main()
{
    int a = 2;

    switch(a)
    {
        case 0:
            std::cout << "a等於0" << std::endl;
            break;
        case 1:
            std::cout << "a等於1" << std::endl;
            break;
        case 2:
            std::cout << "a等於2" << std::endl;
            break;
        default:
            std::cout << "a的值不在0、1、2中" << std::endl;
    }

    return 0;
}

3、for循環

#include <iostream>

int main()
{
    for(int i = 0; i < 5; i++)
    {
        std::cout << "i的值為:" << i << std::endl;
    }

    return 0;
}

4、while循環

#include <iostream>

int main()
{
    int i = 0;

    while(i < 5)
    {
        std::cout << "i的值為:" << i << std::endl;
        i++;
    }

    return 0;
}

四、函數

1、函數定義

#include <iostream>

//函數聲明
int max(int a, int b);

int main()
{
    int a = 10, b = 3;

    std::cout << "a和b中的最大值為:" << max(a, b) < b ? a : b;
}

2、函數重載

#include <iostream>

int max(int a, int b);
double max(double a, double b);

int main()
{
    int a = 10, b = 3;
    double c = 3.14, d = 2.718;

    std::cout << "a和b中的最大值為:" << max(a, b) << std::endl;
    std::cout << "c和d中的最大值為:" << max(c, d) < b ? a : b;
}

double max(double a, double b)
{
    return a > b ? a : b;
}

3、函數指針

#include <iostream>

//函數聲明
int max(int a, int b);

int main()
{
    //函數指針
    int (*p)(int, int) = max;

    int a = 10, b = 3;

    std::cout << "a和b中的最大值為:" << (*p)(a, b) < b ? a : b;
}

五、數組與指針

1、一維數組

#include <iostream>

int main()
{
    int arr[5] = {1, 3, 5, 7, 9};

    //遍曆數組中的數據
    for(int i = 0; i < 5; i++)
    {
        std::cout << "arr[" << i << "] = " << arr[i] << std::endl;
    }

    return 0;
}

2、二維數組

#include <iostream>

int main()
{
    int arr[2][3] = {{1, 2, 3},
                    {4, 5, 6}};

    //遍曆數組中的數據
    for(int i = 0; i < 2; i++)
    {
        for(int j = 0; j < 3; j++)
        {
            std::cout << "arr[" << i << "][" << j << "] = " << arr[i][j] << std::endl;
        }
    }

    return 0;
}

3、指針

#include <iostream>

int main()
{
    int a = 10;

    int *p = &a;

    std::cout << "p指針指向的值為:" << *p << std::endl;

    return 0;
}

六、類和對象

1、類和對象的定義

#include <iostream>

//類的定義
class Student
{
public:
    void setName(std::string name);
    std::string getName();

    void setAge(int age);
    int getAge();

private:
    std::string m_name;
    int m_age;
};

//類的實現
void Student::setName(std::string name)
{
    m_name = name;
}

std::string Student::getName()
{
    return m_name;
}

void Student::setAge(int age)
{
    m_age = age;
}

int Student::getAge()
{
    return m_age;
}

int main()
{
    //對象的使用
    Student stu;

    stu.setName("小明");
    stu.setAge(20);

    std::cout << stu.getName() << "今年" << stu.getAge() << "歲。" << std::endl;

    return 0;
}

2、構造函數和析構函數

#include <iostream>

class Student
{
public:
    //構造函數
    Student(std::string name, int age);
    //析構函數
    ~Student();

    void setName(std::string name);
    std::string getName();

    void setAge(int age);
    int getAge();

private:
    std::string m_name;
    int m_age;
};

//構造函數的實現
Student::Student(std::string name, int age)
{
    m_name = name;
    m_age = age;

    std::cout << "構造函數被調用" << std::endl;
}

//析構函數的實現
Student::~Student()
{
    std::cout << "析構函數被調用" << std::endl;
}

void Student::setName(std::string name)
{
    m_name = name;
}

std::string Student::getName()
{
    return m_name;
}

void Student::setAge(int age)
{
    m_age = age;
}

int Student::getAge()
{
    return m_age;
}

int main()
{
    Student stu("小明", 20);

    std::cout << stu.getName() << "今年" << stu.getAge() << "歲。" << std::endl;

    return 0;
}

3、成員函數的訪問控制

#include <iostream>

class Student
{
public:
    void setName(std::string name);
    std::string getName();

    void setAge(int age);
    int getAge();

    void study();

private:
    std::string m_name;
    int m_age;
};

void Student::setName(std::string name)
{
    m_name = name;
}

std::string Student::getName()
{
    return m_name;
}

void Student::setAge(int age)
{
    m_age = age;
}

int Student::getAge()
{
    return m_age;
}

void Student::study()
{
    std::cout << m_name << "正在學習" << std::endl;
}

int main()
{
    Student stu;

    stu.setName("小明");
    stu.setAge(20);

    stu.study();

    return 0;
}

七、異常

1、拋出異常

#include <iostream>

int divide(int a, int b)
{
    if(b == 0)
    {
        //拋出異常
        throw "除數不能為0";
    }
    return a / b;
}

int main()
{
    int a = 10, b = 0;

    try
    {
        int c = divide(a, b);
        std::cout << "a / b = " << c << std::endl;
    }
    catch(const char *e)
    {
        std::cout << "異常信息:" << e << std::endl;
    }

    return 0;
}

2、捕獲異常

#include <iostream>

int divide(int a, int b)
{
    if(b == 0)
    {
        throw "除數不能為0";
    }
    return a / b;
}

int main()
{
    int a = 10, b = 0;

    try
    {
        int c = divide(a, b);
        std::cout << "a / b = " << c << std::endl;
    }
    catch(const char *e)
    {
        std::cout << "異常信息:" << e << std::endl;
    }
    catch(...)
    {
        std::cout << "未知異常" << std::endl;
    }

    return 0;
}

原創文章,作者:IYCZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145815.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IYCZ的頭像IYCZ
上一篇 2024-10-29 18:56
下一篇 2024-10-29 18:56

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • Python計算機語言的特性與應用

    Python,是一種高層次、解釋型的、面向對象的計算機編程語言。 一、簡介 Python編程語言的初衷是:代碼簡潔易讀、可拓展性強、適用範圍廣。其應用領域包括Web開發、數據科學、…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python初學者指南:第一個Python程序安裝步驟

    在本篇指南中,我們將通過以下方式來詳細講解第一個Python程序安裝步驟: Python的安裝和環境配置 在命令行中編寫和運行第一個Python程序 使用IDE編寫和運行第一個Py…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python語法大全解析

    本文旨在全面闡述Python語法,並提供相關代碼示例,幫助讀者更好地理解Python語言。 一、基礎語法 1、Python的注釋方式 # 這是單行注釋 “”” 這是多行注釋,可以注…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python 初學者:如何使用Python畫出可愛的小動物

    Python是一種功能強大的編程語言,可以幫助您開發各種有趣的應用程序,包括圖像處理、遊戲設計、機器學習等。在這篇文章中,我們將向初學者介紹如何使用Python畫出可愛的小動物。我…

    編程 2025-04-29
  • Python中複數的語法

    本文將從多個方面對Python中複數的語法進行詳細的闡述。Python中的複數是指具有實部和虛部的數,其中實部和虛部都是浮點數。它們可以用「實數+虛數j」的形式表示。例如,3 + …

    編程 2025-04-29

發表回復

登錄後才能評論