等待
等待1要运用到头文件<unistd.h>中的sleep函数,万能头文件<bits/stdc++.h>都没包含!用万能头文件头文件
下面是等待一秒后结束程序的代码1:
#include<unistd.h>
int main(){sleep(1);}
句型是:sleep(等待秒数)
下面是等待一秒后结束程序的代码2:
#include <chrono>
#include <thread>
int main(){
std::this_thread::sleep_for(std::chrono::seconds(1));
return 0;
}
句型是:this_thread::sleep_for(chrono::second/*秒,minutes分钟,milliseconds毫秒*/ (多少));
循环
switch
expression
:是一个表达式,其结果必须是一个整数(包括字符和枚举值,因为它们在C++中也是整数)或可以转换为整数的类型。case
:后面跟着一个常量表达式,它与switch
表达式的结果进行比较。break
:是可选的。如果省略了break
,程序会继续执行下一个case
,直到遇到break
或switch
块的末尾。这种行为被称为“穿透”或“瀑布效应”。default
:也是可选的,它定义了当switch
表达式的结果不匹配任何case
标签时要执行的代码。
switch语句的执行过程
- 计算
expression
的值,假设为m。 - 从第一个
case
开始,比较“常量表达式1”和m,如果它们相等,就执行冒号后面的所有语句,直到遇到break
或switch
块的末尾。 - 如果“常量表达式1”和m不相等,就跳过冒号后面的语句,继续比较第二个
case
、第三个case
……一旦发现和某个常量表达式相等了,就会执行后面所有的语句。 -
如果直到最后一个
case
都没有找到相等的值,那么就执行default
后的代码。
while
while (条件表达式) {
// 循环体代码
}
其中,条件表达式是一个返回布尔值的表达式,可以是任何能够返回布尔值(true或false)的表达式,例如比较运算符、逻辑运算符等。如果条件表达式为true,则执行循环体内的代码;如果为false,则跳出循环,继续执行循环之后的代码
注意事项和常见错误
- 避免无限循环:确保循环条件最终会变为false,否则会导致无限循环。例如,
while(true)
会导致无限循环。 - 条件表达式的计算:条件表达式在每次循环开始时都会被重新计算,确保每次循环的条件都是正确的。
- 循环体的执行:如果条件表达式为true,循环体会被执行;如果为false,循环终止。因此,确保循环体的逻辑正确执行。
for
for (初始化表达式; 条件表达式; 迭代表达式) {
// 循环体
}
- 初始化表达式:在循环开始时执行一次,通常用于初始化循环计数器变量。
- 条件表达式:每次迭代前进行检查,如果为真,则继续循环,如果为假,则退出循环。
- 迭代表达式:每次迭代后执行,通常用于更新循环计数器。
基于范围的for
循环(C++11引入)
基于范围的for
循环允许遍历数组或容器中的所有元素,而不需要显式管理循环计数器。它非常适合遍历STL容器(如std::vector
)、C风格数组等。基本语法如下:
for (声明 : 容器) {
// 循环体
}
- 声明:用于声明遍历元素的变量,通常是一个引用或拷贝。
- 容器:可以是数组或任何支持
begin()
和end()
的容器。
do...while
在C++中,do...while
循环是一种后测试循环,意味着循环体中的代码至少会执行一次,即在循环体执行后才会检查循环的终止条件。
do...while
循环的基本语法如下:
do {
// 循环体
} while (条件);