一、變數與數據類型
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