C++语法3——if switch break continue的定义及用法

2023-10-31

接上节
循环语句

这一节写的是判断语句



if else语句

基本语法:

第一种:
if(bool(布尔变量))
{
	如果bool值为真执行的语句;
}
else
{
	如果bool值为假执行的语句;
}

如果布尔表达式为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。

语法举例:

#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   int a = 100;
 
   // 检查布尔条件
   if( a < 20 )
   {
       // 如果条件为真,则输出下面的语句
       cout << "a 小于 20" << endl;
   }
   else
   {
       // 如果条件为假,则输出下面的语句
       cout << "a 大于 20" << endl;
   }
   cout << "a 的值是 " << a << endl;
 
   return 0;
}

上述代码取自菜鸟教程


第二种:
if(条件1)
{
	当条件1为真时执行语句;
}
else if(条件2)
{
	当条件2为真时执行语句;
}
else if(条件3)
{
	当条件3为真时执行语句;
}
......
else //除去上面所有条件的并集的情况
{
	当条件1、2、3...都为假时执行语句;
}

当使用 if…else if…else 语句时,以下几点需要注意:

1.一个 if 后可跟零个或一个 else,else 必须在所有 else if 之后。
2.一个 if 后可跟零个或多个 else if,else if 必须在 else 之前。
3.一旦某个 else if 匹配成功,其他的 else if 或 else 将不会被测试。

举个栗子
在这里插入图片描述

这里只放一张图,详情请通过上面链接跳转到洛谷查看

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const double pi=3.141593;

int main() 
{
	int T;
	cin >> T;
	if (T == 1)
		cout << "I love Luogu!";
	else if (T == 2)
		cout << 2 + 4 << " " << 10 - 2 - 4;
	else if (T == 3) 
	{
		int i,j,k;
		i=14/4;
		j=i*4;
		k=14-j;
		cout<<i<<endl<<j<<endl<<k;
	} 
	else if (T == 4) 
	{
		double l;
		l=500.0/3;
		cout<<l;
	} 
	else if (T == 5) 
		cout<<(220+260)/(12+20);
	else if (T == 6) 
		cout<<sqrt(6*6+9*9);
	else if (T == 7) 
		cout<<110<<endl<<90<<endl<<0;
	else if (T == 8) 
		cout<<pi*10<<endl<<pi*25<<endl<<4/3.0*pi*125;
	else if (T == 9)
		cout<<"22";
	else if (T == 10) 
		cout<<"9";
	else if (T == 11) 
	{
		double i=100.0/3;
		cout<<i;
	} 
	else if (T == 12)
		cout<<int('M'-'A')+1<<endl<<char('A'+17);
	else if (T == 13) 
		cout<<(int)(pow(4/3.0*pi*(4*4*4+10*10*10),1.0/3));
	else if (T == 14) 
		cout<<"50";
	return 0;
}


switch语句

基本语法:

switch(变量)
{
	case 值1:
		(语句;
		break;)
	case 值2:
		(语句;
		break;)
	case 值3:
		(语句;
		break;)
	default:  //除去以上所有值的情况
		(语句;)
}
小括号括着代表该语句可有可无,没有也可以正常运行
语法举例:
#include <iostream>
using namespace std;
 
int main ()
{
   // 局部变量声明
   char grade = 'D';
 
   switch(grade)
   {
   case 'A' :
      cout << "很棒!" << endl; 
      break;
   case 'B' :
   case 'C' :
      cout << "做得好" << endl;
      break;
   case 'D' :
      cout << "您通过了" << endl;
      break;
   case 'F' :
      cout << "最好再试一下" << endl;
      break;
   default :
      cout << "无效的成绩" << endl;
   }
   cout << "您的成绩是 " << grade << endl;
 
   return 0;
}

实战:用上面用过的题目
代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
const double pi=3.141593;

