C语言的选择结构

选择结构

C语言有两种选择语句:(1)if语句:用来实现两个分支的选择结构

(2)switch语句:用来实现多分支条件的选择结构

例子:计算ax^2 + bx + c = 0的方程的根。

流程图:

代码:

#include<stdio.h>

#include<math.h>

//计算ax^2 + bx + c = 0的方程的根。

int main(){

    double a,b,c,disc,x1,x2,p,q;//disc是 sqrt(b*b-4ac)

    printf("输出参数:\n");

    scanf("%lf%lf%lf",&a,&b,&c);

    disc=b*b-4*a*c;

    if(disc < 0){ //b^2 - 4ac<0无实根

        printf("方程无实根\n");

    }

    else{

        p=-b/(2.0*a);

        q=sqrt(disc)/(2.0*a);
    
        x1=p+q;
    
        x2=p-q;

        printf("方程的两个根为: x1:%7.2f \t x2:%7.2f \n",x1,x2);

    }

    return 0;

} 

If语句:

If语句的形式:

If(表达式) 语句1

[else  语句2]

扩展

关系运算符

关系表达式:用关系运算符将两个数值或数值表达式连接起来的式子

逻辑运算符(&& 、|| 、!):

条件运算符(?):由(? 和:) 组成,必须一起使用

条件表达式:  表达式1 ? 表达式2 : 表达式3

选择结构的嵌套

If语句的嵌套:if语句包含一个或多个if语句

形式:

注意if与else的配对关系:else总是与它上面的最近的未配对的if配对

例:

      -1 (x<0)

Y={ 0 (x=0)

       1 (x>0)

流程图:                                           代码:

  

Switch多分支选择结构

形式:

例题:百分制成绩,要求输出成绩的等级ABCDE。

#include<stdio.h>
/*
百分制成绩,要求输出成绩的等级ABCDE。 
	由于case里面  只能是常量 
	switch里面放置表达式是得到分数的十位数字。 
*/ 
int main()
{
	int score,i=3;
	while(i--){
		scanf("%d",&score); 
		if(score>100||score<0)
		{
			printf("输入错误!重新输入!\n");
			scanf("%d",&score); 
		}
		switch(score /10){
			case(9):printf("A\n");break;
			case(8):printf("B\n");break;
			case(7):printf("C\n");break;
			case(6):printf("D\n");break;
			default: printf("E\n");break;
		} 
	} 
	return 0; 
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值