版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、结构化程序设计方法的基本思想是:任何程序都可用三种基本结构的组合来实现。这三种基本结构是: 顺序结构、选择结构和循环结构。第三讲 控制结构(一)1第1页,共33页。顺序结构:是按照书写顺序依次执行的。选择结构:是对给定的条件进行判断,再根据判断的结果决定执行哪一个分支。循环结构:是在给定条件成立时反复执行某段程序。第三讲 控制结构(一)2第2页,共33页。 选择结构的特点:根据给定的条件判断执行何种操作; 选择结构的种类:if语句和switch语句 if语句:主要提供两个分支的选则; switch语句:提供多分支的选则; if 语句语法结构: if(条件) 语句1; else 语句2; 单条语
2、句 复合语句 空语句第三讲 控制结构(一)3第3页,共33页。 注意:当语句2为空时,else可以省略,if语句形式变换为:if(条件) 语句;else 可缺,if 不可缺!第三讲 控制结构(一)4第4页,共33页。 if语句的嵌套:当if语句中的语句1或语句2是一个含if语句的复合语句时,形成if语句的嵌套。 if语句的形式:1 第三讲 控制结构(一)2注意:else总是与同一语法层次中离它最近的尚未配对的if配对,用大括号将if-else语句结构括起来5第5页,共33页。 /*- 形式一:程序L3_4.C功能:编写程序,输入一个x,按照函数要求输出y值。-*/ #include main(
3、) int x,y; scanf (%d,&x); if (x0) y= -1; else if (x=0) y=0; else y=1; printf(x=%d,y=%d n,x,y); 6第6页,共33页。 /*- 形式二:程序L3_5.C功能:编写程序,输入一 个x,按照函数要求输出y值。 -*/ #include main() int x,y; scanf (%d,&x); if (x=0) if (x0) y= -1; else y=0; else y=1; printf(x=%d,y=%d n,x,y); 7第7页,共33页。switch语句 处理选择的分支较多问题:switch语
4、句:语法形式: switch(整型表达式)case 数值1:语句1;break; case 数值2:语句2;break; case 数值n:语句n;break; default: 语句n+1;也可以是字符型表达式数值1到数值n可以是整数或者字符常量第三讲 控制结构(一)8第8页,共33页。 int x=20,n;for(n=0;n4;n+)switch(n)case 0:case 1: x-=5;case 2: x-=6;default: x+=7;printf(%d,x);209第9页,共33页。 结构化程序设计的基本结构: 顺序结构 选择结构 循环结构:给定条件成立时,反复执行某一个 程序
5、段。 三种基本循环结构语句 while语句 do-while语句 for语句第四讲 控制结构(二)10第10页,共33页。while语句 while语句的一般形式和流程图: while(条件) 语句 while语句的执行过程: 当条件成立时执行循环体中的语句 然后再次判断条件,重复上述过程 直到条件不成立时结束循环 while语句的特点: 当一开始条件就不成立时,一次也不执行循环语句第四讲 控制结构(二)11第11页,共33页。do-while语句 do-while语句的一般形式和流程图: do 循环体语句 while(条件); do-while语句的执行过程: 执行循环体中的语句 然后判断条
6、件 条件成立再执行循环体 重复上述过程,直到条件不成立时结束循环 do-while语句的特点: 当一开始条件就不成立时,已经执行了一次循环语句 注意:while(条件)后面的分号不要省!第四讲 控制结构(二)12第12页,共33页。for语句 for语句的一般形式和流程图: for(表达式1;条件;表达式2) 循环体语句 for语句的执行过程: 1) 执行表达式1 2) 判断条件 3) 当条件成立时执行循环体中的语句和表达式2 4) 重复第二、三步直到条件不成立结束循环第四讲 控制结构(二)13第13页,共33页。 for语句中的表达式1: 用途:一般用于给循环前的某些变量赋初值,超过一个语句
7、用逗号间隔 for(s=0,n=1;n=100;n=n+1) 注意:如果在循环语句前已经赋过初值,表达式1可以省略,但是其后的分号不能省略例如:上例for语句也可以改写为如下形式:第四讲 控制结构(二)14第14页,共33页。 for语句中的表达式2: 用途:用于在每次循环语句执行后修改循环变量 for(s=0,n=1;n=100;n=n+1) 注意:如果循环体语句中已经包含控制循环次数的内容,表达式2可以省略,但表达式2前面的分号不能省略 例如:for语句可以变换如下:第四讲 控制结构(二)15第15页,共33页。#include main() int m,i; for(i=0;i4;i+)
8、 m=5*( (i=2) )%4; printf(%4d,m); 2 3 2 216第16页,共33页。break语句和continue语句 结束循环的方法: 一般情况:当循环条件不满足时,自动结束; 循环条件多于一个或需要中途退出循环时:使用break语句或continue语句; break语句的应用 用在switch语句中 用在循环体中: 在循环体中遇到break语句,立即结束循环 跳到循环体(一层)外,执行循环结构后面的语句 break语句的一般形式: break;第四讲 控制结构(二)17第17页,共33页。 continue语句的应用: 用于结束本次循环 在循环体中遇见continu
9、e语句,则循环体中continue语句后面的语句不执行,接着进行下一次循环的判定。 continue语句的一般形式: continue; continue语句只用于循环结构的内部,一般与if配合使用。第四讲 控制结构(二) break语句和continue语句用在循环体中的作用是不同的: continue语句:只取消本次循环的continue语句后面的内容 break 语句:终止了整个循环过程18第18页,共33页。operatorsnamenote+ 加法运算符a+b-减法运算符a-b*乘法运算符a*b/除法运算符a/b%模运算符a%b-负值运算符-a5.1 算数运算符与算数表达式算术运算符
10、第五讲 运算符和表达式19第19页,共33页。 注意事项: 模运算符(%):要求运算符两侧必须为整型数据,如果不是整型数据可以采用强制类型转换。第五讲 运算符和表达式 算术运算符的优先级: 负值运算符优先级高于乘、除、模运算符; 乘、除、模运算符优先级高于加、减运算符; 当表达式中优先级相同时,按照运算符的结合性。 算术运算符的结合性:从左往右算; 小括号“( )”的优先级最高20第20页,共33页。operatorsnamenote小于运算符ab=小于等于运算符a大于运算符ab=大于等于运算符a=b=等于运算符a=b!=不等于运算符a!=b关系运算符5.2 关系运算符与关系表达式第五讲 运算
11、符和表达式21第21页,共33页。 两个数据在进行值的比较时,其结果不是成立就是不成立:其中成立为“真”,不成立为“假”。 关系运算的结果仅产生两个值:1表示“真”,0表示“假”。 在c语言中,任何非0值为“真”,0值为“假”第五讲 运算符和表达式22第22页,共33页。 结合性:“从左往右”。 例如: 54 543 优先级:关系运算符中、=的优先级相等,=、!=优先级相等,且前者高于后者。 例如:1=43; 关系运算符的级别小于算术运算符:例如:2+35-1,运算次序为+、-、 第五讲 运算符和表达式23第23页,共33页。逻辑运算表示两个数据或表达式之间的逻辑关系。C语言提供的逻辑运算符有
12、三种: 逻辑与运算符“&”、 逻辑或运算符“”、 逻辑非运算符“!”。 逻辑运算的结果也只有两个:“真”为1和“假”为0。 5.3 逻辑运算符与逻辑表达式第五讲 运算符和表达式24第24页,共33页。 若有int x=0, y=8, z=9,w=10, 则下列式子值分别为多少? x&y 和 x|y y&z 和 y|z w=z 和w=z=y x+2| y-z &y=z ! (y|!x&(w=x) 0 , 11, 11 , 010 25第25页,共33页。5.4 赋值运算符与赋值表达式 c语言中最常见的赋值运算符是“=”,其作用是将赋值运算符右边的表达式赋予左边的变量。 形如:变量=表达式,称为赋
13、值表达式。 赋值运算符的结合性为从右往左,其优先级低于算术运算符、关系运算符和逻辑运算符。 注意事项: 运算符“=”左边:必须是变量; 运算符“=”右边的表达式:计算完成后才参与赋值运算;第五讲 运算符和表达式26第26页,共33页。复合赋值运算 算术运算符“+ - * / %”和赋值运算符“=”结合起来,形成复合赋值运算符。如下所示: += :加赋值运算符。如a+=3+1,等价于 a=a+(3+1)。 -= :减赋值运算符。如a-=3+1,等价于 a=a-(3+1)。*= :乘赋值运算符。如a*=3+1,等价于 a=a*(3+1)。 /= :除赋值运算符。如a/=3+1,等价于 a=a/(3
14、+1)。%= :取余赋值运算符。如a%=3+1,等价于 a=a%(3+1)。复合赋值运算符的结合性和优先级等同于简单的赋值运算符“=”。 第五讲 运算符和表达式27第27页,共33页。5.5 自增运算符与自增表达式 自增和自减运算符是c语言所特有的(单目运算符),主要用于给一个变量加1或减1: “+”自增运算符:a+, +a都等价于a=a+1; “-”自减运算符:a-, -a都等价于a=a-1; “+”与“-”前置与后置的区别: 前置运算:变量先作自增或自减运算,再将变化后的变量值参加表达式中的其他运算 后置运算:变量先参加表达式中的其他运算,再做自增或自减运算第五讲 运算符和表达式28第28
15、页,共33页。5.6 逗号运算符与逗号表达式 逗号运算符主要用于连接表达式; 例如:a=a+1,b=3*4 用逗号运算符连接起来的表达式称为逗号表达式 一般形式为:表达式1,表达式2,表达式n 逗号表达式的运算过程: 先算表达式1,再算表达式2,.依次算到表达式n。 整个逗号表达式的值:最后一个表达式的值。 逗号表达式的结合性和优先级: 结合性:从左到右。 优先级:是所有运算符中级别最低的;第五讲 运算符和表达式29第29页,共33页。#include main( ) int x=5, y=6, z=7;x+= x-7; y*=y-4z=( y=y-2,x=y+x, x*2+5);printf( %d, %d, %dn, x, y, z);13,10,3130第30页,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 船体拆解工安全意识测试考核试卷含答案
- 渔船无线电操作员岗后测试考核试卷含答案
- 调理肉制品加工工岗前规划考核试卷含答案
- 粉末冶金成型工岗前基础模拟考核试卷含答案
- 白银熔池熔炼工诚信能力考核试卷含答案
- 选矿供料工岗中操作能力考核试卷含答案
- 集输工岗位工作技能考核试卷含答案
- 链轮制造工安全生产能力水平考核试卷含答案
- 城市轨道交通站务员岗位技能竞赛考核试卷含答案
- 活性炭酸洗工技能综合实践强化考核试卷含答案
- 有机磷农药中毒诊疗专家共识(2025版)
- (2026)中国石油化工集团中石化招聘笔试试题及答案
- 大学形势与政策《国家发展战略》课堂讲授课件
- 新版2026年湖南物理卷高考真题(含答案)(网络参考)
- 2026届中国移动校园招聘笔试真题(含详细答案解析)
- 新课标高中生物实验目录
- 20260402 偏差管理控制程序
- 《浙江省城镇燃气用户设施安全检查导则》
- 地下水污染阻隔墙建设技术
- 理发店消防责任制度
- 挂网客土喷播施工方案
评论
0/150
提交评论