C++青少年简明教程:If选择语句

C++青少年简明教程:If选择语句

C++中选择语句的语法是:

if (条件) {

    条件成立时需要执行的语句...

} [else {

    条件不成立时需要执行的语句...

}]

说明:

if后面使用一个括号,括号里是条件——关系表达式。

所谓的关系表达式就是判断数据的关系如何。

有如下几种关系:

大于:> 比如 3>2

大于等于:>= 比如 5>=5

小于:< 比如 5<10

小于等于:<= 比如 10<=11

等于:== 比如 3+2 == 2+3

不等于:!= 比如 5 != 4+2

除了关系表达式之外,还有逻辑表达式,逻辑表达式可以表示多个条件之间的关系,有以下几种逻辑运算:

并且:&&

或者:||

非:!

if语句(单分支选择语句)

语法格式:

if(条件表达式)

语句或语句块

执行流程图:

例、读入一个整数,如果是偶数,输出yes,代码如下:

#include <iostream>
using namespace std;int main() {int num;cout << "请输入一个整数: ";cin >> num;if (num % 2 == 0) {cout << "yes" << endl;} if (num % 2 != 0){cout << "no" << endl;}return 0;
}

语法格式:

if(条件表达式)

    语句或语句块1

else

    语句或语句块2

执行流程图:

例、前面提到的例子,用双支选择语句实现,代码如下:

#include <iostream>
using namespace std;int main() {int num;cout << "请输入一个整数: ";cin >> num;if (num % 2 == 0) {cout << "yes" << endl;} else {cout << "no" << endl;}return 0;
}

if语句的嵌套

在C++中,可以将一个if语句放在另一个if语句的内部,这样就形成了if语句的嵌套结构。以实现更复杂的条件逻辑。

if(表达式1)

    if(表达式2)

       语句1;

    else

       语句2;  

else

   if(表达式3)

       语句3;

   else

       语句4;

示例:

#include <iostream>
using namespace std;int main() {int score; cout << "请输入一个分数: ";cin >> score;if (score >= 60) { // 首先判断分数是否及格cout << "及格" << endl;if (score >= 80) { // 如果及格,再判断是否优秀cout << "优秀" << endl;} else {cout << "良好" << endl;}} else {cout << "不及格" << endl;if (score >= 50) { // 如果不及格,判断是否接近及格cout << "接近及格" << endl;} else {cout << "情况不妙呀" << endl;}}return 0;
}

在这个例子中,首先判断分数是否及格(大于等于60),如果及格,再进一步判断是否优秀(大于等于80)。如果不及格,则判断是否接近及格(大于等于50)。这个程序会输出“及格”和“优秀”,因为分数是85。

请注意,过多层次的嵌套会使代码难以阅读和维护。

三目运算符

C++中的三目运算符(?:)是一种简洁的条件运算符,其语法格式为:

(condition) ? true_expression : false_expression;

其含义是:如果 condition 为真,则表达式的值为 true_expression ,否则为 false_expression 。它可以用作简单的 if-else 语句的替代者。

示例:

#include <iostream>
using namespace std;int main() {int a = 10;int b = 20;// 使用三目运算符int max = (a > b) ? a : b;cout << "最大值是:" << max << endl;return 0;
}

需要注意的是,三目运算符的优先级较低,因此在复杂的表达式中使用时,可能需要加上括号来明确运算顺序。

三目运算符也可以嵌套使用。例如:

int num = 10;

int result;

result = (num > 5) ? ((num < 20) ? 100 : 200) : 300;

在上面的代码中,如果num大于5小于20,则result的值为100,否则为200。如果num小于等于5,则result的值为300。

if-else if-else语句(多分支选择语句)

语法格式:

if (条件1) {

    语句块1

}

else if (条件2) {

    语句块1

}

……

else {

    语句块K

}

if-else if-else语句(多分支选择语句)执行流程图:

使用if-else if-else多分支选择语句源码:

#include <iostream>
using namespace std;int main() {int num;cout << "请输入一个数字:";cin >> num;// 使用if语句if (num > 0) {cout << "这是一个正数" << endl;} else if (num == 0) {cout << "这是零" << endl;} else {cout << "这是一个负数" << endl;}return 0;
}

母子约定问题

源码如下:

#include <iostream>using namespace std;int main() {int fenshu;cout << "请输入考试分数:";cin >> fenshu;if (fenshu == 100)cout << "暑假不用写作业";else if (fenshu >= 90)cout << "奖励100元零花钱";else if (fenshu >= 80)cout << "奖励10元零花钱";else if (fenshu >= 70)cout << "没奖励";else if (fenshu >= 60)cout << "暑假不能玩电子游戏";elsecout << "会发生可怕的事情...";return 0;
}

