1.指用是一个只含有一个单独的分号的语句。
什么时候用到:语法上需要一条语句但是逻辑上不需要。

2.复合语句是指用花括号括起来的语句声明的序列,又被称为块。

3.悬垂else :规定else与离它最近的尚未匹配的if匹配。

4.case语句分支最后的break一般不要省略。如果没写break语句,最好加一段注释说明清楚程序的逻辑。

5.在switch下的case条件语句定义一个default是很有必要的,即使不准备再此标签下做任何工作,这样的目的是告诉程序的读者,我们已经考虑到了默认的情况,只是什么都没有做。

6.case语句的标签一定是常量表达式。

7.for循环的()中的第一个位置可以定义多个对象,但是只能有一条声明语句,因此其中定义所有变量的类型需要相同。

8.范围for语句(for(auto &r :v))
作用:历遍容器或者其他序列的所有元素
适用对象:能返回迭代器的begin和end成员
原理:每次迭代都会重新定义循环控制变量,并将其初始化为序列中的下一个值,然后执行语句。
注意点:
如果要修改序列中的元素,循环变量必须声明为引用类型
再范围for中预存了end()的值,因此一旦再序列中添加(删除)元素,end函数的值就可能变得无效。

9.do 
  statement
while(codition);
①do while语句不管条件如何,我们都至少执行一次循环
②do while语句应该再括号包围起来的条件后面用一个分号表示语句结束
③condition不能为空,condition定义的变量必须定义再循环体之外。
如果允许再条件部分定义变量,则变量的使用出现再定义之前,这显然是不合理的。
例子:
do{
//
mumble(foo);
}while(int foo = get_foo()); //错误


10.continue只有再switch嵌套在迭代语句内部的时候,才能在switch里使用.

11.goto语句:goto label
①标签符独立于变量或者其他标示符名字,因此,标签表示符可以和程序中的其他实体的标示符使用同一个名字而不互相干扰。
②goto语句和控制权转向的那条标签的语句必须位于同一个函数之内。

12.try语句块:
while(cin >> item1 >> item2)
{
try
{
//执行添加两个Sales_item对象的代码
//如果添加失败,代码抛出一个runtime_error异常
}
catch(runtime_error)
{
cout << err.what()
<< "\nTry Again? Enter y or n" << endl;
char c;
cin >> c;
if(!cin || c == 'n')
break;//跳出while循环
}
}
 
1
while(cin >> item1 >> item2)
2
{
3
    try
4
    {
5
        //执行添加两个Sales_item对象的代码
6
        //如果添加失败,代码抛出一个runtime_error异常
7
    }
8
    catch(runtime_error)
9
    {
10
        cout << err.what()
11
             << "\nTry Again? Enter y or n" << endl;
12
        char c;
13
        cin >> c;
14
        if(!cin || c == 'n')
15
            break;//跳出while循环
16
    }
17
}
①catch一旦完成,程序跳转到try语句块最后一个catch子句之后的那条语句继续执行。
②try语句块内声明的变量在块外部无法访问,特别是在catch子句内也无法访问。

