第4章_选择结构程序设计详解.ppt
文本预览下载声明
第四章;主要内容;4.1 选择结构和条件判断;处理这些问题,关键在于进行条件判断
由于程序处理问题的需要,在大多数程序中都会包含选择结构,需要在进行下一个操作之前先进行条件判断;例4.1 在例3.5的基础上对程序进行改进。题目要求是求ax2+bx+c=0 方程的根。
由键盘输入a,b,c。假设a,b,c的值任意,并不保证b2-4ac≥0.需要在程序中进行判别,如果b2-4ac≥0,就计算并输出方程的两个实根,否则就输出“方程无实根”的信息。 ;解题思路:;#include stdio.h
#include math.h
int main ( )
{
double a,b,c,disc,x1,x2,p,q;
scanf(%lf%lf%lf,a,b,c);
disc=b*b-4*a*c;
if (disc0)
printf(“has not real roots\n”);
else
{ p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q; x2=p-q;
printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2);
}
return 0;
}
;#include stdio.h
#include math.h
int main ( )
{
double a,b,c,disc,x1,x2,p,q;
scanf(%lf%lf%lf,a,b,c);
disc=b*b-4*a*c;
if (disc0)
printf(“has not real roots\n”);
else
{ p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q; x2=p-q;
printf(“real roots:\nx1=%7.2f\n x2=%7.2f\n”,x1,x2);
}
return 0;
};4.2 用if语句实现选择结构;;#include stdio.h
int main()
{ float a,b,t;
scanf(%f,%f,a,b);
if(ab)
{ t=a;
a=b;
b=t;
}
printf(%5.2f,%5.2f\n,a,b);
return 0;
};例4.3 输入3个数a,b,c,要求按由小到大的顺序输出。;#include stdio.h
int main()
{ float a,b,c,t;
scanf(%f,%f,%f,a,b,c);
if(ab)
{ t=a; a=b; b=t; }
if(ac)
{ t=a; a=c; c=t; }
if(bc)
{ t=b; b=c; c=t; }
printf(%5.2f,%5.2f,%5.2f\n,a,b,c);
return 0;
};4.2.2 if语句的一般形式;1. if (表达式) 语句1 (没有else子句);2. if (表达式) 语句1
else 语句2;3. if(表达式1) 语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
┆
else if(表达式m) 语句m
else 语句m+1
(在else部分又嵌套了多层的if语句);if(number 500) cost = 0.15;
else if (number 300) cost = 0.10;
else if (number 100) cost = 0.075;
else if (number 50) cost = 0.05;
else cost=0;;说明:
(1)整个if语句可写在多行上,也可写在一行上,
但都是一个整体,属于同一个语句
(2)“语句1”…“语句m”是if中的内嵌语句, 内嵌语句也可以是一个if语句
(3)“语句1”…“语句m”可以是简单的语句,也可以是
显示全部