博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HOUR 6 Controlling the Flow of a Program
阅读量:5025 次
发布时间:2019-06-12

本文共 1986 字,大约阅读时间需要 6 分钟。

Breaking Out of Loops

int multiples = 0;while (true){    multiples++;    if (multiples > 19)        break;}

假如没有break,这个循环没头了。这里加了一个退出条件,即超过19就break,我以前以为只有switch 语句才有break呢。

友情提示,while(true)这种自带bug的语句要慎重点使用。

Continuing to the next loop

程序执行时,如果遇到 continue,他就会无视后面的语句,直接开始新循环。

#include 
using namespace std;int findArea(int length, int width = 2, int height = 3);int main(){ int counter = 0; int multiples = 0; while(multiples < 10) { counter++; if(counter % 15 != 0) continue; cout << counter << endl; multiples++; } return 0;}

  

for Loops

 关于这个循环,有点特别注意的

  • for中三个参数之间的分隔符是分号---;;;;;;;;;;;;;;;;;;;;;;;
  • for( ; ; )    括号结束后没有分号!如果直接分号的话编译器不报错(有些时候需要这种空循环),只是机械的循环
  • for循环中的计数变量可以是整数、浮点数etc,不过大部分程序员都只用整数

Advanced for Loops

for 循环可以初始化很多变量,例如

for (x = 0, y = 1; x < 10, x++, y++){	some statements;}

  要注意使用逗号分隔多个变量,使用分号分隔各个部分(初始化、条件、自增etc)

for循环三个部分都可以省略,但是分号不能省略,例如

x = 0;for (; x < 5, x++){	some statements;}

  

switch Statements

Q. 什么时候用?

A. 当你要用很多很多很多很多 if-else 语句的时候,为了简洁,用switch替代

Q. 用不用default case ?

A. It's good programming practice to have a default case in your switch statements even when you don't have a reason to deployit. 通常default用来显示错误信息,或者超出你编程时的预期值

Note. 一般来说,每个case都要跟一个break,否则程序会一路到底,虽然有时候需要它一路到底,我就是写写让自己多注意点儿。

e.x. 初级阶段能熟练写出这样的语句就可以,注意不要忘记case default等等

#include 
using namespace std;int main(){ char grade; cout << "Enter your letter grade(in upper case please): \n"; cin >> grade; switch (grade) { case 'A': cout << "Finally!\n"; break; case 'B': cout << "You can do better! \n"; break; case 'C': cout << "I'm disappointed in you!\n"; break; case 'D': cout << "You're not smart! \n"; break; case 'E': cout << "Get out of my sight!\n"; break; default: cout << "That's not even a grade!\n"; break; } return 0;}

 

 

转载于:https://www.cnblogs.com/a-cock/p/8568738.html

你可能感兴趣的文章
JAVA基础知识 String s = new String("ABC") VS String s = "abc"
查看>>
mysql 数据库,表存储 大小
查看>>
将博客搬至CSDN
查看>>
Spring AOP编程
查看>>
2017.2.18[codevs3311][bzoj3668]NOI2014D1T1起床困难综合症
查看>>
MySQL表的四种分区类型
查看>>
最全的分区类型及详解
查看>>
Python 类中__init__()方法中的形参与如何修改类中属性的值
查看>>
9.1.3 前端 - HTML body标签 - 文本样式
查看>>
ACID属性
查看>>
cnpm不是内部命令的解决方案:配置环境变量
查看>>
7系列FPGA远程更新方案-QuickBoot(转)
查看>>
导出帐号和权限脚本
查看>>
markdown公式编辑参考
查看>>
利用运行时给模型赋值
查看>>
归并排序求逆序对
查看>>
SQL2008用sql语句给字段添加说明
查看>>
JavaScript的对象创建
查看>>
树形DP(统计直径的条数 HDU3534)
查看>>
java-jdbc循环设置sql参数
查看>>