int main() 
{
	int T;
	cin >> T;
	switch(T)
	{ 
		case 1:
			cout << "I love Luogu!";
			break;
		case 2:
			cout << 2 + 4 << " " << 10 - 2 - 4;
			break;
		case 3:
		{
			int i,j,k;
			i=14/4;
			j=i*4;
			k=14-j;
			cout<<i<<endl<<j<<endl<<k;
			break;
		}
		case 4: 
		{
			double l;
			l=500.0/3;
			cout<<l;
			break;
		}
		case 5: 
			cout<<(220+260)/(12+20);
			break;
		case 6: 
			cout<<sqrt(6*6+9*9);
			break;
		case 7:
			cout<<110<<endl<<90<<endl<<0;
			break;
		case 8: 
			cout<<pi*10<<endl<<pi*25<<endl<<4/3.0*pi*125;
			break;
		case 9:
			cout<<"22";
			break;
		case 10: 
			cout<<"9";
			break;
		case 11:
		{
			double i=100.0/3;
			cout<<i;
			break;
		}
		case 12:
			cout<<int('M'-'A')+1<<endl<<char('A'+17);
			break;
		case 13: 
			cout<<(int)(pow(4/3.0*pi*(4*4*4+10*10*10),1.0/3));
			break;
		default: 
			cout<<"50";
	}
	return 0;
}

❗❗❗切记:case后面若有语句一定得在尾部加上break。否则会输出错误,break属于一个断点操作。



break与continue语句

break:打破,顾名思义就是停止当前循环或语句。

C ++中 break 语句有以下两种用法:

1.当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2.它可用于终止 switch 语句中的一个 case。

如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

语法示例:

#include <iostream>
#include <cstdio>
int main ()
{
   int a = 10;
   while( a < 20 )
   {
      printf("a 的值: %d\n", a);
      a++;
      if( a > 15)
         /* 使用 break 语句终止循环 */
          break;
   }
   return 0;
}

输出结果如下:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 15

continue:继续,顾名思义就是继续做循环,它类似于break,不过break是强制退出循环,它是跳过当前循环的代码做下一次循环

语法示例:

#include <iostream>
#include <cstdio>
int main ()
{
   int a = 0;
   do
   {
      if( a == 5)
      {
         a = a + 1;
         continue;
      }
      printf("a 的值: %d\n", a);
      a++;
   }while( a < 10 );
   return 0;
}

输出结果如下:

a 的值: 0
a 的值: 1
a 的值: 2
a 的值: 3
a 的值: 4
a 的值: 6
a 的值: 7
a 的值: 8
a 的值: 9


