条件结构

if结构

#include <iostream>

using namespace std;

int main()
{
//判断用户输入的字符是否是合法的硬盘盘符A-Z
char pan = '\0'; //默认值设置为空字符
cout << "请输入硬盘盘符:" << endl;
cin >> pan; //char类型属于int
//if(pan >= 'A' && pand <= 'Z')
if(pan >= 65 && pan <= 65 + 26)
{
cout << "合法的盘符" << endl;
}
else
{
cout << "不合法的盘符" << endl;
} //计算应付金额, 商品总价大于50000时打7折, 否则打9折
double price_louis = 35000;
double price_hermes = 11044.5;
double price_chanel = 1535;
double price_total = 0;
double discount = 0;
price_total = price_chanel + price_hermes + price_louis;
if(price_total > 50000)
{
discount = 0.7;
}
else
{
discount = 0.9;
}
price_total *= discount;
cout << "应付金额:" << price_total << endl;
}

多重if结构

#include <iostream>

using namespace std;

int main()
{
int x;
cout << "请输入一个整数: " << endl;
cin >> x;
if(x > 0)
{
cout << "这是一个正整数" << endl;
}
else if(x < 0)
{
cout << "这是个负整数" << endl;
}
else
{
cout << "输入为0" << endl;
}
}

switch结构

  • switch后的表达式只能是整型或字符型
  • case后的常量表达式的值不能相同
  • case后允许多条语句, 不需要大括号
  • 如果不添加break语句, 需要注意执行顺序
  • case和default子句的先后顺序可以自行改变
  • default子句可以省略
#include <iostream>

using namespace std;

int main()
{
char grade;
cout << "请输入你的成绩等级:" << endl;
cin >> grade;
switch(grade)
{
default:
cout << "Invalid grade" << endl;
case 'A':
cout << "Excellent!" <<endl;
break;
case 'B':
cout << "Well done!" <<endl;
break;
case 'C':
cout << "You passed!" <<endl;
break;
case 'D':
cout << "Better try again!" <<endl;
break;
}
}

switch和多重if对比

  • 都是用来处理分支条件结构
  • switch是等值条件判断, 条件是有限个的
  • 多重if是判断某个连续区间时使用

循环

while循环

//1-100的累加和
#include <iostream> using namespace std; int main()
{
//循环三要素: 循环初值 循环判断 循环更新
//通过控制循环变量, 来控制循环次数 int i = 0; //循环初值
int sum = 0;
while(i<=100){ //循环判断
sum += i;
i++; //循环更新
}
cout << "1~100的累加和为:" << sum << endl;
}

程序调试

  1. 分析错误
  2. 设置断点
  3. 启动调试
  4. 单步运行
  5. 观察变量
  6. 发现问题
  7. 修改代码重新运行

do-while循环

//先执行, 后判断

do{
循环操作
}while(循环条件);

与while循环对比

  • 执行顺序不同
  • 初识情况不满足条件时
    • while循环一次都不会执行
    • do-while循环不管什么情况都会至少执行一次

for循环

for(表达式1; 表达式2; 表达式3)
{
语句;
} //表达式1为循环变量赋初始值, 可省略
//表达式2为循环条件, 可省略
//表达式3位更新循环变量的值, 可省略
//分号用来分隔三个表达式, 不可省略 for(;;)为一个死循环

break和continue

  • break的作用是跳出循环, 执行循环之后的语句, 可用于switch结构和循环结构中.

  • continue的作用是跳出本次循环, 继续下一次的循环, 只能用于循环结构中.

//1-100的偶数和
#include <iostream> using namespace std; int main()
{
int sum = 0;
for(int i = 1; i <= 100; i++)
{
if(i % 2 == 1){
continue;
}
sum = sum + i;
}
cout << "1-100偶数和为 " << sum << endl;
} //打印菱形图案
*
***
*****
*******
*****
***
* #include <iostream> using namespace std; int main()
{
//上半部分
//外层控制行数
for(int i = 1; i <= 4; i++){
//内层控制列的图案
for(int j = 4 - i; j > 0; j--){
cout << ' ';
}
for(int j = 0; j < (2 * i - 1); j++){
cout << '*';
}
//换行
cout << endl;
} //下半部分
for(int i = 1; i < 4; i++){
for(int j = 0; j < i; j++){
cout << ' ';
}
for(int j = (4 - i) * 2 - 1; j >0; j--){
cout << '*';
}
//换行
cout << endl;
}
}

循环总结

  • 多次重复执行一个或多个任务时考虑使用循环
  • 循环次数确定的情况下, 通常使用for循环
  • 循环次数不确定的情况下, 通常选用while和do-while循环

C++---条件结构和循环结构的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Java使用条件语句和循环结构确定控制流

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句 ...

  3. Java基础—控制流程语句(条件语句与循环结构)

    与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ...

  4. 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套

    ------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...

  5. Java程序流程控制:判断结构、选择结构、循环结构

    本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ...

  6. java顺序结构、循环结构、选择结构

    java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ...

  7. Chrome弹窗的简单应用(选择结构与循环结构)

    ★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图   ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用   比较大小 ★ 判断成绩等级 ): : : : : alert(" ...

  8. 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)

    选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ...

  9. 039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述

    039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ...

  10. PL/SQL 流程控制语句-条件结构,循环结构

    条件结构 一.IF-THEN语句 IF-THEN语句是最简单的IF语句. 语法: IF condition THEN Statements END IF; 例子: declare v_score nu ...

随机推荐

  1. 如何实现 UITabbarController 的 State Preservation?

    原文链接 最近在看ios programming - the big nerd ranch guide 这本书,其中第24章介绍了如何使用系统接口来实现 State Restoration. 示例部分 ...

  2. Python IO文件管理

    文件操作 我们可以使用python来操作文件,比如读取文件内容.写入新的内容等,因为任何计算机文件的本质都是一些有不同后缀的字符组成的. python文件操作的两种模式 打开模式 while,写入模式 ...

  3. ArcGIS热点分析

    许多论文中一般会有热点分析图,ArcGIS中提供了热点分析的功能. 先看下描述:给定一组加权要素,使用 Getis-Ord Gi* 统计识别具有统计显著性的热点和冷点. 其实非常简单,今天博主就跟大家 ...

  4. 报错 ——Error evaluating expression 'id != null id > 0'.

    Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error qu ...

  5. 【推理引擎】ONNX 模型解析

    定义模型结构 首先使用 PyTorch 定义一个简单的网络模型: class ConvBnReluBlock(nn.Module): def __init__(self) -> None: su ...

  6. 四种类型的数据节点 Znode ?

    1.PERSISTENT-持久节点 除非手动删除,否则节点一直存在于 Zookeeper 上 2.EPHEMERAL-临时节点 临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与 zoo ...

  7. Java 中 ConcurrentHashMap 的并发度是什么?

    ConcurrentHashMap 把实际 map 划分成若干部分来实现它的可扩展性和线程安 全.这种划分是使用并发度获得的,它是 ConcurrentHashMap 类构造函数的一 个可选参数,默认 ...

  8. jQuery--筛选【查找函数】

    查找函数介绍 <A> <B> <C></C> <D></D> <E></E> <F>< ...

  9. 什么是IOC?

    IoC是什么 Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传 ...

  10. elasticsearch 是如何实现 master 选举的 ?

    想了解 ES 集群的底层原理,不再只关注业务层面了. 前置前提: 1.只有候选主节点(master:true)的节点才能成为主节点. 2.最小主节点数(min_master_nodes)的目的是防止脑 ...