计算 -2

来源:互联网 发布:东芝181软件安装 编辑:程序博客网 时间:2024/04/26 07:01

继续对C++进行学习,第四章《计算》

目标:
- 正确
- 简单
- 高效


1. 常量表达式

constexpr double pi = 3.14;//定义一个**不可修改**的常量

一个constexpr符号常量必须给定一个在编译时就已知的值,例如:

constexpr int max = 100;void use(int n){    constexpr int c1 = max + 7;//正确,c1是107    constexpr int c2 = n + 7d;//错误,不知道c2的值是多少}

为了解决这一情况,C++提出了第二种解决方法:
const

constexpr int max = 100;void use(int n){    constexpr int c1 = max + 7;//正确,c1是107    const int c2 = n + 7d;//正确,但是c2也是常量,不可修改}

最常用的还是const

2.switch语句

switch(a){case a的可能取值1:    语句...;    break;case a的可能值2:    语句...;    break;....default:    语句...;    break;
  • a必须是整型、字符型或者枚举类型。不能使字符串类型。
  • case语句中的值必须是常量表达式,不能用变量。
  • 不能在两个case语句中使用相同的数值。
  • 允许在一个case语句中使用多个case常量。
  • 必须在每一个case语句的末尾添加break。

3.函数
函数在使用前必须要声明。比如一个简单的求平方函数square(i)
在主函数之前必须要写:

int square(int);

然后再在后面随意的位置对函数进行定义。

4.vector
vector是一组可以通过索引来访问的顺序存储的数据元素。

vector<int> v = { 5,7,9,4,6,8 };vector<string>phi = {"apple","banana","car"};

一个vector只能存储与其数据类型相同的数据。

vector<int>vi(6);//vector的6个整型元素被初始化为0

注意,不能引用一个不存在的vector元素:

vi[2000] = 44;//运行时出错

Vector v的元素范围为[0:v.size()),这点跟数组类似,也就是0~v.size()-1

v.size();//获得v的大小

遍历序列元素:

vector<int> v = { 5,7,9,4,6,8 };    for(int x : v)    {        cout << x << ';    }
vector<double> v;    v.push_back(2.7);//使用push_back将新元素添加到vector中,使之成为最后一个元素    v.push_back(6.4);    v.push_back(3.6);

插叙:sort排序函数:
C++内置了sort函数,利用algorithm的头文件即可调用:

sort(temps.begin(),temps.end());//其中temps是一个Vector

默认是按照从小到大的顺序进行排序的,详细方法不赘述