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 ...
随机推荐
- 路由的query参数(传参)
路由组件不会在组件里面放自己组件标签. 案例使用嵌套组件的,但是在Message组件下新增了组件Detail.vue index.html //引入bootstrap.css <link rel ...
- Centos7 环境下设置固定IP
1. 在/etc/sysconfig/network-scripts/下创建ifcfg-eth0配置文件, 并填入以下内容: DEVICE=eth0 TYPE=Ethernet IPADDR=192. ...
- 流量回放专题-jvm-sanbox-repeater
流量回放介绍 一.前言 你是否和我一样遇到过以下的问题? 1)服务重构,一堆接口需要回归,让人头疼 2)每次迭代,都要花很多精力来进行回归测试 3)线上bug,线下复现不了 4)接口自动化用例写辛苦, ...
- Linux配置FTP(vsftpd)服务和无法上传下载问题解决
vsftpd的配置说明 ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是: ftpusers 该文件用来指定那些用户不能访问ftp服务器. user_list 该文件用来指示的默 ...
- web服务器-nginx配置文件
web服务器-nginx配置文件 一 nginx配置文件 #启动子进程程序的默认用户 #user nobody #一个主进程和多个工作进程.工作进程是单进程的,且不需要特殊授权即可运行:这里定义的是工 ...
- 基于WebSocket的简易聊天室
用的是Flash + WebSocket 哦~ Flask 之 WebSocket 一.项目结构: 二.导入模块 pip3 install gevent-websocket 三.先来看一个一对一聊天的 ...
- 在Unity中用UGUI制作可输入下拉框
Unity中UGUI制作可输入下拉框 目录 Unity中UGUI制作可输入下拉框 前言 组件分析 制作流程 总结 前言 在搜索引擎以及一些网页中我们常常可以看见这样一种UI控件,看上去是一个输入框,在 ...
- 『忘了再学』Shell基础 — 4、Bash基本功能(history命令)
目录 1.history历史命令 2.设置命令历史记录的条数 3.清空历史命令 4.历史命令的调用 5.命令与文件的补全 在Linux系统中默认的Shell就是Bourne-AgainShell(简称 ...
- 监听watch?
对应一个对象,键是观察表达式,值是对应回调.值也可以是methods的方法名,或者是对象,包含选项.在实例化时为每个键调用 $watch()
- Oracle入门基础(二)一一过滤和排序
SQL> --查询10号部门的员工 SQL> select * from emp where deptno=10; EMPNO ENAME JOB MGR HIREDATE SAL COM ...