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 ...
随机推荐
- 原生 JS 实现 HTML 转 Markdown,以及其实现逻辑
之前因为一些需要,需要转换部分 HTML 标签成 markdown 格式,但是不知不觉就完善到一个相对完整的函数. 然后我就封装成了一个文件放在了 github ,也简单做了两个示例网页. HTML ...
- 关于alertmanager报No private IP address found, and explicit IP not provided
./alertmanager --config.file=alertmanager.yml level=info ts=2021-11-22T05:53:11.195Z caller=main.go: ...
- 自定义 Django admin 组件
摘要:学习 Django admin 组件,仿照源码的逻辑,自定义了一个简易的 stark 组件,实现类似 admin 的功能. 可自动生成 url 路由,对于model 有与之相应的配置类对象,可进 ...
- 4月13日 python学习总结 组合与封装
一.组合 解决类与类之间代码冗余问题有两种解决方案:1.继承 2.组合 1.继承:描述的是类与类之间,什么是什么的关系 2.组合:描述的是类与类之间的关系,是一种什么有什么关系 一个类产生的 ...
- 面向对象编程(C++篇4)——RAII
目录 1. 概述 2. 详论 2.1. 堆.栈.静态区 2.2. 手动管理资源的弊端 2.3. 间接使用 2.4. 自下而上的抽象 3. 总结 4. 参考 1. 概述 在前面两篇文章<面向对象编 ...
- 记录NLTK安装使用全过程--python
前言 之前做实验用到了情感分析,就下载了一下,这篇博客记录使用过程. 下载安装到实战详细步骤 NLTK下载安装 先使用pip install nltk 安装包 然后运行下面两行代码会弹出如图得GUI界 ...
- mac idea
sout :按Tab或Enter都可以出现
- short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?
对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型才能赋值给short型.而short s1 = 1; s1 += 1;可 ...
- 关于kafka客户端版本与服务端版本不一致导致的一次坑
上周开发了一个功能,需要使用kafka接上游数据并入库,本地开发时,自己安装了一个kafka服务,开发测试时使用本地的kafka服务给主题发消息,然后在自己本地的代码中进行调试.使用的kafka版本如 ...
- 什么是 Daemon 线程?它有什么意义?
所谓后台(daemon)线程,是指在程序运行的时候在后台提供一种通用服务的线 程,并且这个线程并不属于程序中不可或缺的部分.因此,当所有的非后台线程 结束时,程序也就终止了,同时会杀死进程中的所有后台 ...