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

news2024/10/6 6:45:44

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 << "暑假不能玩电子游戏";
    else
        cout << "会发生可怕的事情...";

    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.coloradmin.cn/o/1690774.html

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

相关文章

报错:找不到或无法加载主类 com.example.SpringbootApplication(idea)

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 错误: 找不到或无法加载主类 com.example.SpringbootApplication 原因: java.lang.NoClassDefFoundError: com/example/SpringBootAppli…

上位机图像处理和嵌入式模块部署(mcu中的串口接口)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在mcu开发中&#xff0c;mcu扮演着非常重要的角色。一方面&#xff0c;串口可以帮助我们对固件功能进行调试&#xff0c;另外一方面&#xff0c;串…

小猫咪的奇幻冒险:一个简单的Python小游戏

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、游戏简介与演示 二、游戏开发与运行 1. 环境搭建 2. 代码解析 3. 加速机制 三、游戏…

k近邻和kd树

K近邻 选取k值的时候可以采用交叉验证的方法 一般采用欧氏距离 kd树 采用树这个特殊的数据结构来实现k近邻算法 先假设是二维的情况 下面讲解kd树的完整构造过程 找这个中位数是按照每棵子树来创建的 前提是已经有了一棵kd树,然后来一个实例点

45岁前TVB有型熟男生图流出

凭无线处境剧《爱回家》中饰演律师「严谨」一角成功入屋的张达伦&#xff0c;于2022年约满无线离巢后&#xff0c;正式「卖身」给杜琪峰成为旗下艺人&#xff0c;先后亮相ViuTV剧集及综艺节目&#xff0c;又参与电影演出&#xff0c;作多方面尝试和发展。 日前有网民食完糖水在…

网段与广播域

ip地址与子网掩码做与运算得到网络号&#xff0c;得到的网络号相同就是同一个网段&#xff0c;否则不是&#xff0c;跟他们在什么位置没有任何关系 这里面pc3和前两个pc虽然不在同一个网段&#xff0c;但是pc1发广播包的时候&#xff0c;pc3也能收到&#xff0c;因为路由器的所…

离开谷歌:九年之后,我为何选择离开这家公司

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【学习笔记】Windows GDI绘图(四)矩阵Matrix详解

矩阵Matrix 基于矩阵在GDI绘图的重要性&#xff0c;所以想深入了学习矩阵的相关属性与方法。 先上个本文中所有的函数图例演示吧。 原型&#xff1a; namespace System.Drawing.Drawing2D;public sealed unsafe class Matrix : MarshalByRefObject, IDisposableMatrix类封装…

玩机社区 - 2024年最美社区源码开源

玩机社区 - 2024年最美社区源码开源 教程源码文档都内置到压缩包了 https://pan.baidu.com/s/1xwcscTne-JMbmKEntiuAuA?pwd78oi

22个C语言小白常见问题总结

一.语言使用错误 在打代码的过程中&#xff0c;经常需要在中文与英文中进行转换&#xff0c;因此常出现一些符号一不小心就用错&#xff0c;用成中文。例如&#xff1a;“&#xff1b;”中文中的分号占用了两个字节&#xff0c;而英文中“;”分号只占用一个字节。编译器只能识…

遥感和ENVI技术检测食物污染

对于生产者和消费者来说食物污染都是个问题。家禽污染会引发严重的健康问题&#xff0c;导致严重的危害。美国农业部需要一种方法&#xff0c;使用遥感影像在离开生产线之前探测出受污染的家禽。 解决方案 提起遥感&#xff0c;人们想到的大多是那些太空船和轨道卫星。然而在美…

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

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

基于PHP的物业管理的设计与实现

第1章 绪论... 1 1.1 研究背景与意义... 1 1.2 国内外发展现状... 2 第2章 关键技术介绍... 3 2.1 PHP语言... 3 2.2 MySQL数据库... 3 2.3 Zend框架... 4 2.4 B/S架构... 4 第3章 系统需求分析... 5 3.1 可行性分析... 5 3.1.1 技术可行性分析... 5 3.1.2 经济可行…

Spring6基础笔记

Spring6 Log4j2 1、概述 1.1、Spring是什么&#xff1f; Spring 是一款主流的 Java EE 轻量级开源框架 &#xff0c;Spring 由“Spring 之父”Rod Johnson 提出并创立&#xff0c;其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发…

某大型制造集团企业信息化建设总体规划设计方案(67页PPT)

方案介绍&#xff1a; 随着信息技术的飞速发展&#xff0c;企业信息化建设已成为提高管理效率、增强企业竞争力的重要手段。某大型制造集团为应对市场变化、提升管理水平、优化资源配置&#xff0c;决定进行全面深入的信息化建设。本方案旨在构建一个集生产、管理、销售、物流…

C语言 浮点数 打印的方法

一、方式1 在C语言中&#xff0c;浮点数&#xff08;通常包括 float 和 double 类型&#xff09;的打印是通过标准库中的 printf 函数完成的。为了正确地打印浮点数&#xff0c;需要使用格式说明符来指定如何格式化输出。 #include <stdio.h> int main(void) { floa…

常见的字符编码

字符&#xff1a;各种文字和符号的总称&#xff0c;包括各个国家的文字&#xff0c;标点符号&#xff0c;图形符号&#xff0c;数字等 字符集&#xff1a;字符集是多个符号的集合&#xff0c;每个字符集包含的字符个数不同 字符编码&#xff1a;字符集只是规定了有哪些字符&a…

从零开始写 Docker(十五)---实现 mydocker run -e 支持环境变量传递

本文为从零开始写 Docker 系列第十五篇&#xff0c;实现 mydocker run -e, 支持在启动容器时指定环境变量&#xff0c;让容器内运行的程序可以使用外部传递的环境变量。 完整代码见&#xff1a;https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现…

《我的阿勒泰》观后感(一、什么叫做有用)

通过央视热播短剧《我的阿勒泰》&#xff0c;认识了李娟老师。同时也认识了她的作品&#xff0c;值得推荐。 生命并不荒凉&#xff0c;它是一种安静的绝美。 生活&#xff0c;如同一个巨大的迷宫&#xff0c;充满了未知和变数。有时&#xff0c;我们会在其中迷失方向&#xf…

STM32通用定时器的应用实例(基于STM32F103)

目录 概述 1 STM32Cube配置项目 1.1 准备环境 1.2 配置项目参数 1.3 生成Project 2 HAL函数 2.1 初始化函数&#xff1a;HAL_TIM_Base_Init 2.2 中断模式启动定时器函数&#xff1a;HAL_TIM_Base_Start 2.3 定时器回调函数&#xff1a; HAL_TIM_PeriodElapsedCallback…