c++程序设计视频学习(第五天)

4.1.3 switch语句

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

语法:

switch(表达式)

case 结果1:执行语句;break;

case 结果2:执行语句;break;

case 结果3:执行语句;break;

...

defalt: 执行语句; break;

#include <iostream>
using namespace std;

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

	//1.提示用户给电影评分
	cout << "请给电影进行打分" << endl;

	//2.用户开始进行打分
	int score = 0;
	cin >> score;
	cout << "您打的分数为:" << score << endl;

	//3.根据用户输入的分数来提示用户最后的结果

	switch (score)
	{
	case 10:
	case 9:
		cout << "您认为是经典电影" << endl;
		break;
	case 8:
	case 7:
		cout << "您认为是非常好电影" << endl;
		break;
	case 6:
	case 5:
		cout << "您认为是一般电影" << endl;
		break;
	default:
		cout << "您认为是烂片" << endl;
		break;
	}

	//if和switch的区别
	//switch缺点,判断是好只能是整型或字符型,不可以是一个区间
	//switch优点:结构清晰,执行效率高


	system("pause");
	return 0;
}

4.2 循环结构

4.2.1 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循环练习案例:猜数字

 

#include <iostream>
using namespace std;
//time系统时间头文件包含
#include <ctime>

int main()
{
	//添加随机数种子 利用当前系统时间生成随机数,防止每次随机数都一样
	srand((unsigned int)time(NULL));

	//1.系统生成随机数
	int num = rand() % 100 + 1;//rand()%100 生成0~99的随机数,+1后生成1~100的随机数
	//cout << "num = " << num << endl;

	//2.玩家进行猜测
	int val = 0;//玩家输入的数据(value)
	int a = 0;//最多猜五次
	cout << "请输入所猜数字,最多猜5次" << endl;
	while (1) {
		cin >> val;
		a++;

		//3.判断玩家的猜测
		//猜对    退出游戏
		//猜错    提示猜的结果  过大或过小  重新返回第2步
		if (val > num) {
			cout << "猜测过大" << endl;
		}
		else if (val < num) {
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "恭喜您猜对了" << endl;
			//猜对  退出游戏
			break;// break 在循环中可利用break退出当前循环
		}
		//最多猜五次
		if (a >= 5) {
			cout << "很遗憾,猜测次数已经用完,您没能猜出结果" << endl;
			break;
		}
	}

	system("pause");
	return 0;
}


4.2.2 do...while循环语句

语法:do{循环语句} while(循环条件);

注意:与while循环语句的区别在于,do...while会先执行一次循环语句,再判断循环条件

#include <iostream>
using namespace std;

int main()
{
	//do...while语句
	//在屏幕中输出0到9这十个数字
	
	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;

int main()
{
	//do...while语句
	//在屏幕中输出0到9这十个数字
	
	int num = 100;
	int a = 0;
	int b = 0;
	int c = 0;
	do
	{
		//获取个位:取模于10
		a = num % 10;
		//获取十位:先整除于10,得到两位数,再取模于10,得到十位数
		b = num / 10 % 10;
			//获取百位:直接除以100,整型变量之间乘除,结果依然是整型变量
		c = num / 100;
		//注意:^3不是算三次方,C++里面是pow(a,3),并且需要头文件<math.h>颇为
		if ((a*a*a + b*b*b + c*c*c) == num)
		{
			cout << num << endl;
		}
		num++;
	} 
	while (num < 1000);

	
	system("pause");
	return 0;
}

4.2.3 for循环语句

语法:for(起始表达式;条件表达式;末尾循环体){循环语句;}

注意:for循环中的表达式要用分号进行分隔

#include <iostream>
using namespace std;

int main()
{

	//for循环
	//从数字0打印到数字9

	for (int i = 0; i < 10; i++)
	{
		cout << i << endl;
	}

	system("pause");
	return 0;
}

练习案例:敲桌子

#include <iostream>
using namespace std;

int main()
{

	
	for (int num = 1; num <= 100; num++) {
		if ((num % 10 == 7) || (num / 10 == 7) || (num % 7 == 0)) {
			cout << "敲桌子" << endl;
		}
		else {
			cout << num << endl;
		}
		
	}

	system("pause");
	return 0;
}

4.2.4 嵌套循环

作用:在循环体中再嵌套一层循环,以解决实际问题

例如在屏幕中打印这样的图片

#include <iostream>
using namespace std;

int main()
{
	//利用嵌套循环实现星图
	//外层循环执行一次,内层执行一周
	//外层循环
	for (int i = 0; i < 10; i++)
	{
		//内层循环
		for (int j = 0; j < 10; j++)
		{
			cout << "* ";
		}
		cout << endl;
	}
	cout << endl;


	system("pause");
	return 0;
}

 练习案例: 乘法口诀表

案例描述:利用嵌套循环,实现九九乘法表

#include <iostream>
using namespace std;

int main()
{
	//特点:列数 * 行数 = 计算结果
	//列数 <= 当前行数

	for (int i = 1; i < 10; i++) {
		for (int j = 1; j <= i; j++)
			cout << j << "*" << i << "=" << i * j<<"\t";
		cout << endl;
	} 

	system("pause");
	return 0;
}

 4.3 跳转语句

4.3.1 break语句

作用:跳出选择结构或循环结构

#include <iostream>
using namespace std;

int main()
{
	//break的使用时机

	//1.出现在switch语句中
	cout << "请选择副本难度" << endl;
	cout << "1.普通" << endl;
	cout << "2.中等" << endl;
	cout << "3.困难" << endl;

	int select = 0;//创建选择结果的变量

	cin >> select;//等待用户的输入

	switch (select)
	{
	case 1:
		cout << "您选择的是普通难度" << endl;
		break;//退出switch语句中
	case 2:
		cout << "您选择的是中等难度" << endl;
		break;
	case 3:
		cout << "您选择的是困难难度" << endl;
		break;
	default:
		break;
	}
	//2.出现在循环语句中
	for (int i = 0; i < 10; i++)
	{
		//如果i等于5,退出循环
		if (i == 5) {
			break;
		}
		cout << i << endl;
	}

	//3.出现在嵌套循环语句中

	for (int i = 0; i < 10; i++) {
		for (int j = 0; j < 10; j++) {
			if (j == 5) {
				break;
			}
			cout << "* ";
		}
		cout << endl;
	}

	system("pause");
	return 0;
}

4.3.2 continue语句

作用:在循环语句中,跳过本次循环中尚未执行的语句,继续执行下一次循环

注意:continue并没有使整个循环终止,而break会跳出循环

#include <iostream>
using namespace std;

int main()
{
	//continue语句
	for (int i = 0; i <= 100; i++) {
		//如果是奇数输出,偶数不输出
		if (i % 2 == 0) {
			continue;
			//break 会退出循环,而continue不会
		}
		cout << i << endl;
	}

	system("pause");
	return 0;
}

4.3.3 goto语句

作用:可以无条件跳转语句。

语法:goto 标记;

解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置

#include <iostream>
using namespace std;

int main()
{
	//goto语句

	cout << "1.xxxxx " << endl;

	cout << "2.xxxxx " << endl;
	
	goto FLAG;

	cout << "3.xxxxx " << endl;
	
	cout << "4.xxxxx " << endl;

	FLAG:
	cout << "5.xxxxx " << endl;

	system("pause");
	return 0;
}

5.数组

5.1 概述

所谓数组,就是一个集合,里面存放了相同类型的数据元素

特点1:数组中的每个数据元素都是相同的数据类型

特点2:数组是由连续的内存位置组成的

一维数组定义的三种方式:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值