




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第3章程序控制结构 3 1C语言的语句3 2顺序结构3 3分支结构 2 C语言的语句 C语句可分为以下五类 1 表达式语句2 函数调用语句3 控制语句4 复合语句5 空语句 3 1 表达式语句 表达式语句由表达式加上分号 组成 其一般形式为 表达式 执行表达式语句就是计算表达式的值 例如 x y z 赋值语句y z 加法运算语句 但计算结果不能保留 无实际意义i 自增1语句 i值增1 4 2 函数调用语句 由函数名 实际参数加上分号 组成 其一般形式为 函数名 实际参数表 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数 然后执行被调函数体中的语句 求取函数值 例 5 3 控制语句 控制语句用于控制程序的流程 以实现程序的各种结构方式 它们由特定的语句定义符组成 语言有九种控制语句 可分成以下三类 1 条件判断语句if语句 switch语句 2 循环执行语句dowhile语句 while语句 for语句 3 转向语句break语句 goto语句 continue语句 return语句 6 4 复合语句 把多个语句用括号 括起来组成的一个语句称复合语句 在程序中应把复合语句看成是单条语句 而不是多条语句 x y z a b c printf d d x a 是一条复合语句 复合语句内的各条语句都必须以分号 结尾 在括号 外不能加分号 7 5 空语句 只有分号 组成的语句称为空语句 空语句是什么也不执行的语句 在程序中空语句可用来作空循环体 例如while getchar n 本语句的功能是 只要从键盘输入的字符不是回车则重新输入 这里的循环体为空语句 8 例3 1 include includefloattriangle area floata floatb floatc floatl l a b c 2 0 returnsqrt l l a l b l c main floata b c area printf 请输入三角形三条边的边长 scanf f f f 函数调用语句 back 主函数在后 自定义函数在前的格式 9 例3 2 include includemain floattriangle area floata floatb floatc floata b c area printf 请输入三角形三条边的边长 scanf f f f 10 顺序结构 按书写顺序执行的语句构成的程序段 例3 3 输入任意三个整数 求它们的和及平均值main intnum1 num2 num3 sum floataver printf Pleaseinputthreenumbers scanf d d d 这两部分语句的顺序能调换吗 11 例3 4 从键盘输入一个小写字母 要求用大小写字母形式输出该字母及对应的ASCII码值 includemain charc1 c2 printf Inputalowercaseletter c1 getchar putchar c1 printf d n c1 c2 c1 32 printf c d n c2 c2 这两部分语句的顺序能调换吗 12 在顺序结构程序中 一般包括以下几个部分 程序开头的编译预处理命令 在程序中要使用标准函数 又称库函数 除printf 和scanf 外 其它的都必须使用编译预处理命令 将相应的头文件包含进来 顺序结构程序的函数体中 是完成具体功能的各个语句和运算 主要包括 变量类型的说明 提供数据语句 运算部分 输出部分 13 例3 5 includemain floata b c l area printf 请输入三角形三条边的边长 scanf f f f 14 分支结构 根据输入数据或中间结果的不同选择不同的语句组执行 此时需要一个变量或表达式的值来作为判定的依据 两种分支结构条件分支 if和if else 根据给定的条件进行判断 决定执行某个分支的程序段 开关分支 switch 根据给定整型表达式的值进行判断 决定执行多路分支中的一支 15 if结构 结构一 单路选择结构if 表达式 语句组 例3 6 main inti printf Pleaseinputaninteger scanf d 16 例3 7 输入两个数字将较大的送入x中 较小送入y中 并输出 算法分析 E1 输入x y值E2 两者中较大者存入x中 较小存入y中E3 输出X YE2 1IFx yTHENE2 2交换x yE2 2 1将x值存入临时变量TEMP中E2 2 2将y值存入x中E2 2 3将TEMP中的值存入y中 includemain intx y temp printf 输入两个整数 scanf d d 17 结构二 双路选择结构if 表达式 语句组1else语句组2 18 结构三 多路选择if 表达式1 语句1elseif 表达式2 语句2elseif 表达式3 语句3 elseif 表达式m 语句melse语句n 19 多路选择结构 4分支 20 例3 8 main inta printf Pleaseinputthescore scanf d 从键盘上输入一个百分制成绩score 按下列原则输出其等级 90 score 等级为A 80 score 90 等级为B 70 score 80 等级为C 60 score 70 等级为D score 60 等级为E 输入 95运行结果 Thegradeis A输入 75运行结果 Thegradeis C 21 if后面都有 表达式 一般为逻辑表达式或关系表达式 也可以为任意的数值类型 系统对表达式的值进行判断 若为0 按 假 处理 否则按 真 处理 在if和else后面可以只含一个操作语句 也可以有多个操作语句 此时用 将几个语句括起来成为一个复合语句 在 后面不需要加括号 22 if语句的嵌套 在if语句中又包含一个或多个if语句 if if 语句组1else语句组2elseif 语句组3else语句组4 23 if if 语句1elseif 语句2else语句3 if if 语句1elseif 语句2else语句3 if与else的配对关系 从最内层开始 else总是与它上面最近 未曾配对 的if配对 如果if与else的数目不一样 为实现程序设计者的企图 可以加 来确定配对关系 if if 语句1 elseif 语句2else语句3 24 switch结构 一般的格式 switch 表达式 case常量表达式1 语句组1 break case常量表达式2 语句组2 break case常量表达式n 语句组n break default 语句组n 1 执行过程 当switch后面 表达式 的值 与某个case后面的 常量表达式 的值相同时 就执行该case后面的语句 组 当执行到break语句时 跳出switch语句 转向执行switch语句的下一条 如果没有任何一个case后面的 常量表达式 的值 与 表达式 的值匹配 则执行default后面的语句 组 然后 再执行switch语句的下一条 注 方括号表示可选项 25 switch结构 26 说明switch后面的 表达式 可以是整型 字符型和枚举型中的一种 每个case后面 常量表达式 的值 必须各不相同 否则会出现相互矛盾的现象 即对表达式的同一值 有两种或两种以上的执行方案 case后面的常量表达式仅起语句标号作用 并不进行条件判断 系统一旦找到入口标号 就从此标号开始执行 不再进行标号判断 所以必须加上break语句 以便结束switch语句 各case及default子句的先后次序 不影响程序执行结果 多个case子句 可共用同一语句 组 用switch语句实现的多分支结构程序 完全可以用if语句或if语句的嵌套来实现 27 例3 9 main intscore grade printf Inputascore 0 100 scanf d 例3 6 从键盘上输入一个百分制成绩score 按下列原则输出其等级 90 score 等级为A 80 score 90 等级为B 70 score 80 等级为C 60 score 70 等级为D score 60 等级为E 输入 85运行结果 grade B输入 45运行结果 grade E 28 以下是等级考试中的选择题 对于整型变量x 下述if语句 与赋值语句 x x 2 0 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机网络安全协议与系统设计练习题
- 首都经济贸易大学《信息素养与信息检索》2023-2024学年第二学期期末试卷
- 广州工程技术职业学院《中国古代文学名著赏析》2023-2024学年第二学期期末试卷
- 中国农业大学《计算结构生物学》2023-2024学年第二学期期末试卷
- 青岛工程职业学院《工程施工》2023-2024学年第二学期期末试卷
- 工程师评审的课件
- 人际交往儿童课件
- 人遛狗儿童画课件
- 出租车承包协议书新版
- 企业租赁合同范本
- 2025年离婚协议书内容
- 西湖大学《土木工程CAD》2023-2024学年第二学期期末试卷
- 公司工伤报销管理制度
- 拆迁款收款协议书
- 血液透析专科复习题及参考答案
- 2025年物流管理与工程考试试题及答案
- 风险管理工具的应用试题及答案
- GB/T 17642-2025土工合成材料非织造布复合土工膜
- 期货营业AI应用行业深度调研及发展项目商业计划书
- 2025春国开《幼儿园社会教育专题》形考任务1-3答案
- ISO 37001-2025 反贿赂管理体系要求及使用指南(中文版-雷泽佳译-2025)
评论
0/150
提交评论