第二章 选择结构程序设计.ppt_第1页
第二章 选择结构程序设计.ppt_第2页
第二章 选择结构程序设计.ppt_第3页
第二章 选择结构程序设计.ppt_第4页
第二章 选择结构程序设计.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章内容总结,编写C语言程序的基本规则C语言程序的运行过程、VC的使用运算符、语句、标识符数据类型printf(输出)、scanf(输入)的使用getchar、putchar的使用,printf和scanf的使用格式,格式:scanf(“格式控制”,地址表列),格式:printf(“格式控制”,参数表列),顺序结构、分支结构(选择)、循环结构是C语言程序的基本结构,第二章C语言程序的基本结构,2.1分支结构2.2关系运算和逻辑运算2.3循环结构2.4break语句和continue语句,第二章C语言程序的基本结构,2.1分支结构,为什么需要分支结构顺序结构只能解决一些简单的问题,遇到需要进行条件判断的问题,就必须采用分支结构来处理。例:个人所得税的计算,求三角形的面积(如果三个数不构成三角形怎么办?),2.1分支结构,1、单分支结构,if(表达式)语句序列,例:x=1;y=2;if(xy)t=x;x=y;y=t;,2、双分支结构,if(表达式)语句序列1else语句序列2,反首页,例:1.if(ab)x=a;elsex=b;,2.if(x=0)printf(%.3fn,x);elseprintf(%.3fn,-x);,3、多分支结构(if语句嵌套),if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3elseif(表达式n)语句nelse语句n+1,例:分段函数,if(xc,3、表达式后面不能有任何标点符号!每个语句都要以“;”结束,分号是语句的一部分。,4、else只能与if配对使用。仅else本身不能单独作为一个语句使用。,if(x5);y=x;elsey=2*x-1;,if(x5);y=x;elsey=2*x-1;,将出现语法错误,复合语句的花括号后不能再写分号。复合语句在语法上是一个整体,相当于一个语句。,例1、输入一个字符,并输出。其中有一个条件是如果该字符是小写的英文字母,则需把它转换成大写字母再输出。#includevoidmain()charch;scanf(“%c”,如果条件满足后还想再输出该字母的前导字符和后继字符怎么做?,上一次课程回顾,1、单分支结构,if(表达式)语句序列,例:x=1;y=2;if(xy)t=x;x=y;y=t;,2、双分支结构,if(表达式)语句序列1else语句序列2,关于if语句的说明:,1、表达式一般为关系表达式或逻辑表达式。但在C语言中它也可以是任意的数值表达式。,if(3)n=1;,if(a)printf(%d,a);,if(n=3-3)x=1;elsex=-1;,2、每个语句序列可以是一个语句也可以是若干个语句,但要用花括号括起来构成复合语句。,if(ab)t=a;a=b;b=t;,if(a+bc,3、表达式后面不能有任何标点符号!每个语句都要以“;”结束,分号是语句的一部分。,4、else只能与if配对使用。仅else本身不能单独作为一个语句使用。,if(x5);y=x;elsey=2*x-1;,if(x5);y=x;elsey=2*x-1;,将出现语法错误,复合语句的花括号后不能再写分号。复合语句在语法上是一个整体,相当于一个语句。,上机注意事项,=和=的区别a=1);,例2.2输入3个数a,b,c,按由小到大的顺序输出。,#includevoidmain()inta,b,c,t;scanf(%d%d%d,Ex4_3.c,二、if语句的嵌套,在if语句的原“语句”中又包含一个或多个if语句,1.if(表达式1)if(表达式2)语句,2.if(表达式1)语句1elseif(表达式2)语句2,3.if(表达式件1)语句1elseif(表达式2)语句2else语句3,4.if(表达式1)if(表达式2)语句1else语句2,二义性?,语言规定:else总是与它前面最近的且未曾配对的if配对。,if(表达式1)if(表达式2)语句1else语句2,if(表达式1)if(表达式2)语句1else语句2,例2.4编程求解函数:,程序1:if(x=0)if(x0)y=1;elsey=0;elsey=-1;,eg502.c,if(x0)y=1;,程序3:y=-1;if(x!=0)if(x0)y=1;elsey=0;,改正程序3:y=-1;if(x!=0)if(x0)y=1;elsey=0;,例如:,if(x=1,有时必须用if嵌套解决,求二次方程ax2+bx+c=0的根,if语句的嵌套要完全嵌套,if(表达式1)if(表达式1)else语句序列;else语句序列;,不可以是:,if(表达式1)if(表达式1)else语句序列;else语句序列;,if语句的使用格式简单,但要把实际生活中的问题转化有时不简单,小提示:,例如:a能被2整除;a是奇数;是3的倍数;a是大写字母或小写字母等等;,三、switch(多分支)语句,switch语句是多分支选择结构。多分支选择结构可以用if语句的嵌套来实现。,1、格式:,switch(表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1,2、功能:先计算表达式的值,测试该值是否与某常量表达式的值相同、若有相同者,流程转向其后面的语句执行、若无,再看有没有default部分:若有default,则执行其后面的语句;若无default,则switch语句什么也不做,流程转向其后继语句。,说明:,1、switch后面括号内的表达式可以是整型,也可以是字符型2、各个case后常量表达式的值必须互不相同;3、各个case和default的出现次序不影响执行结果;4、如果没有break语句执行完一个case后面的语句后,流程控制转移到下一个case继续执行,voidmain()intx,y;scanf(%d,5、case后常量表达式只起语句标号的作用,每个case之后通常都有一个break,使流程跳出switch语句;,Ex4_4.c,6、多个case可以共用一组执行语句;,case6:case7:printf(Resetn);break;,但不能写成:case6,7:printf(Resetn);break;,7、switch语句可以嵌套;但有多层switch语句时,break只能退出本层的switch语句体;,例:用switch实现:当score60时:输出不及格当60=score80时:输出及格当80=s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论