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. poweroff命令详解

    2019-02-17  基础命令学习目录首页   原文链接:https://www.cnblogs.com/Baron-Lu/p/6951297.html 在本篇中,我们会向你解释 shutdown. ...

  2. 关于linux下的命令

    1.文件和目录操作命令 pwd:显示当前的工作目录 cd:切换目录 tree:以树形结构图显示目录下的所有内容 mkdir:创建目录 touch:创建空文件或改变文件的时间戳属性 ls:显示目录下的内 ...

  3. DataRow对象的RowState和DataRowVersion属性特点

    DataRow对象有两个比较重要的属性,分别是行状态(RowState)和行版本(DataRowVersion),通过这两个属性能够有效的管理表中的行.下面简要的介绍一下行状态和行版本的特点和关系. ...

  4. 20162314 《Program Design & Data Structures》Learning Summary Of The Fifth Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Fifth Week ...

  5. 在ASP.NET里实现计算器代码的封装

    一.具体代码 Default2.aspx.cs public partial class Chapter1_Default2 : System.Web.UI.Page { protected void ...

  6. Codeforces Round #157 (Div. 1) B. Little Elephant and Elections 数位dp+搜索

    题目链接: http://codeforces.com/problemset/problem/258/B B. Little Elephant and Elections time limit per ...

  7. TCP源码—epoll源码及测试

    一.epoll_create & epoll_create1 SYSCALL_DEFINE1(epoll_create, int, size) sys_epoll_create->sys ...

  8. Alpha阶段敏捷冲刺⑦

    1.提供当天站立式会议照片一张. 每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 账单明细和报表的界面设计在同一界面 今天要做的工作 对于报表扇形图的 ...

  9. 软工网络15团队作业8——Beta阶段敏捷冲刺(Day5)

    提供当天站立式会议照片一张 每个人的工作 1.讨论项目每个成员的昨天进展 赵铭: 进一步数据整理,写入数据库. 吴慧婷:主页面.查单词页面的改进.背单词界面改进. 陈敏: 单词学习功能及该界面按钮功能 ...

  10. 虚拟机VMware中的CentOS字符界面和图形界面切换

    在虚拟机中安装CentOS后展示的界面是图形用户界面,想切换到命令模式,于是查了linux下切换模式的方法,可是按了ctrl+alt+f1.f2....f7都是没用,后来发现是因为按键冲突的原因 问题 ...