文档介绍:第3章分支程序设计
关系表达式和逻辑表达式
如果语句(if语句)
(switch语句)
分支程序设计应用实例
本章小结
3。1 关系表达式和逻辑表达式
3。3。1 关系(非0) 假(0)
例3-5:编写一个程序,判断一个字符是否为大写英文字母,若是,则转换为小写字母。
main( )
{ char ch;
scanf("%c", &ch );
ch = ( ch >= 'A' && ch <= 'Z' ? ch +32 : ch );
printf("%c \n", ch );
}
(switch语句)
一般形式如下:
switch ( 表达式 )
{
case 常量表达式1:
语句部分1; [ break;]
case 常量表达式2:
语句部分2; [ break;]
┇
case 常量表达式n:
语句部分n; [ break;]
[ default:
语句部分n+1;]
}
switch语句的工作过程是:
首先对switch语句括号中的表达式进行计算,然后依次与各case中的常量表达式的值比较,一旦匹配成功,则马上执行相应的语句部分,若遇break,结束switch语句;若均不匹配,则执行 default(若有的话)后的语句部分。
当程序执行break语句后,它就使程序流程跳出switch结构,并转而执行switch结构后面的第一条语句。
例3-5:根据考试成绩的等级(A、B、C、D),输出“优秀”,“良好”等评语。
#include <>
main( )
{ char grade;
printf("请输入成绩等级(A、B、C、D):");
grade = getchar( );
switch ( grade )
{ case 'A': printf("优秀 \n"); break;
case 'B': printf("良好 \n"); break;
case 'C': printf("及格 \n"); break;
default: printf("不及格 \n"); break;
}getch( );
}
运行结果:
请输入成绩等级(A、B、C、D):C↙
及格
执行过程
grade
优秀
良好
及格
不及格
‘A’ ‘B’ C’ default
例3-6:在switch结构中多个case标号共用一组执行语句
#include <>
main( )
{
char grade;
printf("请输入成绩等级(A、B、C、D):");
grade = getchar( );
switch ( grade )
{ case 'A':
case 'B':
case 'C': printf("及格 \n"); break;
case 'D': printf ("不及格 \n"); break;
default: printf("输入数据错误 \n");
}
getch( );
}
分支程序设计应用实例
例3-7: 从键盘输入二个整数,输出其中最大者。
main( )
{
int a, b, max;
printf("请输入二个整数:");
scanf("%d %d", &a, &b );
if ( a > b ) max = a;
else max = b;
printf("二者中最大值为:%d", max );
getch( );
}
运行结果:
17 31↙
二者中最大值为:31
例3-8:从键盘输入二个整数,从小到大输出。
方法:若第一个数较大,两者值互换。
main( )
{ int a, b, tmp;
printf("输入二个整数:");
scanf("%d %d", &a, &b ); /* a = 20, b =15 */
if ( a > b )
{
tmp = a; /* ① tmp = 20 */
a = b; /* ②