C语言程序设计-电子教案第3章 分支程序设计
第3章 分支程序设计 在这一章中将介绍C语言程序的关系运算,逻辑运算及程序分支结构。分支程序结构是程序设计中的一个重要部分,它根据不同的条件决定程序的走向。 3.1 关系运算和逻辑运算 3.1.1关系运算符和关系表达式 1.关系运算 关系运算就是关于数据的大小比较的运算,共有6种关系运算,如表3-1所示。 2.关系运算表达式 关系运算符用于连接两个表达式,形成关系运算表达式,例如: a+b>c+d a<=b+c a!=b a==c 关系运算表达式的结果是一个为“真”或“假”的逻辑值,在C语言中用任何一个非0的值来表示“真”,用0值来表示“假”。因此5>4的值是非0,而5<4的结果是0。 数值的比较与数学上的意义一样,字符的比较是用字符的ASCII码进行的,例如’a’>’A’为真,因为’a’的ASCII值比’A’的大,在字符比较中有以下规律: 空格c&&a+c>b&&b+c>a; a>b||a>c ; !a||b>c; 3.2 简单if语句 3.2.1 简单if条件语句 简单if条件语句的格式是: if(条件) 语句; 它的含义是当条件成立时,便执行指定的语句,执行完后接着执行if后下一条语句;如条件不成立,则该语句不执行,转去if的后下一条的语句,如图3-1所示。 if(条件) { // 当条件成立时执行这一组语句 } 3.3 二分支if语句 3.3.1二分支if条件语句 二分支if条件语句的格式是: if(条件) 语句1; else 语句2; 它的含义是当条件成立时,便执行指定的语句1,执行完后接着执行if后下一条语句;如条件不成立,则执行指定的语句2,执行完后接着执行if后下一条语句,程序流程如图3-4所示。 ? 二分支if语句与简单if语句一样,也可以应用复合语句,格式为: if(条件) { // 当条件成立时执行这一组语句 } else { // 当条件不成立时执行这一组语句 } 3.3.3 分支语句的嵌套 ? 在if语句中可以是复合语句,而在复合语句中又可以嵌套另一个 if语句,这样可以组成多级的if语句嵌套。 3.4 多分支if语句 3.4.1 多分支if语句 多分支if条件语句的格式是: if(条件1) 语句1; else if(条件2) 语句2; else if(条件3) 语句3; …… else if(条件n) 语句n; else语句n+1; 它的含义是当条件1成立时,便执行指定的语句1,执行完后,接着执行if后下一条语句;如条件1不成立,则判断条件2,当条件2成立时,执行指定的语句2,执行完后,接着执行if后下一条语句;如条件2不成立,则继续判断条件3,……,判断条件n,如成立执行语句n,接着执行if后下一条语句;如条件n还不成立,则最后只有执行语句n+1,执行完后,接着执行if后下一条语句,程序流程如图3-6所示。 3.5 条件表达式 3.5.1 条件表达式 条件表达式的格式是: 条件?表达式1:表达式2; 它的含义是当条件成立时,便执行表达式1并返回结果;如不然就执行表达式2并返回结果,条件表达式的结果不是表达式1就是表达式2,因条件而定。 条件表达式因其结构简单,计算方便,在程序中广泛使用,例如例3-11中计算2月份的最大天数的语句: if(y%4==0&&y%100!=0||y%400==0) d2=29; else d2=28; 就可以简单写成: d2=(y%4==0&&y%100!=0||y%400==0)?29:28; 3.6 switch多分支程序结构 3.6.1 switch多分支程序结构语句 switch (表达式) { case va