一、變量與數據類型
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-hk/n/145815.html
微信掃一掃
支付寶掃一掃