目录
一 C++内置的几种循环
循环类型 | 描述 |
当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。 | |
多次执行一个语句序列,简化管理循环变量的代码。 | |
除了它是在循环主体结尾测试条件外,其他与 while 语句类似。 | |
您可以在 while、for 或 do..while 循环内使用一个或多个循环。 |
实例代码:
#include <iostream>
int main() {
//创建一个静态变量,记录所有循环执行的次数
static int count=0;
//for循环演示
for (int i = 0; i < 100; ++i) {
std::cout<<"for=====i= "<<i<<std::endl;
count++;
}
//while循环演示
int i=0;
while ( i<100){
std::cout<<"while=====i= "<<i<<std::endl;
i++;
count++;
}
//do while演示,do while如果条件不满足执行会执行一次
int sum=0;
do{
std::cout<<"do...while=====sum= "<<sum<<std::endl;
sum+=sum;
sum++;
count++;
} while (sum<100);
//上面三种循环是可以任意嵌套的,而且嵌套的层级不限,但是一般实际开发中循环嵌套层级不超过二级。
int max=199;
while (max>0){
for (int j = 0; j < 10; ++j) {
std::cout<<"while与for嵌套=====max*j= "<<max*j<<std::endl;
count++;
}
max--;
std::cout<<"while与for嵌套=====i= "<<i<<std::endl;
}
std::cout<<"总循环次数count= "<<count<<std::endl;
return 0;
}
二 循环控制语句
控制语句 | 描述 |
终止 loop 或 switch 语句,程序流将继续执行紧接着 loop 或 switch 的下一条语句。 | |
引起循环跳过主体的剩余部分,立即重新开始测试条件。 | |
将控制转移到被标记的语句。但是不建议在程序中使用 goto 语句。 |
代码演示:
//f循环控制语句演示
for (int i = 0; i < 100; ++i) {
if (i%2) {
std::cout<<"continue : "<<i<<std::endl;
continue; //如果i为偶数,则跳过当前循环,进入下一次循环
}
//当i等于98时,退出循环
if (i==98){
std::cout<<"当i等于98时,退出循环 : "<<i<<std::endl;
break;
}
count++;
}
特别注意:
上面的三种循环,当条件不满足时循环自动停止,但是如果条件一直满足,那么程序就会陷入死循环。如下写法:
for (; ; ) { } //这段代码会一直执行,永不停止,除非人为或操作系统主动停止程序执行。可以可以按 Ctrl + C 键终止一个无限循环。
三 判断语句
C++ 编程语言提供了以下类型的判断语句:
语句 | 描述 | |
一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 | ||
一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 | ||
您可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 | ||
一个 switch 语句允许测试一个变量等于多个值时的情况。 | ||
您可以在一个 switch 语句内使用另一个 switch 语句。 |
代码示范:
//if else示范
if (count > 2000) {
std::cout << "count大于2000次" << std::endl;
} else {
std::cout << "count小于2000次" << std::endl;
}
//嵌套if示范
if (count > 2000) {
if (count < 3000)
std::cout << "count在2000至3000之间" << std::endl;
}
//switch演示及嵌套演示
switch (count) {
case 2000:
std::cout << "count为2000" << std::endl;
break;
case 3000:
std::cout << "count为3000" << std::endl;
break;
//在其中一个分支里面嵌套一个switch,这里仅做演示,代码没实际意义
case 3001:
switch (count) {
case 3001:
std::cout << "count为2000" << std::endl;
break;
}
break;
}
四 条件运算符 ?:演示
//条件运算符演示: 相当于一个if else的简写
int a=20,b=90;
if (a>b ? true: false){
std::cout<<"a大于b"<<std::endl;
} else{
std::cout<<"a小于b"<<std::endl;
}