五、程序流程结构(1)选择结构——if语句

2024-01-15 10:36

本文主要是介绍五、程序流程结构(1)选择结构——if语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  • 顺序结构:程序按顺序执行,不发生跳转
  • 选择结构:依据条件是否满足,有选择地执行相应的功能
  • 循环结构:依据条件是否满足,循环多次执行某段代码

一、if语句

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

if语句的三种形式:

  • 单行格式if语句
  • 多行格式if语句
  • 多条件的if语句

1、单行格式if语句 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
int main()
{//选择结构,单行if语句//用户输入分数,如果分数大于600,视为考上一本大学,屏幕上输出//1、用户输入分数int score = 0;cout << "请输入一个分数:" << endl;cin >> score;//2、打印用户输入的分数cout << "您输入的分数为:" << endl;//3、判断分数是否大于600,如果分数大于600,那么输出if (score > 600)	//if条件后不要加分号{cout << "恭喜您考上一本大学" << endl;}system("pause");return 0;
}

运行结果:

请输入一个分数:
601
您输入的分数为:601
恭喜您考上一本大学

2、多行if语句 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
int main()
{//选择结构,单行if语句//用户输入分数,如果分数大于600,视为考上一本大学,屏幕上输出//1、用户输入分数int score = 0;cout << "请输入一个分数:" << endl;cin >> score;//2、打印用户输入的分数cout << "您输入的分数为:" << endl;//3、判断分数是否大于600,如果分数大于600,那么输出if (score > 600)	//if条件后不要加分号{cout << "恭喜您考上一本大学" << endl;}else{cout << "很遗憾,您没考上一本大学" << endl;}system("pause");return 0;
}

 运行结果:

请输入一个分数:
580
您输入的分数为:
很遗憾,您没考上一本大学

3、多条件的if语句 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
int main()
{//选择结构,单行if语句//用户输入分数,如果分数大于600,视为考上一本大学,屏幕上输出//1、用户输入分数int score = 0;cout << "请输入一个分数:" << endl;cin >> score;//2、打印用户输入的分数cout << "您输入的分数为:" << endl;//3、判断分数是否大于600,如果分数大于600,那么输出if (score > 600)	//if条件后不要加分号{cout << "恭喜您考上一本大学" << endl;}//大于500分,视为考上二本学校else if(score>500){cout << "恭喜您考上二本大学" << endl;}//大于400分,视为考上三本学校else if (score > 400){cout << "恭喜您考上三本大学" << endl;}//小于等于400分,视为未考上本科else{cout << "很遗憾,您没考上本科大学" << endl;}system("pause");return 0;
}

 运行结果:

请输入一个分数:
300
您输入的分数为:
很遗憾,您没考上本科大学

 4、嵌套if语句

1、案例需求:

  • 提示用户输入一个高考考试分数,根据分数做如下判断:
  • 分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本
  • 科;
  • 在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。
//大于600分进行分段判断
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
int main()
{int score = 0;cout << "请输入一个分数:" << endl;cin >> score;cout << "您输入的分数为:" << 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;}system("pause");return 0;
}

 运行结果: 

请输入一个分数:
750
您输入的分数为:
恭喜您考上一本大学
您能考入北京大学

2、三只小猪称体重

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

1、先判断A和B谁重,若A重则让A和C比较,若A比C重则A最重

2、B、C判断同1 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
int main()
{int num1 = 0;int num2 = 0;int num3 = 0;//2、让用户输入三只小猪的重量cout << "请输入小猪A的体重:" << endl;cin >> num1;cout << "请输入小猪B的体重:" << endl;cin >> num2;cout << "请输入小猪C的体重:" << endl;cin >> num3;if (num1 > num2)	//A比B重{if (num1 > num3){cout << "小猪A最重" << endl;}else{cout << "小猪C最重" << endl;}}else{//B比A重}{if (num2 > num3){cout << "小猪B最重" << endl;}else{cout << "小猪C最重" << endl;}}system("pause");return 0;
}

 运行结果: 

请输入小猪A的体重:
200
请输入小猪B的体重:
500
请输入小猪C的体重:
300
小猪B最重

这篇关于五、程序流程结构(1)选择结构——if语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608592

相关文章

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

Java集合中的链表与结构详解

《Java集合中的链表与结构详解》链表是一种物理存储结构上非连续的存储结构,数据元素的逻辑顺序的通过链表中的引用链接次序实现,文章对比ArrayList与LinkedList的结构差异,详细讲解了链表... 目录一、链表概念与结构二、当向单链表的实现2.1 准备工作2.2 初始化链表2.3 打印数据、链表长

MySQL ORDER BY 语句常见用法、示例详解

《MySQLORDERBY语句常见用法、示例详解》ORDERBY是结构化查询语言(SQL)中的关键字,隶属于SELECT语句的子句结构,用于对查询结果集按指定列进行排序,本文给大家介绍MySQL... 目录mysql ORDER BY 语句详细说明1.基本语法2.排序方向详解3.多列排序4.常见用法示例5.

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

SpringBoot利用树形结构优化查询速度

《SpringBoot利用树形结构优化查询速度》这篇文章主要为大家详细介绍了SpringBoot利用树形结构优化查询速度,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一个真实的性能灾难传统方案为什么这么慢N+1查询灾难性能测试数据对比核心解决方案:一次查询 + O(n)算法解决

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期