第三章-选择结构程序设计.pptx
文本预览下载声明
第 三 章;本章要点:
关系运算符和关系表达式
逻辑运算符和逻辑表达式
复合语句
条件运算符
if…else语句
switch…case语句
字符常量和字符变量
字符数据的输入和输出;例3-1 成绩判定问题;形式一(单分支):
格式: if(表达式)
{
语句
}
功能:首先对表达式进行求解,若表达式的值为真,则执行语句,否则执行if语句下面的语句。;如何判断一个条件是否成立呢?;关系表达式:用关系运算符将两个表达式连接起来的式子,称关系表达式。
关系表达式的值:是逻辑值“真”或“假”,用1和0表示; 关系运算符也可以用于实数,但是,在实数比较时只能使用 和 。原因在于实数在计算和存储时会有一些微小的误差,从而导致逻辑上应该相等的两个数可能不相等。因此,判定两个实数相等时通常采用如下方法:判别两个数差值的绝对值是否小于一个很小的数(例如10-6),如果小于此数,就认为两个实数相等。; 数学函数; if( fabs(a-b) 1e-6 )
{
printf(“两个实数相等”);
}
不要忘记在程序开始要有文件包含命令
#include math.h;例3-1 成绩判定问题;形式二(双分支)
格式:
if (表达式)
{
语句1
}
else
{
语句2
}
功能:首先对表达式求解,若表达式的值为真,则执行语句1,否则执行语句2。;请输入一个成绩,如果输入的成绩大于或等于60,则输出“PASS!”;否则输出“NOT PASS!Please work hard! ”。;例3-3 成绩判定问题3;形式三:(多分支)
格式:
if(表达式1)
{ 语句1 }
else if(表达式2)
{ 语句2 }
…
else if(表达式n)
{ 语句n }
else
{ 语句n+1 }
功能:依次判断表达式的值,当某个表达式 i 为真时,则执行其对应的语句 i ,然后执行if语句后面的程序。如果所有的表达式均不为真,则执行语句n+1,然后执行后续程序。;#include stdio.h
int main()
{ int grade;
scanf(%d, grade);
if ( grade = 80 )
{ printf( A ); }
else if ( grade = 70 )
{ printf (B ); }
else if ( grade = 60 )
{ printf (C ); }
else
{ printf (D ); }
return 0;
};3.3 逻辑运算符和表达式;优先级:;逻辑表达式:用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。
逻辑表达式的值:是逻辑值“真”或“假”,用1和0表示;逻辑运算符的短路特性:若表达式的值可由先计算的左操作数的值单独推导出来,那么将不再计算右操作数的值。;例3-3 程序修改; 关于程序的健壮性(鲁棒性);例3-3 程序修改;例3-4 计算两个数的最大值;3.4 条件运算符;#include stdio.h
int main()
{ int a, b,max;
printf(“input two integer:”);
scanf(%d%d, a,b);
if (a b)
{ max = a ; }
else
{ max = b; }
printf(“max= %d\n”,max);
return 0;
};3.5 复合语句(语句块);在分支中使用复合语句的好处;例3-5 计算三个数的最大值; int a, b,c,max;
printf(“input three integer:”);
scanf(%d%d%d, a,b,c);
if (a b)
{ if(a c )
{ max = a ; }
else
{ max = c; }
}
else
{ if(b c)
{ max = b; }
else
{max = c;}
}
printf(“max= %d\n”,max);;3.6 if语句的嵌套
当if的条件满足或不
显示全部