C++入门编程二(各类运算符、if、switch、while、for循环等语句)

文章目录

      • 算术运算符
      • 前后置运算符
      • 赋值运算符
      • 比较运算符
      • 逻辑运算符
      • if语句
        • 1、单行if
        • 2、多行if
        • 3、多条件if
        • 4、嵌套if语句
        • 5、案例:三只小猪称体重
      • 三目运算符
      • switch语句
      • while循环语句
        • 案例:1、猜数字
      • do-while循环语句
        • 案例:1、水仙花数
      • for循环语句
        • 案例:1、敲桌子
      • 循环嵌套
        • 案例:1、乘法口诀表
      • break语句
      • continue语句
      • goto语句

基于b站黑马c++视频做的笔记,仅供参考和复习!!!

算术运算符

取模运算’%'的本质是求余数,两个小数不可以做取模运算

	int a1 = 10;int b1 = 3;cout << a1 + b1 << endl;cout << a1 - b1 << endl;cout << a1 * b1 << endl;cout << a1 / b1 << endl; 	//两个整数相除,结果依然是整数,小数部分去除double d1 = 0.5;double d2 = 0.22;cout << d1 / d2 << endl;	//2.27273int a = 15;int b = 4;cout << a % b << endl;

在这里插入图片描述

前后置运算符

++前置递增 先让变量加1 然后进行表达式运算
后置递增++ 先进行表达式运算 后让变量加1

	//前置递增 先让变量加1 然后进去表达式运算int  a2 = 10;int b2 = ++a2 * 10;cout << "a2= " << a2 << endl;cout << "b2= " << b2 << endl;//后置递增 先进行表达式运算 后让变量加1int a3 = 10;int b3 = a3++ * 10;cout << a3 << endl;cout << b3 << endl;

在这里插入图片描述

赋值运算符

=、+=、 -=、 *=

	//赋值运算符 =int a = 10;a = 100;cout << a << endl;	//输出100// +=   -=   *=int a1 = 5;int b = 3;int c = 5;a1 += 2;	//输出7b -= 4;		//输出-1c *= 5;		//输出25

比较运算符

== 、 !=、 < 、 >、 <= 、 >=
作用:用于表达式的比较,并返回一个真值或假值,即只返回1或0

	// 比较运算符 ==  !=  <  >  <=  >=int a = 10;int b = 20;cout << (a == b) << endl;   //输出0cout << (a != b) << endl;	//输出1

逻辑运算符

与&& 或|| 非!
作用:用于根据表达式的值返回真值或假值。

	//逻辑运算符 非! 与&&  或||int a = 1;int b = 0;cout << !a << endl;		    //0cout << (a && b) << endl;	//0cout << (a || b) << endl;	//1

if语句

1、单行if
	//选择结构 单行if语句int score = 0;cout << "请输入您的分数:" << endl;cin >> score;cout << "您输入的分数为:" << score << endl;if (score > 600) {			//if条件后面不要加分号cout << "恭喜你考入XXX大学!" << endl;}
2、多行if
	//选择结构-多行if语句int score = 0;cout << "请输入您的分数:" << endl;cin >> score;cout << "您输入的分数为:" << score << endl;if (score > 600) {	//if条件后面不要加分号cout << "恭喜您考入广工大!" << endl;}else{cout << "很遗憾,未考入广工大!" << endl;}
3、多条件if

if后面要加条件,多条件时,使用else if,else if后面也需要加条件语句, 最后else结尾不需要加条件语句。

	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;}
4、嵌套if语句
	int score = 0;cout << "请输入您的分数:" << endl;cin >> score;cout << "您输入的分数为:" << score << endl;if (score > 600) //if条件后面不要加分号{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;}
5、案例:三只小猪称体重

