`

语句(From:C++Primer)

 
阅读更多

语句

*       简单语句与复杂语句

         -        空语句:;。用在“语法上要求一个语句,而逻辑上不需要”的时候。例如:while(true);

         -        意外出现的多余空语句不会产生编译错误。例如:ival = dval + sval;;

         -        复合语句:由一对花括号括起来的语句序列。复合语句不需要用分号作为结束。也

称为块或语句块。块引入了程序中的局部域。

*       声明语句

        -        C++中,对象的定义(int ival;),被称为声明语句,一般可以被放在程序中任何允许语句出现的地  

                 方。

        -        当把对象放在函数或语句块的开始时:

                1       在函数或语句块的开头处,所有类对象的构造函数均被调用。声明的局部性     能够将初始化

                         的销分摊到函数或语句块中。

                2      通常情况下,在函数或语句块内部的所有程序语句被执行之前,该函数或者语句已经结束  

                        了。如果必须在函数/语句的开头处声明,这将会带来执行一些不必要的构造函数-析构函数

                        对,这将对程序的运行效率产生不必要的影响。

       -        一条声明语句可以由一个或多个对象定义构成。

*       if语句

         -        condition中定义的对象,只在与if相关的语句或语句块中可见。例如:

                   if(int ival = compute_value()) { //可见}

                   // 错误,不可见

                   if(! ival)

*       switch语句

         -       case后面的值必须是一组整数类型的常量表达式。

         -       普遍的误解:只有与被匹配的case标签相关联的语句才被执行。实际上,程序从该点开始执行并

                 继续越过case边界直到switch语句结束。  

         -       在大多数情况下,故意省略break语句的case标签应该提供一条注释,以指明这种省略是故意

                 的。

         -       声明语句也可以被放在switch语句的条件中,声明的变量在整个switch中都是可用的。

         -       声明语句放在casedefault相关联的语句是非法的,除非把它放在一个语句块中。

         -       case不能重复

*       for循环语句

         -        for循环最普遍的用法是遍历一个定长的数据结构,例如:数组、vector等。

         -        init-statement中可以定义多个对象,但只能出现一个声明语句,因此,所有对象必须是相同

                  类

*       while语句

         -        while循环擅长在某个条件保持为真时不停的执行。

*       do while语句

         -        do

                            Statement

                   while(condition);

         -        保证至少执行一次

         -        不像其他循环语句do while循环的条件即condition部分不支持对象定义

*       break语句

         -        终止最近的whiledowhileforswitch语句,程序的执行权被传递给紧接着被终止语句之后的

                  语句

         -        一般来说,break语句只能出现在循环或switch语句中

*       continue语句

         -        结束当前迭代,执行权被传递给条件计算部分。

*       goto语句

         -        从goto语句跳转到同一函数内部某个位置的一个标号语句。

        -         语法:goto label;            // label是用户定义的标识符。标号语句只能用作goto的目标,必须由冒

                  号结束,且标号语句不能紧接在结束右花括号的前面。(可以使用在右花括号前加一个分号解

                  决)

         -        goto语句不能向前跳过没有被语句块包围的声明语句。

分享到:
评论

相关推荐

    C++Primer 习题解答(第4版)--绝对完整版

    1. **基础语法**:C++ Primer 习题解答首先会引导读者熟悉C++的基本语法,包括变量声明、数据类型(如整型、浮点型、字符型)、运算符(算术、关系、逻辑、位操作)、控制流(if语句、switch语句、循环结构for、...

    C++Primer读书笔记:C++概述.pdf

    C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。

    C++primer第四版源代码

    2. **指针与引用**:C++中的指针是内存地址的别名,而引用是另一个变量的别名,它们在内存管理中起到关键作用,尤其是在动态内存分配和函数参数传递时。 3. **类与对象**:C++的核心是面向对象编程,类是定义对象...

    c++ primer plus 答案 c++ primer plus 答案

    2. **指针与引用**:C++中的指针是内存地址的别名,而引用是变量的别名,它们都是用于间接访问其他对象的工具。理解指针的动态内存分配和解引用,以及引用的初始化和使用是学习C++的重要环节。 3. **函数**:学习...

    C++Primer Plus源代码及部分答案

    1. **基础语法**:C++ Primer Plus会引导读者从C++的基本语法开始,包括变量定义、数据类型(如int, char, float, double等)、运算符(如算术、比较、逻辑和位运算符)、流程控制(如if语句、switch语句、循环结构...

    C++ Primer(第5版)_带书签_高清完整版

    1. **基础语法**:C++是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。书中的开头部分介绍了C++的基本语法,包括变量定义、数据类型(如int、char、...

    C++Primer Plus附录源码等文件.zip

    1. 变量与数据类型:C++中的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)以及布尔型(bool)。练习题可能涉及声明、初始化、赋值以及不同类型之间的转换。 2. 运算符:C++提供了丰富的...

    C++ primer 4全套答案

    1. **基本语法**:C++ Primer 4首先介绍了C++的基础语法,包括变量、常量、数据类型、运算符、流程控制语句(如if-else、switch、循环等)。习题答案涵盖了这些基础知识的运用,帮助读者理解和熟练运用这些元素。 2...

    C++ Primer Plus 第6版 中文版课后代码习题答案

    1. **C++基础知识**:C++是面向对象的编程语言,它扩展了C语言的功能,引入了类、对象、封装、继承、多态等概念。在《C++ Primer Plus 第6版》中,读者会学习到变量、数据类型、运算符、流程控制、函数等基本元素。 ...

    C++ Primer中文第四版配套实例

    7. **异常处理**:C++支持异常处理,通过try-catch语句可以捕获和处理运行时的错误。实例将演示如何在代码中合理地使用异常处理,提高程序的健壮性。 8. **输入输出流**:C++的iostream库提供了标准的输入输出操作...

    C++Primer习题集第五版 pdf

    C++ Primer习题集 第5版-Stanley B. Lippman_高清版[带完整书签目录] 【作 者】(美)李普曼,(美)拉乔伊,(美)默著 【出版发行】 北京:电子工业出版社 , 2015.03 【ISBN号】978-7-121-25229-7 【页 数】 520 ...

    c++ primer附录文件和源代码.zip

    1. **基础语法**:C++是一种静态类型、编译式、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。学习C++首先要掌握基本的变量定义、数据类型、运算符、流程控制(如if语句、switch...

    C++ primer中文版-高清-带目录

    1. **基础语法**:介绍C++的基本数据类型、变量、常量、运算符、流程控制(如if语句、switch语句、循环)以及函数的使用。 2. **类与对象**:讲解面向对象编程的核心概念,包括类的定义、对象的创建与销毁、封装、...

    C++ Primer(第4版)(教材、教材源代码、课后答案)

    2. **面向对象编程**:C++ Primer的第四版深入讨论了面向对象编程的三大原则——封装、继承和多态。封装允许我们将数据和操作数据的方法封装在一起,形成对象;继承则允许创建新的类来扩展已有的类;多态则是通过虚...

    C++Primer课程详细视频讲解

    该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的猎豹详细视频初级高级讲解 该视频是关于C++ Primer 这本书的...

    c++ primer code书中源码

    3. **函数**:C++ Primer的源码包含了大量的函数定义和调用示例,展示了如何封装代码并进行模块化设计。 4. **类与对象**:C++的核心是面向对象编程,源码将展示如何定义类、创建对象,以及使用构造函数、析构函数...

    c++ primer有目录pdf第五版本5th

    - **变量和类型**:C++中的基本数据类型,如int、char、float等,以及如何声明和初始化变量。 - **运算符和表达式**:包括算术、比较、逻辑和位运算符,以及它们在表达式中的作用。 - **控制流**:掌握if语句、...

    C++ primer 5e 课后答案

    1. **基础语法**:C++是一种静态类型的语言,强调类型安全。学习基本数据类型(如int、char、float等)和变量声明是入门的第一步。此外,理解操作符优先级和结合性对于编写正确代码至关重要。 2. **控制流程**:...

    C++Primer课后习题解答(第1~16章完整答案) 清晰 完整版

    3. C++语句与表达式:C++语句通常以分号(;)结束,用以表示语句的结束。如果缺少分号,编译器将无法正确解析代码。C++表达式用于计算和生成值,例如使用加法操作符“+”或乘法操作符“*”来进行数值计算。 4. 标准库...

Global site tag (gtag.js) - Google Analytics