注意条件的顺序!

练习题:闰年问题

判断一个年份是否为闰年的规则是:

1.如果该年份能够被4整除,但不能被100整除,则该年份是闰年。

2.如果该年份能够被400整除,则该年份也是闰年。

例如,2004年是闰年,因为它能够被4整除,但不能被100整除;而1900年不是闰年,因为它能够被4整除,但同时也能被100整除,不符合第一条规则。而2000年是闰年,因为它能够被400整除,符合第二条规则。

请用不同的方法实现。

参看代码

#include <iostream>  
using namespace std;int main() {  int year;  cout << "请输入一个年份: ";  cin >> year;  // 判断是否为闰年  if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {  cout << year << " 是闰年." << endl;  } else {  cout << year << " 不是闰年." << endl;  }  return 0;  
}

示例中,直接在main函数内部使用了if语句来判断输入的年份是否为闰年。如果满足闰年的条件(即年份能被4整除但不能被100整除,或者能被400整除),则输出该年份是闰年;否则,输出该年份不是闰年。

如果您想要使用嵌套的if语句来判断一个年份是否为闰年,可以像下面这样写:

#include <iostream>  
using namespace std;int main() {  int year;  cout << "请输入一个年份: ";  cin >> year;  // 使用嵌套的if语句判断是否为闰年  if (year % 4 == 0) {  if (year % 100 == 0) {  if (year % 400 == 0) {  cout << year << " 是闰年." << endl;  } else {  cout << year << " 不是闰年." << endl;  }  } else {  cout << year << " 是闰年." << endl;  }  } else {  cout << year << " 不是闰年." << endl;  }  return 0;  
}

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

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

相关文章

5.24学习记录