有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?
思路:先判断其中两个谁大,若第一个大,再与剩下一个做比较;反之,第二个大,也与剩下一个做比较。

	int a = 0, b = 0, c = 0;int t = 0;cout << "请分别输入三只小猪的体重:" << endl;cin >> a;cin >> b;cin >> c;cout << "a小猪的体重是:" << a << endl;cout << "b小猪的体重是:" << b << endl;cout << "c小猪的体重是:" << c << endl;if (a > b){if (a > c){cout << "a小猪的体重是最大的!" << endl;}else{cout << "c小猪的体重是最大的!" << endl;}}else{if (b > c){cout << "b小猪的体重是最大的!" << endl;}else{cout << "c小猪的体重是最大的!" << endl;}}

三目运算符

语法:表达式1 ? 表达式2 :表达式3

如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

	//三目运算符int a = 10;int b = 21;int c = 0;//a > b ? c = a : c = b;c = (a > b ? a : b);	//如果a>b则返回a变量否则返回b变量cout << c << endl;				//输出为21//在C++中三目运算符返回的是变量,可以继续赋值(a > b ? a : b) = 100;cout << "a= " << a << endl;		//a=10cout << "b= " << b << endl;		//b=100

switch语句

if和swich的区别:swich缺点,判断时候只能是整型或者字符型,不可以是一个区间。swich优点,结构清晰,效率高

	cout << "请给歌曲进行打分" << endl;int score = 0;cin >> score;cout << "您输入的分数是:" << score << "分" << endl;switch (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;}

while循环语句

作用:满足循环条件,执行循环语句
语法: while(循环条件){ 循环语句 }

解释:只要循环条件的结果为真,就执行循环语句

	//while循环 在屏幕中打印0~9着10个数字int num = 0;while (num < 10){cout << num << endl;num += 1; 				//num++;}
案例:1、猜数字

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

	srand((unsigned int)time(NULL));int num = rand() % 100 + 1; //生成0~99 + 1的随机数cout << "请输入一个数字:" << endl;int guess = 0;while (1){cin >> guess;if (guess < num){cout << "提示:您输入的数字小了" << endl;}else if(guess > num){cout << "提示:您输入的数字大了" << endl;}else{cout << "恭喜您,猜对啦!" << endl;break; //利用该关键字来退出当前循环}}

srand函数是随机数发生器的初始化函数,time函数来获得系统时间。
time函数的参数为time_t型t变量,可直接传入一个空指针,即: srand((unsigned) time(NULL)); 因为你的程序中往往并不需要经过参数获得的数据。

do-while循环语句

do-while循环语句,始终会先执行一次循环语句

	int num = 0;do{cout << num << endl;num++;} while (num < 10);	//while后有逗号
}
案例:1、水仙花数

