C++学习 之 控制程序流程 (笔记)
1.使用if...else有条件的执行
在一些时候语句需要进行有条件的执行。比如如果输入"Y"就执行赋值语句N=1;否则N=0:
#include<iostream>
using namespace std;
int main ()
{
char Judge='N';
int N;
cin>>Judge;
if(Judge=='Y')
{
N=;
}//if条件下一条语句时{}可省略,此处给出
else
{
N=;
}
cout<<N<<endl;
return ;
}
if...else是可以嵌套使用的,下面例出一个模板:
if(expression1)
{
DoSomething;
if(expression2)
DoSomething2;
else
DoSomethingElse2;
}
else
{
DoSomething;
if(expression3)
DoSomething3;
}
2.使用switch...case进行条件处理
switch...case语法结构如下:
switch(expression)
{
case LabelA:
DoSomethingA;
break;
case LabelB:
DoSomethingB;
break;
default:
break;
}
其语法就是计算expression的值并与case的标签对比,如果值相同就执行该case下的语句,不相同就与下一个标签作比较直至到也没有相同的就执行default正常退出。
下面给出输入阿拉伯数字1~5给出相应的希腊数字的代码示例;
int Input_N;
cin>>Iput_N;
switch(Input_N)
{
case 1:
cout<<"I"<<endl;
break;
case 2:
cout<<"II"<<endl;
break;
case 3:
cout<<"III"<<endl;
break;
case 4:
cout<<"IV"<<endl;
break;
case 5:
cout<<"V"<<endl;
break;
default:
break;
}
3. ?:条件运算符
expression ?: expression1:expression2;
问号前表达式成立则选择计算expression1否则选择计算expression2。
使用条件运算符?:选出两个数之间最大的一个:
int Number1=,Number2=;
cin>>Number1;
cin>>Number2;
int Max;
Max=(Number1>Number2)?Number1:Number2;
cout<<Max<<endl;
4. while循环
while循环语法结构如下:
while(expression)
{
StatementBlock;
}
只要expression为true,就将执行该语句块,所以在循环过程中会出现expression为false的情况,否则循环很有可能永不停息的执行下去。
5. do while循环
do while循环与while的循环的区别在于是否在执行语句前进行了条件判断,do while循环保证了代码块语句至少被执行一次。
do while循环语法结构如下:
do
{
StatementBlock;
}while(expression);
注意:while循环和do...while的区别源自于编译器的顺序编译,do...while是有句末分号的。
6. for循环
for语句是一种更加复杂的循环,它允许我们指定执行一次的初始化语句(通常用来初始化计数器),判断退出条件(通常使用计数器),还可以在循环末尾执行一次操作(通常为计数器累加操作)。
例如循环为数组输入输出各值的代码:
int i, a[4];
for (i = 0; i < 4; i++)//初始化语句,检查退出条件语句,计数器累加操作语句
{
cin >> a[i];
}
for (i = 0;i < 4; i++)
{
cout <<"第"<< i + 1 << "个数: "<<a[i] << endl;
}
注意:for语句中初始化语句、条件语句、操作语句都是根据需要可选的。
7. continue 和 break
while ,do...while 和 for循环都会有条件语句,如果条件为假就跳出循环,如果条件一直为真就会一直循环就是死循环。在很多时候死循环会导致程序崩溃,这是我们不期望发生的事情,而使用break
和continue就可以修改循环行为,包括死循环。我们可以给循环一个条件使其使用break跳出循环,continue会使执行跳到循环开头,重新评估循环条件。
注意:尽量不要使用break或continue,因为它们影响代码直观性,除非遇到不使用它们程序就无法正确或高效的运行的情况。
C++学习 之 控制程序流程 (笔记)的更多相关文章
- 重新开始学习javase_控制程序流程
@学习thinking in java 二.控制程序流程 负数使用 Java 运算符:运算符以一个或多个自变量为基础,可生成一个新值.自变量采用与原始方法调用不同的一种形式,但效果是相同的.根据以前写 ...
- canvas学习之API整理笔记(二)
前面我整理过一篇文章canvas学习之API整理笔记(一),从这篇文章我们已经可以基本了解到常用绘图的API.简单的变换和动画.而本篇文章的主要内容包括高级动画.像素操作.性能优化等知识点,讲解每个知 ...
- 学习Logistic Regression的笔记与理解(转)
学习Logistic Regression的笔记与理解 1.首先从结果往前来看下how logistic regression make predictions. 设我们某个测试数据为X(x0,x1, ...
- 转载-《Python学习手册》读书笔记
转载-<Python学习手册>读书笔记 http://www.cnblogs.com/wuyuegb2312/archive/2013/02/26/2910908.html
- python学习第五次笔记
python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...
- 前端学习:JS(面向对象)代码笔记
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...
- activiti学习6:启动流程后动态获取流程图
目录 activiti学习6:启动流程后动态获取流程图 一.绘图原理 二.根据流程定义id绘图 三.根据流程实例id绘图 3.1 基本原理 3.2 当前节点的获取 3.3 走过的节点的获取 3.4 绘 ...
- activiti学习5:开启流程和流程前进
目录 activiti学习5:开启流程和流程前进 一.流程和任务的关系 二.开启流程 2.1根据流程定义key开启流程 三.查询用户任务 3.1 TaskQuery 四.完成任务 activiti学习 ...
- 《Data Structures and Algorithm Analysis in C》学习与刷题笔记
<Data Structures and Algorithm Analysis in C>学习与刷题笔记 为什么要学习DSAAC? 某个月黑风高的夜晚,下班的我走在黯淡无光.冷清无人的冲之 ...
随机推荐
- Java当中的集合框架Map
简书作者:达叔小生 Java当中的集合框架Map 01 Map提供了三个集合视图: 键集 值集 键-值 映射集 public String getWeek(int num){ if(num<0 ...
- Linux可变参数打印日志(二)
#include<stdio.h> #include<stdlib.h> #include<stdarg.h> #include<string.h> # ...
- vue 钩子函数的使用
1.什么是自定义指令,有哪些钩子函数及自定义指令的使用场景 ①自定义指令是什么?以及自定义指令的使用场景 在Vue中,有很多内置指令,但是这些指令只能满足我们最基础的使用,当我们在实际项目中遇到了必须 ...
- B. Interesting Array(线段树)
B. Interesting Array time limit per test 1 second memory limit per test 256 megabytes input standard ...
- 成员函数定义后面加 const 的意义
我们定义的类的成员函数中,常常有一些成员函数不改变类的数据成员,也就是说,这些函数是"只读"函数,而有一些函数要修改类数据成员的值.如果把不改变数据成员的函数都加上const关键字 ...
- dom4j读写XML文档
dom4j 最常用最简单的用法(转) 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http:/ ...
- Linux 相关系统日志查看
1. 登录日志 cat /var/log/secure 涉及到账号登录的日志信息都会记录在此文件中. 2. Unit 的启动日志 journalctl 可以查看所有 unit 的启动日志,日志的配置文 ...
- windows下ch340 usb转串口芯片的驱动从哪里下载?
答: 请点击此处下载
- 解剖PTP协议
一. PTP是什么? 英文为Precise Time Protocol,翻译过来就是精确时间协议 二. 为何会出现PTP? 大家想必是知道NTP的存在,然而NTP的精度很低,只能达到毫秒级别的精度,那 ...
- MVC模式入门案例
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widg ...