一、switch语句
1、作用:执行多条件分支
2、语法:
switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
...
default:执行语句;break;//所有分支都不满足,执行该分支
}
3、案例:给电影打分。10-9 经典,8-7非常好,6-5一般,5以下烂片
#include<iostream>
using namespace std;
int main()
{
//1提示用户给电影打分
//2用户开始进行打分
//3根据用户输入的分数提示用户最后的结果
int a = 0;
cout << "请给《星际穿越》评分:" << endl;
cin >> a;
switch(a)
{
case 10 :
cout << "您认为是经典电影" << endl; break;//退出当前分支,不执行下面分支,跳出选择结构
case 9:
cout << "您认为是经典电影" << endl; break;
case 8:
cout << "您认为电影很好" << endl; break;
case 7:
cout << "您认为电影很好" << endl; break;
case 6:
cout << "您认为电影一般" << endl; break;
case 5:
cout << "您认为电影一般" << endl; break;
default:
cout << "这是一部烂片" << endl; break;
}
system("pause");
return 0;
}
注意:在每个分支后要加break;,不然当执行一个分支后会继续执行下一个分支。
4、总结
1)、if语句与switch的区别:switch的缺点是判断时只能是整型或者字符型,不可以是一个区间。
switch的优点结构清晰,执行效率高。(因为某些判断条件在嵌套if语句中需要挨个在每个if中执行和判断最后才能得到结果,而switch确定好了条件,目的明确,就只执行一次执行语句)
二、循环结构
1、while语句
1)、满足循环条件,执行循环语句
2)、语法:while(循环条件){循环语句}(只有循环条件结果为真,就执行循环语句)
3)、案例:在屏幕中打印0~9这10个数字
#include<iostream>
using namespace std;
int main()
{
int num = 0;
while (num < 10)
{
cout << num << endl;
num += 1;
}
system("pause");
return 0;
}
注意:一定要有一个退出程序的窗口,否则会陷入死循环。
2、练习:系统随机生成1-100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或者过小,如果猜对恭喜玩家胜利,并且退出游戏
#include<iostream>
using namespace std;
#include <ctime>
int main()
{
int num,num_guess=0,i=0;
/*
之前只用rand() % 100 + 1赋值给num, 好像不管执行几次程序它的数值都没有变,因为它是一个伪随机数。
所以我们需要添加随机数种子,利用当前系统时间生成随机数,防止每次随机数都一样。
注意这种用法一定要添加头文件#include <ctime>
*/
srand((unsigned int)time(NULL));
num = rand() % 100 + 1;//rand()%n表示长度为n-1的0--n-1的数,若长度不变起始数字变了就在n后面加相应的m变换区间即可
while (1)//循环条件一直为真,那么什么时候需要跳出循环体时,加入break;即可
{
cout << "输入您猜测的数字:" << endl;
cin >> num_guess;
i++;
if (i > 5)
{
cout << "玩家输了" << endl;
break;
}
if (num_guess > num)
{
cout << "您输入的数字过大,请重新输入" << endl;
}
else if(num_guess < num)
{
cout << "您输入的数字过过小,请重新输入" << endl;
}
else
{
cout << "玩家胜利,退出游戏" << endl;
break;
}
}
}