0711C语言分支 if else switch

C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。

选择结构

if语句

1、if是选择语句的关键字

( )为条件,如果条件为真,执行{ },( )后面是没有分号的

if(-1) //条件为真    

if(0) //条件为假,不执行if语句

例:条件为假的几种情况

打印结果

    

例题 :求 两个数最大值

#include<stdio.h>

int main()
{	
	int a = 1;
	int b = 2;

	if(a < b)
	{
		printf("最大值为: %d\n", b);
	}
	else 
	{
		printf("最大值为: %d\n", a);
	}	
	
	return 0;
}

例题 :求 两个数最大值 结果:

 

例题 :求 三个数最大值 

#include<stdio.h>

int main()
{	
	int a = 7;
	int b = 10;
	int c=3;

	if(a>b)//a最大
	{
		if(a>c)//接着把a和c相比较,
		{
			printf("最大值为 %d\n",a);
		}
		else
		{
			printf("最大值为 %d\n",c);
		}
	}
	else//b 最大
	{
		if(b>c)//接着把b和c相比较
		{
			printf("最大值为 %d\n",b);
		}
		else
		{
			printf("最大值为 %d\n",c);
		}
	}
	return 0;
}

例题 :求 三个数最大值 结果;

if else 语句 

//if~else if~else
	int a = 10;
	
	if(a == 10)
	{
		printf("a == 10\n");
	}
	else if(a > 10)
	{
		printf("a > 10\n");
	}
	else if(a < 10)
	{
		printf("a < 10\n");
	}
	else
	{
		printf("这是不可能的\n");
	}

三目运算符 

//三目运算符?:
	//三目运算符?:  ,就是简洁版的if else
	int a = 50;
	int b = 20;
	int c = 90;
	int result=0;
	int temp;
	//1、判断a > b结果
	//2、如果为真,执行?后面
	//3、如果为假,执行:后面
	
	//用三木运算符判断两个数最大
	temp = a > b ? a : b;
	printf("两个数最大值为:%d\n", temp);

	//用三木运算符判断三个数最大 (把(a>b?a:b)看成整体->结果为50 类似于50 > 90 ? 50:90)
	result=(a>b?a:b)>c?(a>b?a:b):c;
	printf("三个数最大值为:%d\n", result);

 

  switch语句

//switch语句
	int a;
	printf("请输入楼层:");
	scanf("%d", &a);
	
	switch(a) //后面没有分号,条件只能是整型或字符型
	{
	case 1:
		printf("按下的是1楼\n");
		break; //break的作用,跳出switch语句,最好加上
		
	case 2:
		printf("按下的是2楼\n");
		break;
		
	case 3:
		printf("按下的是3楼\n");
		break;
		
	default:
		printf("其它\n");
		break;
	}

例题:// 分数段 0-60不及格 60 -70及格 70-80良好 80-90优秀 90-100优秀+
// 分析  除10取余数  0到10分内的都为0...<1; 10-20分数除以10 结果为1....<2 ; 20-30分数除以10 结果为2..<3 ;接着强制转换(int)float。  

// 实现 switch case语句

// switch case语句格式 
//1、switch是关键字,switch()后面没有分号 case和default后面都需要要加上冒号:否则报错
//2、switch()中()里只能放整型变量或字符型变量

//3、switch用法类似于电梯模型

#include<stdio.h>
void main()
{
	float score;
	scanf("%f",&score);	

	if(score>100.00)
	{
		printf("输入有误,重新输入\n");
		return;//函数遇到return 就返回 不执行
	}

	switch((int)score/10)	//分数段 强制类型转换 
	{	
		case 0:case 1:case 2:case 3:case 4:case 5:
				printf("不及格\n");
				break;
		case 6:
				printf("及格\n");
				break;
		case 7:
				printf("良好\n");
				break;
		case 8:
				printf("优秀\n");
				break;
		case 9:case 10:
				printf("优秀+\n");
				break;
		default:
				printf("成绩有误,重新输入\n");
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值