C++---条件结构和循环结构
条件结构
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;
}
程序调试
- 分析错误
- 设置断点
- 启动调试
- 单步运行
- 观察变量
- 发现问题
- 修改代码重新运行
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++---条件结构和循环结构的更多相关文章
- Python学习--04条件控制与循环结构
		Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ... 
- Java使用条件语句和循环结构确定控制流
		与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流.本文将简单讲解条件.循环和switch. 一.块作用域 块(block),即复合语句.是指由一对大括号括起来的若干条简单的Java语句 ... 
- Java基础—控制流程语句(条件语句与循环结构)
		与任何程序设计语言一样,Java使用条件语句和循环结构确定控制流程.Java的控制流程结构与C和C++的控制流程机构一样,只有很少的例外情况.没有goto语句,但break语句可以带标签,可以利用它实 ... 
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
		------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ... 
- Java程序流程控制:判断结构、选择结构、循环结构
		本文内容: 判断结构 if 选择结构 switch 循环结构 while do-while for for each break.continue return 首发时间:2017-06-22 21: ... 
- java顺序结构、循环结构、选择结构
		java顺序结构.选择结构.循环结构 顺序结构: 语句与语句之间,框与框之间是从上到下的顺序进行的,它是由若干个依次执行的处理步骤执组成的,它是任何一个算法都不离开的一种基本算法结构. 选择结构: 1 ... 
- Chrome弹窗的简单应用(选择结构与循环结构)
		★选择结构★ ★JS实现弹窗显示随机数 示例代码效果图 ★ 弹窗实现对随机数的进一步判断 示例代码效果图 ★综合应用 比较大小 ★ 判断成绩等级 ): : : : : alert(" ... 
- 大数据学习--day04(选择结构、循环结构、大数据java基础面试题)
		选择结构.循环结构.大数据java基础面试题 switch: 注意: byte short int char String(jdk1.7支持) 不能是 long float double boolea ... 
- 039 01 Android 零基础入门  01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述
		039 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 01 循环结构概述 本文知识点:循环结构概述 循环结构主要内容 while 循环 do-whiile ... 
- PL/SQL 流程控制语句-条件结构,循环结构
		条件结构 一.IF-THEN语句 IF-THEN语句是最简单的IF语句. 语法: IF condition THEN Statements END IF; 例子: declare v_score nu ... 
随机推荐
- 配置DHCP Relay的功能原理是什么?
			DHCP中继代理,就是在DHCP服务器和客户端之间转发DHCP数据包.当DHCP客户端与服务器不在同一个子网上,就必须有DHCP中继代理来转发DHCP请求和应答消息.DHCP中继代理的数据转发,与通常 ... 
- [递归回溯] LeetCode 504七进制数(摸鱼版)
			LeetCode 七进制数 前言: 这个就没什么好说的了 题目:略 步入正题 进位制转换 10 -n 余数加倒叙 没什么好讲的直接上七进制代码 偷个懒 10进位制转7 class Solution { ... 
- stash —— 一个极度实用的Git操作
			今天要介绍的 Git 操作就是 stash,毫不夸张地说,每个用 Git 的开发人员都一定要会懂怎么使用. 在介绍之前,不知道你有没有和我一样的经历:某一天,我正在一个 feature 分支上高高兴兴 ... 
- CentOS7.5安装Ansible
			安装ansible: 查看可用的ansible版本: yum list|grep ansible 方法一: 系统可用ansible版本太低,安装epel源: yum install epel-re ... 
- ssm 关于mybatis启动报Result Maps collection already contains value for ...的问题总结
			Result Maps collection already contains value for com.zhaike.mapping.ChapterMapper.BaseResultMap Err ... 
- Java基础——Arrays类
			概述: Arrays类包含用于操作数组的各种方法,常用的有以下几种 方法名 说明 public static String toString(int[]a) 返回指定数组的内容的字符串表达形式 pub ... 
- java-关于java
			JavaSE(标准版) JavaME(嵌入式)(淘汰) JavaEE(E企业级开发) JavaSE是基础 API端口 JDK Java开发工具 JRE Java运行时环境 JVM 虚拟机 可以在软件和 ... 
- Python 局域网主机存活扫描
			#! python # -*- coding: utf-8 -*- __author__ = 'Deen' import os import threading import argparse # 从 ... 
- Linux源码安装RabbitMQ高可用集群
			1.环境说明 linux版本:CentOS Linux release 7.9.2009 erlang版本:erlang-24.0 rabbitmq版本:rabbitmq_server-3.9.13 ... 
- Oracle问题解决记录
			一.前言 oracle这么一个庞大的东西,出点问题真是太常见了.开个博客,用于记录遇到的问题吧. 持续更新. 二.问题列表 归档日志满,引起的问题. 一台服务器,用了很久了,某天,出现了磁盘空间占满的 ... 
