c及c++程序设计教程第4章逻辑运算和选择控制语句1.ppt

c及c++程序设计教程第4章逻辑运算和选择控制语句1.ppt

一、语句概述 C/C++ 程序设计提供了三种基本的流程控制结 构,第一为顺序结构即语句从前往后从上往下顺序 地执行,第二种为选择结构,再一种为循环结构。 选择结构根据给定的条件进行判断,由判断的 结果确定执行两支或多路分支中的一个程序段。再 复杂的程序也是通过程序各种语句的组合实现的, 其组合的结果可视为一个模块,独立的模块构成函 数。 名称由定义、声明或说明语句引入。名称遵循标识符的 命名规定。定义对象索引类类型名称,函数调用索引函数名 称,表达式中的变量索引变量名称。在名称的索引点,编译 器向上或向前搜寻名称是否已经定义或说明。名称必须首先 有效说明,然后才能正确索引。 在函数中引入的名称为局部名称,在全局范围引入的名 称为全局名称。 局部范围是函数体界定的范围,全局范围是类声明外和 函数定义外的范围。 局部名称只在当前函数体中索引,全局名称可在其后的 函数体中或源文件中索引。函数名具有全局作用范围。 术语定义、声明或说明都引入名称,它们之间区别是细 微的。定义指变量或函数代码的唯一内存分配。声明用于指 对类或结构或联合的描述,一般不占有内存空间。名称的唯 一性通过定义或声明来限定。变量名引用名在其作用范围是 唯一的。数据类型声明语句引入的名称在其作用范围也是唯 一的。函数名在重载的概念上是唯一的。 说明在一个程序段引入一个名称,通知编译器该名称在 别处已经定义或声明过。同一说明可以散见于多处,常见的 说明是函数原型说明、外部连接说明与类名的前置说明。 C/C++ 的程序是由语句构成的,语句一般以分号作为语 句分隔和语句的结尾标志,复合语句块则以一对花括号定 界。分号本身又构成空语句,语句以分号“;”作为结束。 语句用于为变量分配内存、顺序求值、分支选择和循环 迭代控制等的操作运算。 表达式语句、函数调用语句、空语句、复合语句和流程 控制语句等属于运行时动态执行的指令,仅放置于函数体 中,称为执行语句。 非执行语句是为函数体中的动态代码运行做准备的辅助 性说明语句。C++语句的布置次序相当灵活,执行语句和非 执行语句的分界线不明确,甚至可以相互穿插。 但从语句块的局部看执行语句前总是安排相应的非执行 语句或先辅助性说明语句后执行语句。 变量定义语句介于声明语句和执行语句之间,变量定义 语句为变量分配内存。引用声明语句建立独立变量的等价别 名,变量的内存和引用的名在编译或连接阶段备案,变量的 值和引用关联的过程可在编译阶段静态完成也可动态进行。 C/C++语言中的语句主要有下面几种形式,源程序的安 排上大抵上根据下面次序分布: 1、辅助性说明语句(引用、class和模板为C++所独有) ? 函数原型说明语句。 例如:long f(long); int g(); ? 外部连接说明语句。 例如:extern int x; extern int r; ? typedef类型声明语句。 例如:typedef int BOOL; ? 前置说明语句(C++概念)。 例如:struct SStruct; class CClass; ? 类模板声明语句(仅在全局范围,C++独有) ? 数据类型声明语句 数据类型声明语句是由struct、class和union以及 enum引入的数据描述,其后引入的类型名如CClass, SStruct, UUnion, EEnum具有全局作用域,如果相应的声 明放置在全局范围。以分号结束的数据类型声明语句(类类 型声明语句一般放在全局范围)如下: class CClass {long f();float m_f;}; //类类型声明语句,CClass是类类型名 struct SStruct{int n; int m;}; //结构类型声明语句, SStruct是结构名 union UUnion { double d; char c;}; //联合类型声明语句,UUnion是联合名 enum EEnum { e1,e2, e3}; //枚举类型声明语句,EEnum是枚举名 2、变量、结构变量和对

文档评论(0)

1亿VIP精品文档

相关文档