条件结构

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. 201922904李龙威 2019-2020-2 《Python程序设计》实验二报告

    20192204 2019-2020-2 <Python程序设计>实验二报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实验教师 ...

  2. CF708C题解

    挺简单的一道数据结构... 首先考虑这个"改造"的本质,很明显是把一颗子树塞到了另一个节点下面. 考虑一个节点可能成为重心的条件.条件很明显是只有一颗子树的大小大于 \(\frac ...

  3. LGP2233题解

    题目大意 求环上走 \(n\) 步从指定点到达另一指定点,到达指定点后 不得继续移动. 大家都做过P1057传球游戏吧?还记得这道题的思路吗? 设 \(dp[i][j]\) 表示传 \(i\) 次求传 ...

  4. VuePress 博客优化之开启 Algolia 全文搜索

    前言 在 <一篇带你用 VuePress + Github Pages 搭建博客>中,我们使用 VuePress 搭建了一个博客,最终的效果查看:TypeScript 中文文档. 由于 V ...

  5. Java实例变量、局部变量、静态变量

    实例变量(成员变量) 成员变量定义在类中,在整个类中都可以被访问,但在方法.构造方法和语句块之外 当一个对象被实例化之后,每个实例变量的值就跟着确定 实例变量在对象创建的时候创建,在对象被销毁时销毁 ...

  6. Apache+PHP+Mysql安装手册(Windows)

    一,准备安装包 下载地址: Apache:HTTPS://www.apachelounge.com/download/ PHP:http://php.net/downloads.php MySQL h ...

  7. 机械学习笔记1 -> Solidworks三维产品设计与建模1 | 建模基础入门

    学习之余,课余了解一点点,作为爱好,妄想以后能够设计机甲出来. 学习来源是Solidworks三维产品设计与建模 00 工作界面介绍 00-1 概览 有时菜单栏和工具栏会重叠在一起,只有点击左侧三角才 ...

  8. 在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区

    在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 为什么要有Survivor区 先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪 ...

  9. 什么是RabbitMQ?RabbitMQ的使用场景是什么?

    参考链接:RabbitMQ 简介以及使用场景

  10. Web,RESTful API 在微服务中的作用是什么?

    微服务架构基于一个概念,其中所有服务应该能够彼此交互以构建业务功能.因 此,要实现这一点,每个微服务必须具有接口.这使得 Web API 成为微服务的一 个非常重要的推动者.RESTful API 基 ...