以上就是这次的全部内容,希望对大家有所帮助有所启发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++语法3——if switch break continue的定义及用法 的相关文章

  • 获取数组变量的地址是什么意思?

    今天我读到了一段让我很困惑的 C 代码片段 include
  • Windows 10 Mobile (10.0.14393) 地理围栏后台任务 (LocationTrigger)

    自从10 0 14393 周年纪念更新 LocationTrigger似乎不起作用 我有 Windows Phone 8 1 应用程序 也适用于 UWP 应用程序 输出到的便携式库Windows Runtime Component图书馆 w
  • 为什么存在 async 关键字

    浏览 msdn 9 频道视频时 我发现以下未答复的评论 希望有人能解释一下 我不明白 async 关键字的意义 为什么不直接允许 任何时候方法返回任务时都会使用await关键字 就像迭代器一样 可以在任何返回 IEnumerable 的方法
  • 如何使用 zlib 制作 .zip 文件

    我正在阅读zlib的文档 它相当详细 但我读到了这一行 输出数据将位于zlib格式 与 gzip 或zip formats http www zlib net zlib how html http www zlib net zlib how
  • 内联函数/方法

    声明 内联函数必须在调用之前定义 这个说法正确吗 EDIT 该问题最初是德语 内联功能穆森 弗 伊赫雷姆 奥夫鲁夫定义 sein 也许它对任何人都有帮助 是的 它是正确的 但只是部分正确 它可能正确地重新构建如下 内联函数必须在每个翻译单位
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • CultureInfo 的实例(来自相同的文化)根据操作系统而变化

    我有一个网站 上面写着这样的日期 CultureInfo cultureInfo CultureInfo GetCultures CultureTypes AllCultures FirstOrDefault c gt string Equ
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • 如何创建用于 QML 的通用对象模型?

    我想知道是否有任何宏或方法如何将 Qt 模型注册为 QObject 的属性 例如 我有AnimalModel http doc qt io qt 5 qtquick modelviewsdata cppmodels html qabstra
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 带 If 的嵌套 For 循环的时间复杂度

    void f int n for int i 1 i lt n i if i int sqrt n 0 for int k 0 k lt pow i 3 k do something 我的思考过程 执行if语句的次数 sum i 1 to
  • 如何在 C++ 中将 CString 转换为 double?

    我如何转换CString to a double在 C 中 Unicode 支持也很好 Thanks A CString可以转换为LPCTSTR 这基本上是一个const char const wchar t 在 Unicode 版本中 知
  • 2D morton 码编码/解码 64 位

    如何将给定 x y 的莫顿代码 z 顺序 编码 解码为 32 位无符号整数 生成 64 位莫顿代码 反之亦然 我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标 产生 32 位莫顿数 在网上查了很多 但没有找到 请帮忙 如果您可
  • C++ 错误 - “成员初始值设定项表达式列表被视为复合表达式”

    我收到一个我不熟悉的 C 编译器错误 可能是一个非常愚蠢的错误 但我不能完全指出它 Error test cpp 27 error member initializer expression list treated as compound
  • 默认析构函数做了多少事情

    C 类中的默认析构函数是否会自动删除代码中未显式分配的成员 例如 class C public C int arr 100 int main void C myC new C delete myC return 0 删除 myC 会自动释放
  • 分配器感知容器和propagate_on_container_swap

    The std allocator traits模板定义了一些常量 例如propagate on container copy move assign让其他容器知道它们是否应该在复制或移动操作期间复制第二个容器的分配器 我们还有propag
  • C# 中的常量和只读? [复制]

    这个问题在这里已经有答案了 可能的重复 const 和 readonly 之间有什么区别 https stackoverflow com questions 55984 what is the difference between cons
  • asp.net网格分页的SQL查询

    我在用iBatis and SQLServer 使用偏移量和限制进行分页查询的最佳方法是什么 也许我添加该列ROW NUMBER OVER ORDER BY Id AS RowNum 但这只会阻止简单查询的数据访问 在某些情况下 我使用选择
  • 为什么要在 C++ 中使用 typedef?

    可以说我有 set
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll

