【C++】学习笔记[二]

文章目录

  • 一、运算符
  • 二、程序流程结构
    • (一)选择结构
      • if语句
      • switch语句
    • (二)循环结构
      • while循环
      • do...while循环
      • for循环
      • 嵌套循环
  • 三、跳转语句
    • (一)break语句
    • (二)continue语句
    • (三)goto语句

一、运算符

  • 加减乘除取模运算的练习代码
#include
#include 
using namespace std;

int main()
{
     

	//加减乘除取余运算
	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	//两个整数相除结果依然是整数,将小数直接丢掉了
	cout << a1 / b1 << endl;

	//取模运算的本质就是求余数
	cout << a1 % b1 << endl;
	cout << 10 % 20 << endl;//10
	//10%0  报错,两数相除除数不为0,所以也做不了取模运算
	//10/0会报错,除数不为0


	double d1 = 0.5;
	double  d2 = 0.25;
	double d3 = 0.22;

	cout << d1 / d2 << endl;
	cout << d1 / d3 << endl;
	//cout << d1 % d2 << endl;//小数不能进行%运算
	return 0;
}

【C++】学习笔记[二]_第1张图片
【C++】学习笔记[二]_第2张图片

  • 前置++、后置++、前置–、后置–练习代码如下
#include
#include 
using namespace std;

int main()
{
     
	//前置递增
	int a = 10;
	++a;//让a加一
	cout << "a:" << a << endl;

	//后置递增
	int b = 10;
	b++;
	cout << "b:" << b << endl;

	//前置和后置区别
	//前置递增:先让变量+1,然后进行表达式计算
	//后置递增:先进行表达式计算,然后让变量+1
	int a2 = 10;
	int b2 = ++a2 * 10;
	cout << "b2" << b2 << endl;//110

	int a3 = 10;
	int b3 = a3++ * 10;
	cout << "b3:" << b3 << endl;//100
	return 0;
}

三目运算符练习代码:

#include
#include 
using namespace std;

int main()
{
     
	int a = 10;
	int b = 20;
	//如果a>b成立,则输出a,否则输出b
	int c = a > b ? a : b;
	cout << c << endl;//20

	int d = a < b ? a : b;
	cout << d << endl;//10
	//三目运算符返回一个变量
	return 0;
}

【C++】学习笔记[二]_第3张图片

  • 逻辑运算符【&& || !】
#include
using namespace std;


int main()
{
     
	int a = 10;
	int b = 0;
	cout << !a << endl;//0
	cout << (a && b) << endl;//0
	cout << (a || b) << endl;//1
	return 0;
}

【C++】学习笔记[二]_第4张图片

  • && :同真为真,其余为假
  • || : 同假为假,其余为真

二、程序流程结构

C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构

(一)选择结构

if语句

作用:执行满足条件的语句

if语句的三种形式:

  • 单行格式
  • 多行格式
  • 多条件的

练习代码如下:

  • 单行格式if语句
#include
using namespace std;

int main()
{
     
	//单行格式if语句
	//用户输入一个分数,分数》600,考上一本大学

	int score = 0;
	cout << "请输入分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	if (score > 600)
	{
     
		cout << "恭喜考上一本大学" << endl;
	}
	return 0;
}

【C++】学习笔记[二]_第5张图片

  • 多行格式if语句
#include
using namespace std;

int main()
{
     
	//多行格式if语句
	//用户输入一个分数,分数》600,考上一本大学

	int score = 0;
	cout << "请输入分数:" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;
	if (score > 600)
	{
     
		cout << "恭喜考上一本大学" << endl;
	}
	else
	{
     
		cout << "很遗憾,您没有达到一本分数线" << endl;
	}
	return 0;
}

【C++】学习笔记[二]_第6张图片

  • 多条件的if语句
#include
using namespace std;

int main()
{
     
	//多条件的if语句
	//输入一个分数,如果>600,视为考上一本
	//如果>500,视为考上二本
	//如果>400,视为考上三本
	//如果<=400,视为没有考上大学

	int score = 0;
	cout << "请输入您的分数" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;

	if (score > 600)
	{
     
		cout << "恭喜考上一本大学" << endl;
	}
	else if (score > 500)
	{
     
		cout << "恭喜考上二本大学" << endl;
	}
	else if (score > 400)
	{
     
		cout << "恭喜考上三本大学" << endl;
	}
	else
	{
     
		cout << "很遗憾您没有考上大学!" << endl;
	}

	return 0;
}

