接上节
循环语句
这一节写的是判断语句
if else语句
基本语法:
第一种:
if(bool(布尔变量))
{
如果bool值为真执行的语句;
}
else
{
如果bool值为假执行的语句;
}
如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。
语法举例:
#include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
int a = 100;
// 检查布尔条件
if( a < 20 )
{
// 如果条件为真,则输出下面的语句
cout << "a 小于 20" << endl;
}
else
{
// 如果条件为假,则输出下面的语句
cout << "a 大于 20" << endl;
}
cout << "a 的值是 " << a << endl;
return 0;
}
上述代码取自菜鸟教程
第二种:
if(条件1)
{
当条件1为真时执行语句;
}
else if(条件2)
{
当条件2为真时执行语句;
}
else if(条件3)
{
当条件3为真时执行语句;
}
......
else //除去上面所有条件的并集的情况
{
当条件1、2、3...都为假时执行语句;
}
当使用 if…else if…else 语句时,以下几点需要注意:
1.一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
2.一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
3.一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。
举个栗子
这里只放一张图,详情请通过上面链接跳转到洛谷查看
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const double pi=3.141593;
int main()
{
int T;
cin >> T;
if (T == 1)
cout << "I love Luogu!";
else if (T == 2)
cout << 2 + 4 << " " << 10 - 2 - 4;
else if (T == 3)
{
int i,j,k;
i=14/4;
j=i*4;
k=14-j;
cout<<i<<endl<<j<<endl<<k;
}
else if (T == 4)
{
double l;
l=500.0/3;
cout<<l;
}
else if (T == 5)
cout<<(220+260)/(12+20);
else if (T == 6)
cout<<sqrt(6*6+9*9);
else if (T == 7)
cout<<110<<endl<<90<<endl<<0;
else if (T == 8)
cout<<pi*10<<endl<<pi*25<<endl<<4/3.0*pi*125;
else if (T == 9)
cout<<"22";
else if (T == 10)
cout<<"9";
else if (T == 11)
{
double i=100.0/3;
cout<<i;
}
else if (T == 12)
cout<<int('M'-'A')+1<<endl<<char('A'+17);
else if (T == 13)
cout<<(int)(pow(4/3.0*pi*(4*4*4+10*10*10),1.0/3));
else if (T == 14)
cout<<"50";
return 0;
}
switch语句
基本语法:
switch(变量)
{
case 值1:
(语句;
break;)
case 值2:
(语句;
break;)
case 值3:
(语句;
break;)
default: //除去以上所有值的情况
(语句;)
}
小括号括着代表该语句可有可无,没有也可以正常运行
语法举例:
#include <iostream>
using namespace std;
int main ()
{
// 局部变量声明
char grade = 'D';
switch(grade)
{
case 'A' :
cout << "很棒!" << endl;
break;
case 'B' :
case 'C' :
cout << "做得好" << endl;
break;
case 'D' :
cout << "您通过了" << endl;
break;
case 'F' :
cout << "最好再试一下" << endl;
break;
default :
cout << "无效的成绩" << endl;
}
cout << "您的成绩是 " << grade << endl;
return 0;
}
实战:用上面用过的题目
代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const double pi=3.141593;
int main()
{
int T;
cin >> T;
switch(T)
{
case 1:
cout << "I love Luogu!";
break;
case 2:
cout << 2 + 4 << " " << 10 - 2 - 4;
break;
case 3:
{
int i,j,k;
i=14/4;
j=i*4;
k=14-j;
cout<<i<<endl<<j<<endl<<k;
break;
}
case 4:
{
double l;
l=500.0/3;
cout<<l;
break;
}
case 5:
cout<<(220+260)/(12+20);
break;
case 6:
cout<<sqrt(6*6+9*9);
break;
case 7:
cout<<110<<endl<<90<<endl<<0;
break;
case 8:
cout<<pi*10<<endl<<pi*25<<endl<<4/3.0*pi*125;
break;
case 9:
cout<<"22";
break;
case 10:
cout<<"9";
break;
case 11:
{
double i=100.0/3;
cout<<i;
break;
}
case 12:
cout<<int('M'-'A')+1<<endl<<char('A'+17);
break;
case 13:
cout<<(int)(pow(4/3.0*pi*(4*4*4+10*10*10),1.0/3));
break;
default:
cout<<"50";
}
return 0;
}
❗❗❗切记:case后面若有语句一定得在尾部加上break。否则会输出错误,break属于一个断点操作。
break与continue语句
break:打破,顾名思义就是停止当前循环或语句。
C ++中 break 语句有以下两种用法:
1.当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2.它可用于终止 switch 语句中的一个 case。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。
语法示例:
#include <iostream>
#include <cstdio>
int main ()
{
int a = 10;
while( a < 20 )
{
printf("a 的值: %d\n", a);
a++;
if( a > 15)
/* 使用 break 语句终止循环 */
break;
}
return 0;
}
输出结果如下:
a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15
continue:继续,顾名思义就是继续做循环,它类似于break,不过break是强制退出循环,它是跳过当前循环的代码做下一次循环
语法示例:
#include <iostream>
#include <cstdio>
int main ()
{
int a = 0;
do
{
if( a == 5)
{
a = a + 1;
continue;
}
printf("a 的值: %d\n", a);
a++;
}while( a < 10 );
return 0;
}
输出结果如下:
a 的值: 0
a 的值: 1
a 的值: 2
a 的值: 3
a 的值: 4
a 的值: 6
a 的值: 7
a 的值: 8
a 的值: 9
以上就是这次的全部内容,希望对大家有所帮助有所启发。