Chapter5 (语句) --C++Prime笔记的更多相关文章

  1. PROCESS_YIELD()宏和C语言的switch语句< contiki学习笔记之七>

    写在前面:  按照main()函数的代码一行一行的分析,该是看到了 etimer_process 这个位置.但是etimer_process实现里的一个宏 PROCESS_YIELD()引出了很多故事 ...

  2. Chapter6(函数) --C++Prime笔记

    1.重载函数,也就是说一个名字可以对应几个不同的函数. 2.内置类型的未初始化局部变量将产生未定义的值. 3.局部静态对象在程序执行路径第一次进过对象定义语句时初始化,并且直到程序终止才被销毁. 内置 ...

  3. Chapter2(变量和基础类型)--C++Prime笔记

    数据类型选择的准则: ①当明确知晓数值不可能为负时,选用无符号类型. ②使用int执行整数运算.在实际应用中,short常常显得太小而long一般和int有一样的尺寸.如果运算范围超过int的表示范围 ...

  4. Chapter1(预科)--C++Prime笔记

    心得体会: 因为之前一直在用在学C,因此在看完C++Prime第一章后,就有中在一个培训班中,一个老师用一个简单的项目来带你了解这种语言的特性的感觉.当然这个告诉是在让你脑子固化接受一些点的前提下. ...

  5. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  6. mysql查询语句(mysql学习笔记七)

    Sql语句 一般顺序GHOL : group by,having ,order by,limit     如果是分组,应该使用对分组字段进行排序的group by语法                 ...

  7. oracle group 语句探究(笔记)

    1.group by语句在oracle中没有排序功能,必须依靠order by才能实现按照预定结果的排序 2.group by 的cube扩展 with test as ( id, name from ...

  8. 常用oracle语句-------------------------------------------》(笔记)

      Orale常用语句 1:查询指定表名的字段 select * from sys.user_tab_columns where table_name=表名 //查询指定表名的字段 2: 查询数据库参 ...

  9. 第四章 javascript的语句、对象笔记摘要

    表达式语句 greeting ="Hello"+name;//赋值语句 i*=3; count++; delete o.x; //删除 alert(greeting); //函数 ...

随机推荐

  1. 关于如何使用dubbo管理控制台的一些感想

    1.起因 ​因java项目需要准备安装一个dubbo-admin管理后台研究使用,无奈github上并没有看到dubbo-admin的目录着实让人着急.百度引擎上一些文章也不靠谱!真是浪费时间!所以又 ...

  2. win10浏览器访问vmware中ubuntu开启的某个服务端口出现的问题

    问题描述 1. win10系统中浏览器能正常访问  ubuntu中nginx服务器的80端口, 但是不能访问8082 问题原因 ubuntu 防火墙默认没有启用 8082端口, 需要开启这个端口号 解 ...

  3. unload没有用

    今天下午测试了unload这个事件包括beforeunload <script type="text/javascript"> window.addEventListe ...

  4. 作业1-MathExam

    MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 10 30 • Estim ...

  5. Journal entry of the thirteenth chapter to chapter seventeenth(第十三章和十七章阅读与疑问)

    第十三章: 软件测试的意义在于: a.     发现软件错误: b.     有效定义和实现软件成分由低层到高层的组装过程: c.     验证软件是否满足任务书和系统定义文档所规定的技术要求: d. ...

  6. 旧文备份:CANopen协议中SDO服务

    SDO是服务数据对象接口(Service Data Obiect)的缩写,顾名思义提供服务数据的访问接口,服务数据就是一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点 ...

  7. 9th 学习博客:使用Codebloks实现C++的图形化界面

    使用开发工具codeblocks,添加ResEdit.exe这个控件,可以很方便地进行图形化编辑,这是在网上找得教程,实现的是最基本的在对话框内添加按钮,并实现单击响应在控制台输出相应的文字. mai ...

  8. 第九周(11.11-11.17)----Beta版本发布140字评论

    1.新蜂组: 俄罗斯方块:项目有良好的用户界面,在原版的基础上可以对用户分数进行排序,增加了显示下一个方块的功能.是个很有趣的小游戏. 2.天天向上组: 连连看:完成了基本功能,增加了消除时和鼠标点击 ...

  9. JMeter性能测试基础 (3) - 使用参数文件做搜索引擎性能对比

    本篇文章主要对如何在JMeter中进行URL的参数进行配置进行介绍,通过CSV文件配置参数数据,对baidu.sogou.haosou进行搜索性能对比测试. 1.建立测试计划.线程组,并在线程组下添加 ...

  10. php $_SERVER['HTTP_USER_AGENT'] 2

    //mobile  false pc   true no pc    function is_mobile(){        $agent = strtolower($_SERVER['HTTP_U ...