【C++】学习笔记[二]_第7张图片

  • 嵌套if语句练习代码如下:
#include
using namespace std;

int main()
{
     
	int score = 0;
	cout << "请输入您的分数" << endl;
	cin >> score;
	cout << "您输入的分数为:" << score << endl;

	if (score > 600)
	{
     
		cout << "恭喜考上一本大学" << endl;
		if (score > 700)
		{
     
			cout << "恭喜考入北京大学" << endl;
		}
		else if (score > 650)
		{
     
			cout << "恭喜考入清华大学" << endl;
		}
		else
		{
     
			cout << "恭喜考入人民大学" << endl;
		}
	}
	else if (score > 500)
	{
     
		cout << "恭喜考上二本大学" << endl;
	}
	else if (score > 400)
	{
     
		cout << "恭喜考上三本大学" << endl;
	}
	else
	{
     
		cout << "很遗憾您没有考上大学!" << endl;
	}
	return 0;
}

【C++】学习笔记[二]_第8张图片
案例练习:三只小猪称体重?

有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?

代码如下:

#include
using namespace std;

int main()
{
     
	//三只小猪称体重

	//创建三只猪的体重变量
	int num1 = 0;
	int num2 = 0;
	int num3 = 0;

	//输入三只猪的重量
	cout << "请输入A的重量:" << endl;
	cin >> num1;

	cout << "请输入B的重量:" << endl;
	cin >> num2;

	cout << "请输入C的重量:" << endl;
	cin >> num3;

	cout << "A的体重为:" << num1 << endl;
	cout << "B的体重为:" << num2 << endl;
	cout << "C的体重为:" << num3 << endl;

	//判断哪只最重?
	if (num1 > num2)//A比B重
	{
     
		if (num1 > num3)//A比C重
		{
     
			cout << "小猪A最重" << endl;
		}
		else//C比A重
		{
     
			cout << "小猪C最重" << endl;
		}
	}
	else//B比A重
	{
     
		if (num1 > num3)//A比C重
		{
     
			cout << "小猪B最重" << endl;
		}
		else//C比A重
		{
     
			cout << "小猪C最重" << endl;
		}
	}

	return 0;
}

【C++】学习笔记[二]_第9张图片

switch语句

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

练习代码如下:

#include
using namespace std;


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

	int score = 0;
	cout << "请输入你电影的评分:" << endl;
	cin >> score;
	cout << "你打的分数为:" << score << endl;

	switch (score)//依据score来打分
	{
     
	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;
	}

	//if  switch语句有什么区别?
	//switch不可以判断区间的范围,表达式类型只能是整数或者字符型
	//但是switch结构非常清晰,执行效率高
	//通常情况下,switch执行效率比if高一些
	return 0;
}

(二)循环结构

while循环

作用:满足循环条件,执行循环语句

练习代码如下:

#include
using namespace std;

int main()
{
     
	//while循环,在写循环的时候一定要避免死循环
	//在屏幕中打印0-9十个数字

	int num = 0;
	while (num < 10)
	{
     
		cout << num << endl;
		num++;
	}
	return 0;
}

案例练习:系统随机生成一个1-100之间的数字,玩家进行猜测,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并退出游戏

案例流程图如下:

【C++】学习笔记[二]_第10张图片
案例代码如下:

#include
#include 
using namespace std;

int main()
{
     
	//添加随机数种子,保证每次随机数不同
	srand((unsigned int)time(NULL));

	//rand()%100  生成一个0-99的随机数

	int num = rand() % 100 + 1;
	cout << num << endl;

	int val = 0;//代表玩家输入的数据

	while (1)
	{
     
		cin >> val;
		if (val > num)
		{
     
			cout << "您猜测的值过大" << endl;
		}
		else if (val < num)
		{
     
			cout << "您猜测的值过小" << endl;
		}
		else
		{
     
			cout << "恭喜您猜测正确" << endl;
			break;
		}
	}
	return 0;
}

【C++】学习笔记[二]_第11张图片

