C语言-5分支结构程序_第1页
C语言-5分支结构程序_第2页
C语言-5分支结构程序_第3页
C语言-5分支结构程序_第4页
C语言-5分支结构程序_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第5章分支结构编程,5.1关系运算符和式5.2逻辑运算符和式5.3逻辑式的跳转5.4if语句5.5switch语句,5.1关系式,关系运算符和括号连接两个式子的式子。 表示如果条件所规定的条件成立,其值为1 (不为0 ),否则其值为0。 关系运算符:=、/a=2,39,a!=(a=8),x (y=3)=k*z,(a!=3)(kbcd必须表示为ABA=b=c=0。a| b之后,a、b的值分别为0、6、a=1的停止不运算、值为0,赋予a,停止不运算、3,执行inta、b、c; a=b=c=-1; 在a之后,a、b和c的值分别为0、-1、0、1、a=0和2,不被计算,值为0、3、c=0和4,整体为0,例如,1:主() charc=k; inti=1,j=2,k=3; floatx=3e 5,y=0.85; printf (“% d”% dn”,x*! y,y! 什么? 什么? x; printf(%d,%d,%dn ,x|i )执行结果: 0,01,00,1,0,x不是0,不是0,5.4if语句的三种形式1,第一种形式是基本形式:ifif (表达式)语句含义:如果表达式的值为真,则执行后续语句,否则其过程可以如下图所示。 的双曲馀弦值。 表达式是任何合法表达式,不能添加到后面;例2:voidmain()inta,b,max; printf(ninputtwonumbers: ) scanf(%d%d“,输入: 2346输出: max=46,此语句用于提示输入:max=23,示例3:voidmain()inta,b,c,t; printf(ninputtwonumbers: ) scanf (“% d % d”,输入: 162输出: 621,实现数据交换的功能:输入3个数字,按大小顺序输出,例4 :从键盘输入1个字符,判断是否小写。 如果是这样的话,转换成大写字母,否则不转换,而是输出该字母。 #includemain()charc,a; c=getchar (); if (c=z) a=c; /*如果判断不是小写字母*/if (c=a) a=c-32; *确定是否是小写字母*/printf(%cn”,a );main()charc; c=getchar (); if (c=a) c-=32; printf(%cn”,c ); else语句2语义,其第二种格式是:if-elseif (表达式)语句1 :如果表达式的值为真,则执行语句1,否则执行语句2。 不能添加到后面,voidmain()inta,b; printf(inputtwonumbers: ) scanf(%d%d“,输入: 2346输出: max=46,输入两个整数以输出其中的数据。 例2改写、3、第3形式为if-else-if形式: if (式1 )文1; elseif (式2 )文件2; elseif (式3 )文件3; elseif (式m )文件m; else语句n,含义:顺序确定表达式的值,如果某个值为真,则执行相应的语句。 然后跳出整个if语句,继续执行程序。 如果所有表达式都为false,则执行语句n。 然后继续下一步。 不能在后面添加、这是真的、句子1,没有其他句子,上面的句子是以下三种形式: 1、空的句子2、一个句子(不引起过渡) 3、前后加括号的句子(复合句子)也称为程序段:inta; floatb; a=3; b=7.0; 、 可以在复合语句之前定义变量,并且仅适用于复合语句。 inta; a=3; floatb; b=7.0; 必须首先定义变量,#includestdio.hvoidmain()输入: Acharc; 输出: Thisisacapitalletterc=getchar (); 在使用if(c=0)、例5、4、if语句时应该注意的问题点:1 )在三种形式的if语句中,在if之后成为下式。 此表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式或变量,如赋值表达式。 例如,if(a=5)文件if(b )文件全部被允许。 如果表达式的值不是0,则为真。if(a=5)中式的值非常零,因此后续语句总是执行。 当然,这在程序中不一定发生,但在语法上是合法的。 此外,if(a=b)printf(%d”,a ); elseprintf(a=0 ); 本文的意思是,将b的值给予a,如果不是0则输出该值,否则输出“a=0”的字符串。 这种用法在程序中很常见。 在、=赋值运算符、比较运算符=,2)if语句中,必须将条件判定表达式括在括号中,并在语句后面加上加号。3)if句的3种形式中,所有句子必须是单一的句子。 要在满足条件时执行一系列(多个)语句,必须将该系列语句括在中以构成复合语句。 但需要注意的是,后面不能加上加号。 例如if(ab)a; b; elseelsea=0; b=10; ,if(ab)a; b; elsea=0; b=10; 不能写,5.4.2条件运算符和条件式,在条件句中只执行单一代入句的情况下,可以使用条件式来实现。 条件运算符是? 和:这是三个目标运算符,有三个参与运算的量。 表达式的典型格式是表达式1吗? 在式2:式3的评价规则中,在式1的值为真的情况下,将式2的值设为条件式的值,否则,将式2的值设为条件式整体的值。0,0以外,例如条件语句: if(ab)max=a; elsemax=b; 可用的表达式是否写成max=(ab )? a:b; 执行该语句的意思是,如果ab为真,则a为max,如果ab为假,则b为max。 使用表达式时,请注意:1)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。 max=(ab )? a:b可以去掉括号后写成max=ab吗? a:b2)条件运算符? 和:是一对运算符,不能单独使用。 3 )条件运算符的耦合方向从右向左。 例如ab? a:cd? c:d应该理解为ab吗? a:(cd? c:d )其为嵌套式条件式,其中方程式3为条件式。 例6 :计算,方法1:voidmain()flotx,y; scanf(”%f ,表达式,成立值为1,y=x3? x*x 2:3*x 7*x*x; 例7 :请通过键盘输入任意2个实数,按从小到大的顺序输出的程序来实现。 voidmain()floata,b; 复合语句不是scanf(“%f%f”),而是变量,a=a b; b=a-b; a=a-bt=a; a=b; b=t,例8:P1055.5计算,方法1:main()flotx,y; scanf(”%f ,1=xscanf(”%f ,可以省略,y=x1? x:(x10? 2*x-1:3*x-11;(,)是可以省略的,方法是三:if(x10)if(x1)y=x; elsey=2*x-1; elsey=3*x-11; 在、之后不能加法,、和()可以

温馨提示

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

最新文档

评论

0/150

提交评论