随机推荐

  • 浅论静态测试的价值

    曾经看过一篇介绍某静态测试工具的文章 说该工具可以发现所有的代码错误 我觉得很好奇 问 如果我写了一个加法函数 把加号写成减号 如int add int a int b return a b 可以找出来吗 答 这是代码功能错误 当然不能找出
  • Qt每日小结——QListWidget使用总结

    最近需要使用QListWidget完成一个样本输入显示及交互的功能 需要实现的功能基本是这样的 点击添加样本 将txt文件名输入到左侧的列表中 单击 shift ctrl多选item后点击移除样本 将样本从列表中移除 点击清空列表 则将列表
  • "Access denied for user 'root@localhost' 试一下你的mysql是不是用任何密码都可以登录,如果是的话这里...

    https blog csdn net light breeze article details 82070222 花了三小时 竟然是因为这个 转载于 https www cnblogs com MarsMercury p 11586010
  • List接口简介

    List接口简介 List是Collection的子接口 其最大的特点是允许保存有重复元素的数据 该接口的定义如下 public interface List
  • kafka如何动态消费新增topic主题

    一 解决痛点 使用spring kafka客户端 每次新增topic主题 都需要硬编码客户端并重新发布服务 操作麻烦耗时长 kafkaListener虽可以支持通配符消费topic 缺点是并发数需要手动改并且重启服务 对于业务逻辑相似场景
  • 蓝桥杯算法训练VIP-阿尔法乘积

    题目 题目链接 题解 实现题 按着题目描述实现就行了 很坑的一点是题目规定数据量6e6 但是给的样例是十位数 离谱 开个longlong 代码 include
  • Python爬虫及网络编程相关面试题整理

    1 你用过的爬虫框架或者模块有哪些 谈谈他们的区别或者优缺点 Python自带 urllib urllib2 第 三 方 requests 框 架 Scrapy urllib和urllib2模块都做与请求URL相关的操作 但他们提供不同的功
  • TortoiseGit工具使用

    TortoiseGit clone commit push pull 3 1 克隆项目 打开资源管理器 我的电脑 计算机 进入规划好的某个目录中 然后在空白处点击鼠标右键 选择 TortoiseGit gt 克隆 Clone 弹出克隆项目对
  • Qt5.12.0 请求 https 资源提示 TLS 初始化失败

    qt network ssl QSslSocket connectToHostEncrypted TLS initialization failed 1 首选需要找到缺失的 libea32 dll 和 ssleay32 dll 两个库 注
  • 基于python的入侵检测系统毕设_入侵检测系统(IDS)的基础

    点击上方蓝色字体即可关注噢 0x01 介绍 入侵检测包含一系列旨在检测 和报告 恶意系统和网络活动或记录入侵证据的安全技术 要了解入侵检测 必须完全了解什么是入侵 就本文而言 我们将入侵定义为一台 或多台 计算机或网络上的任何未经授权的系统
  • TensorFlow建立深度神经网络解决二分类问题(注释非常详细,通过实例学框架)

    作者 陈玓玏 分享一个朋友的人工智能教程 零基础 通俗易懂 风趣幽默 还带黄段子 大家可以看看是否对自己有帮助http www captainbed net luanpeng 一 实现功能 从CSV文件中读取数据 然后构建深度神经网络 各层
  • clearValidate()和resetFields()清除表单校验的区别

    转载链接 https blog csdn net zuo zuo blog article details 101444920 1 整个表单的校验移除
  • 【51单片机】DS1302时钟/蜂鸣器

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 DS1302时钟
  • 3D点云之语义分割(相关官方示例介绍)

    之前在博客中提到 会考虑用深度学习来对3D点云进行处理 接下来迈出脚步 先整几个例子来熟悉它 例子原型来源于官网 博主在其基础上做了一些代码修改 一 例子参考 1 Keras中的资源 Code examples 2 openvinotool
  • 商用密码应用与安全性评估要点笔记(SM3密码杂凑算法)

    1 杂凑密码算法 可以对任意长度的消息M进行压缩 输出定长的消息摘要 杂凑值h 表示为h H M 一般来说 H具备三个性质 1 单向性 已知h 试图找打M满足h H M 是困难的 2 抗第二 二次原像攻击 弱抗碰撞性 给定M1 试图找到M2
  • 【Python】使用Python读取JSON文件中的内容

    文章目录 一 JSON文件简介 二 借助Python处理JSON文件 1 读取字典类型的JSON文件 2 读取列表类型的JSON文件 3 封装读取JSON文件的函数 一 JSON文件简介 在自动化测试过程中 会将部分数据保存到JSON文件中
  • C# 后端开发学习规划及示例代码

    C 后端开发学习规划及示例代码 作为一名想要学习 C 后端开发的学习者 你需要有一个明确的学习规划 以便在学习过程中有条不紊地掌握必要的知识和技能 以下是一个详细的学习规划 同时附有相应的示例代码 帮助你开始你的学习之旅 学习基础知识 在开
  • openGL之API学习(一七九)材质Material原理

    在光线照射到某个物体表面的时候 总体上会出现三种反应 吸收 反射以及折射 其中反射又分为漫反射和镜面反射 而所谓的能量守恒法则说的则是 能量不可能凭空产生也不可能凭空消失 只可能发生转换 用在光线传播过程中则可以得到这样一个公式 入射能量
  • js高级 5.作用域与执行上下文的区别与联系

    作用域与执行上下文的区别 区别1 全局作用域之外 每个函数都会创建自己的作用域 作用域在函数定义时就已经确定了 而不是在函数调用时 全局执行上下文环境是在全局作用域确定之后 js代码马上执行之前创建 函数执行上下文是在调用函数时 函数体代码
  • C++语法3——if switch break continue的定义及用法

    接上节 循环语句 这一节写的是判断语句 if else语句 基本语法 第一种 if bool 布尔变量 如果bool值为真执行的语句 else 如果bool值为假执行的语句 如果布尔表达式为 true 则执行 if 块内的代码 如果布尔表达