C++学习总结(三):switch语句+while循环+dowhile循环

1、三目运算符
作用:通过三目运算符实现简单的判断。
语法:表达式1 ?表达式2︰表达式3
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

#include<iostream>
using namespace std;

int main() {
	//三目运算

	//创建三个变量 a b c
	//将a 和b作比较,将变量大的值赋值给变量c

	int a = 10;
	int b = 20;
	int c = 0;
	c = (a > b ? a : b);
	cout << "c=" << c << endl;

	//在C++中三目运算符返回的是变量,可以继续赋值
	(a > b ? a : b) = 100;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;

	system("pause");

	return 0;
}

2、switch语句

作用:执行多条件分支语句
语法:

switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;

。。。

default:执行语句;break;
}

#include<iostream>
using namespace std;

int main() {
	//switch语句
	//给电影打分
	//10-9分 经典
	//8-7分 非常好
	//6-5 一般
	//5分以下 烂片

	//1、提示用户给电影打分
	cout << "请给电影打分" << endl;
	//2、显示用户分数
	int fenshu = 0;
	cin >> fenshu;
	cout << "您打的分数为:" << fenshu << endl;

	//3、根据不同分数,显示不同结果
	switch (fenshu)
	{
	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;
}

3、if和switch区别:

switch在判断时,你能是整型货值字符型,不可以是一个区间。

循环结构

4、while循环语句

作用:满足循环条件,执行循环语句。
语法:while(循环结束条件){循环内容语句}
只要循环条件的结果为真,就执行循环语句。
要避免死循环的出现。

#include<iostream>
using namespace std;

int main() {
	//while循环
	//在屏幕中打印0-9这10个数字
	int num = 0;
	while (num<10) //括号中输入停止循环的条件
	{
		cout << num<< endl;
		num++;
	}

	system("pause");

	return 0;
}

while循环练习
猜数字
案例描述:系统融机生成一个1到100之问的教字,玩家进行猜测。
如果猜错,提示玩家教字过大或过小,如果猜对基喜玩家胜利,并且迟出游戏。
在这里插入图片描述

#include<iostream>
using namespace std;
#include<ctime>

int main() {
	
	//添加随机数种子,防止每次随机数都一样
	srand((unsigned int)time(NULL));

	//1、系统生成随机数
	int num = rand() % 100 + 1;  //rand()%100:代表0-99的随机数,  rand()%100+1:代表0+1-99+1的随机数,生成1-100
	//cout << num << endl;
	//2、玩家进行猜测
	int val = 0;//玩家输入的数据
	while (1)
	{
		cin >> val;
		//3、判断玩家的猜测
		//猜错 提示猜的结果 过大或过小 并返回第2步
		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "猜对了" << endl;
			//猜对 退出循环
			break;
		}
	}
	
	system("pause");

	return 0;
}

5、do…while循环语句

作用:满足循环条件,执行循环语句。
语法:do{循环语句}while(循环条件)
与while的区别在于do…while会先执行一次循环语句,再判断循环条件。

在这里插入图片描述
do…while循环语句是先执行一次循环代码

#include<iostream>
using namespace std;
#include<ctime>

int main() {

	//do..while语句
	//在屏幕中输出 0 到 9 这10个数字

	int num = 0;

	do
	{
		cout << num << endl;
		num++;
	}
	while (num<10);

	system("pause");

	return 0;
}

练习案例:水仙花数
案例描述:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
例如:1^3 + 5^3 + 3^3=153
请利用do…while语句,求出所有3位数中的水仙花数.
在这里插入图片描述

#include<iostream>
using namespace std;
#include<ctime>

int main() {

	//1、打印所有三为数字

	int num = 100;
	do
	{
		//2、从所有三位数字中找到水仙花数
		int a = 0; //个位
		int b = 0; //十位
		int c = 0; //百位

		a = num % 10; //获取数字个位
		b = num / 10 % 10; //获取数字十位
		c = num / 100;  //获取数字百位
		if (a*a*a + b*b*b + c*c*c == num)
		{
			cout << num << endl;
		}
		num++;
	} while (num<1000);
	

	system("pause");

	return 0;
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值