[FSCTF 2023]ez_php2 比较简单的pop链 <?php highlight_file(__file__); Class Rd{public $ending;public $cl;public $poc;public function __destruct(){echo "All matters have concluded";die($this->ending);}public function __call($name, $arg){for…

E1载波:一种2.048Mbps速率的PCM载波

E1载波的基本帧由32个子信道组成 帧长为256个bit,分为32个相等时隙&#xff0c;一个时隙为8个bit。256/328 时隙的编号为CH0~CH31 全帧包含256位,且每一帧用 125us时间传送 E1载波支持的数据传输效率为2.048Mbps&#xff0c;用PCM编码&#xff08;即 256bit/125us2.048Mbps…

微信小程序源码-基于Java后端的小区租拼车管理信息系统毕业设计(附源码+演示录像+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设…

1.OLED

1.基础知识

网络拓扑—DHCP服务配置

文章目录 DHCP服务搭建相关配置细节前提安装DHCP服务 DHCP服务搭建 相关配置细节前提 系统&#xff1a;Windows Server 2003 IP网段&#xff1a;10.0.0.0/24 三台机子&#xff1a; 普通PC机 DHCP服务器 路由器&#xff08;两块网卡&#xff0c;连接内外网&#xff09; //注…

【Unity】Unity项目转抖音小游戏(三)资源分包,抖音云CDN

业务需求&#xff0c;开始接触一下抖音小游戏相关的内容&#xff0c;开发过程中记录一下流程。 使用资源分包可以优化游戏启动速度&#xff0c;是抖音小游戏推荐的一种方式&#xff0c;抖音云也提供存放资源的CDN服务 抖音云官方文档&#xff1a;https://developer.open-douyi…

基于灰狼优化算法优化支持向量机(GWO-SVM)时序预测

代码原理及流程 基于灰狼优化算法优化支持向量机&#xff08;GWO-SVM&#xff09;的时序预测代码的原理和流程如下&#xff1a; 1. **数据准备**&#xff1a;准备时序预测的数据集&#xff0c;将数据集按照时间顺序划分为训练集和测试集。 2. **初始化灰狼群体和SVM模型参数…

《基于Jmeter的性能测试框架搭建》改进一

《基于Jmeter的性能测试框架搭建》文末笔者提到了不少待改进之处&#xff0c;如下所示。 Grafana性能图表实时展现&#xff0c;测试过程中需实时截图形成测试报告&#xff0c;不够人性化。解决方案&#xff1a;自动生成测试报告并邮件通知。 Grafana性能图表需测试人员实时监控…

Big Demo Day第十三期活动即将启幕,Web3创新项目精彩纷呈,PEPE大奖等你抽取

5月28号在香港数码港 Big Demo Day第十三期 活动即将拉开帷幕&#xff0c;活动将汇集众多Web3领域的创新项目&#xff0c;为参会者带来一场科技与智慧交融的盛宴。在这里&#xff0c;你不仅能深入了解区块链、AI等前沿技术的最新应用&#xff0c;还能有机会赢取丰厚的PEPE大奖。…

免费wordpress中文主题

免费大图wordpress主题 首页是一张大图的免费wordpress主题模板。简洁实用&#xff0c;易上手。 https://www.jianzhanpress.com/?p5857 免费WP模板下载 顶部左侧导航条的免费WP模板&#xff0c;后台简洁&#xff0c;新手也可以下载使用。 https://www.jianzhanpress.com/…

电脑版网易云音乐听歌识曲

文章目录 流程 流程 电脑网易云音乐的搜索框旁边就是听歌识曲功能

文件上传巩固及流量分析

1.[GXYCTF2019]BabyUpload 1&#xff09;打开题目也是没有任何提示&#xff0c; 2&#xff09;进入环境&#xff0c;看到下面页面猜测是文件上传漏洞&#xff0c;下面开始传文件 3&#xff09;首先上传一句话木马 a.php&#xff0c;代码如下&#xff1a; 下面这个代码中并没有…

Amesim示例篇-案例1:空间中的铝块散热

前言 本文将通过一个案例继续对Thermal库的元件进一步讲解。 案例1&#xff1a;一个300mm*300mm*1000mm&#xff08;长*宽*高&#xff09;的铝板初始温度为45℃&#xff0c;竖直在环境为25℃的空间内静置60min。对流换热系数设置为5W/m2K。本文将通过两种建模方法对铝块的温度…

最简单的方式解决android studio 模拟器无法联网的问题

最简单的方式解决android studio 模拟器无法联网的问题 看了网上很多解决android studio内置模拟器无法联网的问题&#xff0c;基本上都是在模拟器手机上配置dns&#xff0c;个人试了多种办法也连不上网&#xff0c;现在给出一种&#xff0c;仅需要在命令行操作的解决安卓模拟…

轻松拿捏C语言——二分查找

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f308;感谢大家的阅读、点赞、收藏和关注&#x1f495; 目录&#x1f389; 一、介绍&#x1f308; 二、步骤&#x1f319; 三、代码☀️ 一、介绍 二分查找是一种在有序数组中…

【Linux-驱动开发】

Linux-驱动开发 ■ Linux-应用程序对驱动程序的调用流程■ Linux-file_operations 结构体■ Linux-驱动模块的加载和卸载■ 1. 驱动编译进 Linux 内核中■ 2. 驱动编译成模块(Linux 下模块扩展名为.ko) ■ Linux-■ Linux-■ Linux-设备号■ Linux-设备号-分配■ 静态分配设备号…

家电维修上门维修小程序怎么搭建制作?

​在家庭生活中&#xff0c;家电的维修问题一直是人们关注的焦点。随着微信小程序的普及&#xff0c;家电维修服务行业也迎来了线上转型的机遇。一款便捷、高效的家电维修上门维修小程序&#xff0c;不仅能为维修服务商带来新的客户&#xff0c;也能为用户带来更便捷的服务体验…

[Algorithm][动态规划][路径问题][下降路径最小和][最小路径和][地下城游戏]详细讲解

目录 1.下降路径最小和1.题目链接2.算法原理详解3.代码实现 2.最小路径和1.题目链接2.算法原理详解3.代码实现 3.地下城游戏1.题目链接2.算法原理详解3.代码实现 1.下降路径最小和 1.题目链接 下降路径最小和 2.算法原理详解 思路&#xff1a; 确定状态表示 -> dp[i][j]的…

用WPS将多张图片生成一个pdf文档,注意参数设置

目录 1 新建一个docx格式的文档 2 向文档中插入图片 3 设置页边距 4 设置图片大小 5 导出为pdf格式 需要把十几张图片合并为一个pdf文件&#xff0c;本以为很简单&#xff0c;迅速从网上找到两个号称免费的在线工具&#xff0c;结果浪费了好几分钟时间&#xff0c;发现需要…

面试-软件工程与设计模式相关,Spring简介

面试-软件工程与设计模式相关&#xff0c;Spring简介 1.编程思想1.1 面向过程编程1.2 面向对象编程1.2.1 面向对象编程三大特征 1.3 面向切面编程1.3.1 原理1.3.2 大白话&#xff1f;1.3.3 名词解释1.3.4 实现 2. 耦合与内聚2.1 耦合性2.2 内聚性 3. 设计模式3.1 设计模型七大原…