




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章,C+的基本语句,本章主要内容,4.1 C+语言的语句和程序结构 4.2 选择结构语句 4.3 循环结构语句 4.4 控制执行顺序的语句 4.5 编程规范和编程风格,4.1 C+语言的语句和程序结构,4.1.1 C+语句分类 4.1.2 程序的基本结构,4.1.1 C+语句分类,1.变量和对象声明语句 在C+中,对数据结构的定义和描述、对变量的定义统 称为声明语句。声明语句不生成可执行代码,仅是向编译器 提供一些说明性的信息。它可放在函数中允许出现语句的任 何位置,也可以放在函数定义之外。 2.流程控制语句 用来完成对程序的执行顺序进行一定控制的语句,如程 序的选择控制、循环控制、程序的跳转等。 3.表达式语句 指在任一表达式的后面加上一个分号而构成的语句。 4.函数调用语句 在一次函数的调用后加上一个分号所构成的语句,它完 成一次函数的调用。,4.1.1 C+语句分类,5.空语句 只由一个分号所构成的语句称为空语句,它不执行任何 动作,主要用于指明被转向的控制点或在特殊情况下作为循 环语句的循环体。 6.复合语句 复合语句是指用花括号把一个或多个语句括起来后构 成一个语句。 在C+中,复合语句从逻辑上被作为一个语句来处理, 它可以出现在只允许出现一个语句的任何位置。复合语句不 需要分号来结束。 例4-1 复合语句示例,4.1.2 程序的基本结构,在C+语言中,有结构化程序设计的3种基本结构:顺序结 构、选择结构和循环结构,都有以下两个共同特点: (1)只有一个入口点,一个出口点。 (2)对于要执行的操作都有一条路径。,图4.1 3种基本控制结构,4.1.2 程序的基本结构,1.顺序结构 顺序结构的程序是按从上到下的顺序依次执行各个语句。 2.选择结构 选择结构是根据不同的条件执行结果做出不同的选择, 从而执行不同的语句。实现选择结构的语句有if语句、 ifelse语句和switch语句等。 3.循环结构 循环结构就是对程序中某些语句重复执行多次。实现循 环结构的语句有for语句、while语句和dowhile语句等。,4.2 选择结构语句,4.2.1 条件语句 4.2.2 条件运算符“?:” 4.2.3 开关语句,4.2.1 条件语句,if语句,根据条件是否满足来决定是否执行某条语句或 者从两个语句中选择一个语句执行。有3种基本格式。 1. if语句 If语句的语法格式为: if() if语句的执行过程如图4.2所示。 例4-2 if语句示例,图4.2 if语句的执行过程,4.2.1 条件语句,2. ifelse语句 if.else 的语句格式为: if (表达式) 语句序列1; else 语句序列2; ifelse语句执行过程如图4.3所示。 例4-3 ifelse语句,图4.3 ifelse语句的执行过程,4.2.1 条件语句,3. if语句的嵌套 if语句的嵌套是指在if语句的内嵌语句仍是if语句。例 如,下面两个使用了if语句的嵌套形式的结构。 语句格式为: if (表达式 e1) 语句S1 else if (表达式e2) 语句S2 else if (表达式e3) 语句S3 . else 语句Sn 例4-4 if语句的嵌套(1) 例4-5 if语句的嵌套(2),4.2.2 条件运算符“?:”,使用条件运算符(?:)可以实现 if else 的功能,其一 般形式为: exp1 ? exp2 : exp3 条件运算符有三个操作数,故我们将其称为三目运算符。 条件运算符是 C+语言中唯一一个三目运算符。 如果 exp1 为真,则运算 exp2,整个条件表达式的值 为 exp2 的值;反之,则运算 exp3,整个条件表达式的值 为 exp3 的值。 例4-6 条件运算符使用,4.2.3 开关语句,switch语句可以根据给定的条件,从多个分支语句序列 中选择执行一个分支的语句序列。 语句的一般格式为: switch(表达式) case常量表达式1:语句序列1; break; case常量表达式2:语句序列2; break; case常量表达式n:语句序列n; default:语句序列n; ,4.2.3 开关语句,(1) 表达式:表达式的结果 必须是整数、字符或枚举量值。 (2) case后面的常量标号, 其类型应与表达式的数据类型相 同。 (3) 语句序列是switch语句 的执行部分。 (4) break是中断跳转语句, 表示在完成相应的case标号规定 的操作之后,不继续执行switch 语句的剩余部分而直接跳出 switch语句之外,继而执行 switch结构后面的第一条语句。 例4-7 switch语句使用,图4.4 switch语句的执行过程,4.3 循环结构语句,4.3.1 while()语句 4.3.2 dowhile()语句 4.3.3 for()语句 4.3.4 3种循环语句的比较 4.3.5 循环的嵌套及其应用,4.3.1 while()语句,while()语句首先判断循环条件,当条件为真时,程序重复执行 某些操作。其语句格式: while (条件表达式) 循环体语句; while()语句的执行过程如图4.5所示。 例4-8 while语句使用,图4.5 while语句的执行过程,4.3.2 dowhile()语句,dowhile语句的一般语法格式为: do while(); 执行过程:先执行语句,后判断表达式的值;若表达式的值不为0,则继续执行循环体,直到表达式的值为0时为止。流程图为如图4.6所示。 例4-9 dowhile语句使用(1) 例4-10 dowhile语句使用(2),图4.6 dowhile语句的执行过程,4.3.3 for()语句,语句格式: for (表达式1; 表达式2; 表达式3) 语句序列; 其中的组成部分说明如下。 表达式1:通常为赋值表达式,实现循环控制变量的初 始化。 表达式2:通常为关系表达式或逻辑表达式,用来判断 循环是否继续进行的条件,以决定是否退出循环。 表达式3:通常为表达式语句,用来描述循环控制变量 的变化,实现对循环控制变量的修改。 循环体(语句序列):当循环条件满足时应该执行的语句 序列。若只有一条语句,则可以省略。,4.3.3 for()语句,for语句的执行过程可以用如图4.7所示的流程 图来描述。 例4-11 for语句使用,图4.7 for语句的执行过程,4.3.4 3种循环语句的比较,(1)for和while语句都是先判断循环条件。而dowhile语句是先执行循环体,后判断循环条件,所以循环体至少要执行一次。 (2)for语句有三个表达式,可分别用于循环变量初始化、循环结束条件和循环控制变量的更新,所以用得最多的是for语句,其次是while语句,而dowhile语句相对于前两种语句用得少一些。 在实际应用中,选用的一般原则是: (1)如果循环次数在执行循环体之前就已确定,一般用for语句;如果循环次数是由循环体的执行情况来确定,则采用while语句或dowhile语句。 (2)当循环体至少要执行一次时,采用dowhile语句。,4.3.5 循环的嵌套及其应用,一个循环语句的循环体内包含另一个完整的循环结构, 称为循环的嵌套。这种嵌套的过程可以有很多重。 正常情况下:应先执行内层的循环体操作,然后是外层 循环。例如:对于双重循环,内层循环被执行的次数应为: 内层次数外层次数 三种循环语句while、dowhile、for可以互相嵌套, 自由组合。外层循环体中可以包含一个或多个内层循环结构, 但各循环必须完整包含,相互之间绝对不允许有交叉现象。 例4-12 循环的嵌套,4.4 控制执行顺序的语句,4.4.1 break语句 4.4.2 continue语句 4.4.3 goto语句 4.4.4 exit和abort函数,4.4.1 break语句,中断语句break语句有两个功能: 在switch语句中终止case的判断,退出switch语句。 在循环结构中终止本层循环,退出循环结构。 break的语法格式为: break; 当程序执行到break时会跳出break所在的循环或switch 结构,使程序立即退出该语句结构转而执行该语句后面的下 一条语句。 例4-13 break语句使用,4.4.2 continue语句,continue 语句仅用于循环结构中,作用是终止循环体 的本次执行,返回循环首部。其一般语法格式为: continue; 在循环体的任何位置,当执行到continue 语句时,程 序被强迫跳过循环体剩余语句的执行而直接返回循环的开头 重新进行循环条件的判断,根据判断的结果决定是否继续执 行循环。 例4-14 continue语句使用,4.4.3 goto语句,goto语句的功能是改变程序控制的流程,无条件地将控 制转移到语句标号所在处。 1.语句标号 语句标号是为了指示语句在程序中的位置,常常作为转 移语句(goto语句)的转移目标。其格式如下: : 2.goto语句 其格式为: goto ; 例4-15 goto语句使用,4.4.3 goto语句,3.goto语句使用说明 (1)不能用goto语句转移到其他函数中。 (2)goto语句可从条件语句或循环语句里面转移到条件 语句或循环语句外面;但不允许从条件语句或循环语句外面 转移到条件语句或循环语句里面。 (3)goto语句可从多层循环的内层跳到外层循环外。 (4)goto语句的大量使用会破坏程序的结构化,使程序 的流程控制混乱,可读性降低,调试困难。一般不提倡使用 goto语句。,4.4.4 exit和abort函数,exit函数和abort函数都是+的库函数,其功能都是 终止程序的执行,将控制返回给操作系统。当使用这两个函 数时,应包含头文件stdlib.h。 1. exit函数 exit函数的作用是无条件正常终止程序的执行,并将控 制返回给操作系统。原型为: void exit(int status); 2. abort函数 abort函数用于异常终止程序的执行。原型为: void abort(void);,4.5 编程规范和编程风格,1. 源程序文件组织 每个程序文件单元通常都应由 .h 文件和 .cpp 文件组 成。 2. 源程序文件结构 每个程序文件应由标题、内容和附加说明3部分组成。 (1)标题:文件最前面的注释说明,其内容主要包括程 序名、作者、版权信息、简要说明等,必要时应有更详尽的 说明。 (2)内容:为文件源代码部分基本上按预处理语句、类 型定义、变量定义、函数原型、函数实现(仅对.cpp文件)的 顺序。 (3)附加说明:文件末尾的补充说明,如参考资料等, 若内容不多也可放在标题部分的最后。,4.5 编程规范和编程风格,3. 编辑风格 (1)缩进:缩进以Tab为单位,一个Tab为4个空格大小。 (2)空格:数据和函数在其类型、修饰(如_ _fastcall 等)名称之间适当空格并根据情况对齐。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业创业基金贷款合同6篇
- 2025年土方运输合同3篇
- 简单石材购货合同范本5篇
- 泥塑彩绘合同范本
- 仓库转租租赁合同范本
- 砂石料款合同范本
- 协议分红股权合同范本
- 新艺人签约合同范本
- 南京特种气体销售合同3篇
- 秋季学期工作计划表怎么写(5篇)
- (完整版)采购评审专家考试试题库(附完整答案)
- 河北广电频道管理办法
- 2025年中式烹调师(技师)考试题库附答案
- 陕西省农村宅基地管理办法
- 门诊手术分级管理办法
- 中国武术课件
- 2025-2030中国便携式篮球架行业市场发展趋势与前景展望战略研究报告
- 核心素养背景下项目式学习在初中美术教学中的设计与应用
- 北京版英语1-6年级单词表
- 中国美容仪器市场调研及发展策略研究报告2025-2028版
- 海洋工程装备概述
评论
0/150
提交评论