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. chattr和lsattr命令详解

    基础命令学习目录首页 原文链接:http://www.ha97.com/5172.html PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chat ...

  2. Python20-Day05

    一.模块与包 1.模块 什么是模块? 在python中,模块可以分为四个通用类别: 1. 使用python编写的.py文件 2. 已经被编译为共享库或DLL的c或者c++扩展 3. 把一系列模块组织到 ...

  3. 自制session

    原理 1.面向对象中通过索引的方式访问对象,需要内部实现 __getitem__ .__delitem__.__setitem__方法 2.Tornado框架中,默认执行Handler的get/pos ...

  4. ES6的新特性(23)——ArrayBuffer

    ArrayBuffer ArrayBuffer对象.TypedArray视图和DataView视图是 JavaScript 操作二进制数据的一个接口.这些对象早就存在,属于独立的规格(2011 年 2 ...

  5. PSP总结报告1

    回答作业问题 1.回想一下你曾经对计算机专业的畅想 我高考后报考的是计算机科学与技术,当时对计算机技术基本了解为零,当时以为什么东西都会用到计算机,学计算机以后不会找不到工作,刚开学的时候对计算机一窍 ...

  6. css3学习笔记三

    css3有些特殊的元素选择器这和jquery相似.效果图如下

  7. Servlet以流的形式返回图片

    代码: import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import ...

  8. HDU 3853 LOOPS 期望dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others)Me ...

  9. 如何在服务器(centOS系统)上运行JavaWeb项目

    在上次的结对作业中(如果您对这几句话一头雾水的话就请忽视掉吧),因为我们小组制作的是Web版本的项目,需要布置在服务器上才算完成.故申请了一个腾讯云服务器用于运行项目,在这个过程中了解了如何在服务器上 ...

  10. MapReduce编程之Semi Join多种应用场景与使用

    Map Join 实现方式一 ● 使用场景:一个大表(整张表内存放不下,但表中的key内存放得下),一个超大表 ● 实现方式:分布式缓存 ● 用法: SemiJoin就是所谓的半连接,其实仔细一看就是 ...