水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身,例如:1^3 + 5^3+ 3^3 = 153。
请利用do…while语句,求出所有3位数中的水仙花数。

	int num = 100;int num1 = 0;int num2 = 0;int num3 = 0;do{num1 = num / 100; //获取百位num2 = (num % 100) / 10; //获取十位num3 = num % 10; //获取个位if ((num1*num1*num1 + num2 * num2 * num2 + num3 * num3 * num3) == num){cout << num << "是水仙花数" << endl;}num++;} while (num < 1000);

for循环语句

	// for循环 从数字0打印到数字9int i = 0;for (int i = 0; i < 10; i++){cout << i << endl;	}
案例:1、敲桌子

从1开始数到数字100, 如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。

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

循环嵌套

	//输出*号方阵for (int i = 0; i < 10; i++){for (int j = 0; j < 10; j++){cout << "* ";}cout << endl;}

在这里插入图片描述

案例:1、乘法口诀表
	//乘法口诀表for (int i = 1; i <= 9; i++) //代表行数{for (int j = 1; j <= i; j++) //代表列数{cout << j << "*" << i << "=" << j*i << " ";}cout << endl;}

在这里插入图片描述
按行号进行依次输出

break语句

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

break使用的时机:
(1) 在switch条件语句中,作用是终止case并跳出switch
(2) 在循环语句中,作用是跳出当前的循环语句
(3 )在嵌套循环中,跳出最近的内层循环语句

	//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;case 2:cout << "您选择的是中等难度" << endl;break;case 3:cout << "您选择的是困难难度" << endl;break;default:cout << "输入错误!请重新输入" << endl;break;}//2、出现在循环语句for (int i = 0; i < 10; i++){//如果i等于5,退出循环,不再打印if (i == 5){break;		//输出为0、1、2、3、4}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;}

continue语句

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

	//continue不会使得整个循环终止,而break会跳出循环for (int i = 0; i <= 100; i++){if (i % 2 == 0)  //奇数输出,偶数不输出{continue;}cout << i << endl;}

goto语句

可以无条件跳转语句,解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
语法: goto 标记;

	// goto语句cout << "1、xxxxx" << endl;cout << "2、xxxxx" << endl;goto FLAG;					//直接跳转到标志处 输出5、xxxxxxcout << "3、xxxxx" << endl;cout << "4、xxxxx" << endl;FLAG:cout << "5、xxxxx" << endl;

注:以上基于黑马程序员C++课程的自用笔记,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/224846.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker知识总结

文章目录 Docker1 Docker简介1.1 什么是虚拟化1.2 什么是Docker1.3 容器与虚拟机比较1.4 Docker 组件1.4.1 Docker服务器与客户端1.4.2 Docker镜像与容器1.4.3 Registry&#xff08;注册中心&#xff09; 2 Docker安装与启动2.1 安装Docker2.2 设置ustc的镜像2.3 Docker的启动与…

VMware安装linux系统二

1、设置光驱 1.1、编辑虚拟机设置 1.2、设置虚拟机镜像 1.3、设置好后开机 2、安装Linux系统 2.1、等待安装 2.2、开始安装 2.3、选择语言&#xff0c;我选择中文 2.4、本地化不用改 2.5、软件选择一定要选&#xff0c;否则就会是默认最小安装 2.6、我这里选择的是带GUI的&am…

vr虚拟高压电器三维仿真展示更立体全面

VR工业虚拟仿真软件的应用价值主要体现在以下几个方面&#xff1a; 降低成本&#xff1a;通过VR技术进行产品设计和开发&#xff0c;可以在虚拟环境中进行&#xff0c;从而减少对物理样机的依赖&#xff0c;降低试错成本和时间。此外&#xff0c;利用VR技术构建的模拟场景使用方…

北亚服务器数据恢复-服务器断电导致raid5故障的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器有一组由12块硬盘组建的raid5阵列。 服务器故障&分析&#xff1a; 机房供电不稳导致服务器意外断电&#xff0c;工作人员重启服务器后发现服务器无法正常使用。 根据故障情况&#xff0c;北亚企安数据恢复工程师初步判断服务器故障原…

引用jquery.js的html5基础页面模板

本专栏是汇集了一些HTML常常被遗忘的知识&#xff0c;这里算是温故而知新&#xff0c;往往这些零碎的知识点&#xff0c;在你开发中能起到炸惊效果。我们每个人都没有过目不忘&#xff0c;过久不忘的本事&#xff0c;就让这一点点知识慢慢渗透你的脑海。 本专栏的风格是力求简洁…

MySQL索引工作原理和管理

文章目录 索引概述索引优缺点 索引结构二叉树 索引概述 MYSQL官方对索引的解释How MySQL Uses Indexes MySQL官方对索引的解释为&#xff1a;索引用于快速查找具有特定列值的行。8.3.1 How MySQL Uses IndexesIndexes are used to find rows with specific column values qui…

【深度学习-目标检测】03 - Faster R-CNN 论文学习与总结

论文地址&#xff1a;Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks 论文学习 1. 摘要与引言 研究背景与挑战&#xff1a;当前最先进的目标检测网络依赖于 区域提议&#xff08;Region Proposals&#xff09;来假设目标的位置&#xff0c…

猫咪喜爱什么猫粮?五款备受赞誉的主食冻干猫粮推荐!

咱们养猫人每天最愁的就是咋给自家猫咪选一款优质的猫粮&#xff0c;让猫主子吃了健健康康的。早些年大多养猫人的标准就是盯着进口的买&#xff0c;所以之前进口猫粮的销量一直遥遥领先&#xff0c;感觉品控也严&#xff0c;也就放心大胆的冲进口猫粮了&#xff0c;但近期百利…

[Unity+文心知识库]使用百度智能云搭建私有知识库,集成知识库API,打造具备知识库的AI二次元姐姐

1.简述 最近从百度智能云的官方技术支持那边了解到&#xff0c;目前百度千帆大模型平台提供有在线的知识库功能&#xff0c;能够在线上传自己的私人知识库文档&#xff0c;并且配置文心一言模型作为文本生成的引擎&#xff0c;构建自己的私有知识库。之前自己搭建知识库都是用的…

基于mysql+jdbc+java swing的学生成绩信息管理系统

Java课程设计 前言 来csdn也有两年了&#xff0c;在这期间学了很多的知识&#xff0c;也跟着许多的大神做了几个小项目。但自己也在想什么时候能够有个自己的项目&#xff0c;之前在学校做过一个基于集合存储数据的学生信息管理系统&#xff0c;现在想着改进一下&#xff0c;…

推广主要指标及定义

推广主要指标以直通车为例解释&#xff0c;如图所示 1.展示量&#xff1a;当消费者搜索某个词&#xff0c;推广计划在天猫直通车展示位上被买家看到的次数&#xff08;去掉被消费者快进划过、主图未完金展现等情况产生的曝光)&#xff1b; 2.点击量&#xff1a;消费者看到广告…

单片机的RTC获取网络时间

理解网络同步校准RTC的原理需要考虑NTP、SNTP、RTC这三个关键组件的作用和交互。下面详细解释这个过程&#xff1a; 1. NTP&#xff08;Network Time Protocol&#xff09;&#xff1a; 协议目的&#xff1a;NTP是用于同步计算机和设备时钟的协议。它通过在网络上与时间服务器通…

基于包围盒算法的三维点云数据压缩和曲面重建matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 包围盒构建 4.2 点云压缩 4.3 曲面重建 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ...........................................…

多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测

多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实CNN-Mutilhead-Attention卷积神经网络融合多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | …

LeetCode刷题--- 优美的排列

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​​​​http://t.cs…

TrustZone之与非安全虚拟化交互

到目前为止&#xff0c;我们在示例中忽略了非安全状态中可能存在的虚拟化程序。当存在虚拟化程序时&#xff0c;虚拟机与安全状态之间的许多通信将通过虚拟化程序进行。 例如&#xff0c;在虚拟化环境中&#xff0c;SMC用于访问固件功能和可信服务。固件功能包括诸如电源管理之…

关于“Python”的核心知识点整理大全43

目录 ​编辑 15.2.3 使2散点图并设置其样式 scatter_squares.py 15.2.4 使用 scatter()绘制一系列点 scatter_squares.py 15.2.5 自动计算数据 scatter_squares.py 15.2.6 删除数据点的轮廓 15.2.7 自定义颜色 15.2.8 使用颜色映射 scatter_squares.py 注意 15.2.9…

【微服务面试题(三十三道)】

文章目录 微服务面试题&#xff08;三十三道&#xff09;概述1.什么是微服务&#xff1f;2.微服务带来了哪些挑战&#xff1f;3.现在有哪些流行的微服务解决方案&#xff1f;这三种方案有什么区别吗&#xff1f; 4.说下微服务有哪些组件&#xff1f; 注册中心5.注册中心是用来干…

网络编程套接字socket

哈哈哈&#xff0c;之前的保存成草稿忘了发 目录 一 . 先回顾一下网络初始中的相关概念&#xff1a; 1.网络通信&#xff1a; 2.局域网&#xff1a; 3.广域网&#xff1a; 4.IP地址&#xff1a; 5.端口&#xff1a; 概念 格式 6.协议&#xff1a; 7.五元组&#xff1a; 8.分层…