一、变量与数据类型
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/n/145815.html
微信扫一扫
支付宝扫一扫