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这么一个庞大的东西,出点问题真是太常见了.开个博客,用于记录遇到的问题吧. 持续更新. 二.问题列表 归档日志满,引起的问题. 一台服务器,用了很久了,某天,出现了磁盘空间占满的 ...