do…while循环

  • 与while的区别在于do…while先执行一次循环语句,再判断循环条件

练习代码如下:

#include
using namespace std;

int main()
{
     
	//给屏幕打印0-9
	int num = 0;
	do
	{
     
		cout << num << endl;
		num++;
	} while (num < 10);

	return 0;
}

【C++】学习笔记[二]_第12张图片

案例:水仙花数

水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身,利用do…while语句,求出所有3位数中的水仙花数

案例代码如下:

#include
using namespace std;

int main()
{
     
	//将所有的三位数输出100-999
	//在所有的三位数中找到水仙花数

	int num = 100;

	do
	{
     
		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);

	return 0;
}

【C++】学习笔记[二]_第13张图片

for循环

作用:满足循环条件,执行条件语句

练习代码如下:

#include
using namespace std;

int main()
{
     
	//打印0-9
	int i = 0;
	for (i; i < 10; i++)
	{
     
		cout << i << endl;
	}

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

练习案例:从1-100,如果数字个位含有7,或者数字十位含有7,或者数字是7的倍数,我们打印敲桌子,其余数字直接打印输出

案例代码如下:

#include
using namespace std;

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

嵌套循环

作用:在循环中再嵌套一层循环,通常用来解决一些实际性问题

练习代码如下:

#include
using namespace std;

int main()
{
     
	//在屏幕上打印一个8*8的星号矩阵

	for (int i = 0; i < 8; i++)
	{
     
		for (int j = 0; j < 8; j++)
		{
     
			cout << "*" << " ";
		}
		cout << endl;
	}
	return 0;
}

【C++】学习笔记[二]_第14张图片

案例:乘法口诀表

案例代码如下:

#include 
using namespace std;

int main()
{
     
	//打印九九乘法表
	for (int i = 1; i <= 9; i++)
	{
     
		for (int j = 1; j <= i; j++)
		{
     
			cout << j << "*" << i << "=" << i * j << " ";
		}
		cout << endl;
	}
	return 0;
}

【C++】学习笔记[二]_第15张图片

三、跳转语句

(一)break语句

练习代码如下:

#include 
using namespace std;

int main()
{
     
	//出现在switch语句中
	cout << "请选择副本难度" << endl;
	cout << "1、普通" << endl;
	cout << "2、中等" << endl;
	cout << "3、困难" << endl;

	int select = 0;

	cin >> select;
	
	switch (select)
	{
     
	case 1:
		cout << "选择了普通难度" << endl;
		break;
	case 2:
		cout << "选择了中等难度" << endl;
		break;
	case 3:
		cout << "选择了困难难度" << endl;
		break;
	default:
		break;//这个break用来退出switch语句
	}


	//出现在循环语句中
	for (int i = 0; i < 10; i++)
	{
     
		if (i == 5)
		{
     
			break;//此时break可以退出该循环
		}
		cout << i << endl;
	}


	//出现在嵌套循环中
	for (int i = 0; i < 10; i++)
	{
     
		for (int j = 0; j < 10; j++)
		{
     
			if (j == 5)
			{
     
				break;//退出内层循环(根据就近原则)
			}
			cout << "*" << " ";
		}
		cout << endl;
	}

	return 0;
}

(二)continue语句

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

练习代码如下:

#include 
using namespace std;

int main()
{
     
	for (int i = 0; i <= 100; i++)
	{
     
		//如果是奇数输出,偶数不输出
		if (i % 2 == 0)
		{
     
			continue;//遇到continue,该次循环中该条语句以后的语句不执行,重新进行新一轮循环
		}
		cout << i << endl;
	}
	return 0;
}

(三)goto语句

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

练习代码如下:

#include 
using namespace std;

int main()
{
     
	cout << "1" << endl;
	cout << "2" << endl;
	cout << "3" << endl;
	cout << "4" << endl;
	cout << "5" << endl;
	cout << "6" << endl;

	//goto语句
	cout << "1" << endl;
	cout << "2" << endl;
	goto FLAG;
	cout << "3" << endl;
	cout << "4" << endl;
	cout << "5" << endl;
	FLAG:
	cout << "6" << endl;
	return 0;
}

【C++】学习笔记[二]_第16张图片
✨✨✨

你可能感兴趣的:(#,c++笔记,c++,c语言,线性代数)