嵌入式学习DAY3 -- 分支语句(单分支:if语句;双分支if else语句;多分支:if else if语句,switch case语句)

这篇博客记录了嵌入式初学者在学习C语言过程中的知识点,包括数据类型、变量、运算符、进制转换和标准输入输出。博主详细介绍了分支语句的三种形式:单分支、双分支和多分支,并通过实例展示了如何使用这些语句进行条件判断。此外,还分享了几个关于税后工资计算和简易计算器的编程练习,加深了对C语言逻辑控制的理解。
摘要由CSDN通过智能技术生成

嵌入式入门学习笔记,遇到的问题以及心得体会!
DAY 3!
笔记:

复习:
1.数据类型
整形:int short long longlong
浮点型:float double
字符型:char
构造数据类型
空类型:void

2.变量:
	存储类型 数据类型 变量名
3.运算符
	算数
	关系
	逻辑
	赋值
	条件
	sizeof
	位:<< >> & | ~ ^
4.进制转换
	二进制
	八进制
	十进制
	十六进制
5.标准输入输出函数
	scanf:赋值变量需要加&;“”中的内容都需要输入
	printf:可以不用添加变量

int i = 5;
101--->010

day3

分支语句:
需要判断表达式真假的时候,并输出不同结果

分支语句分类:
	单分支
	if(表达式)
	{
		执行语句;
	}



	双分支
	
	if(表达式)
	{
		执行语句1;
	}
	else
	{

		执行语句2;
	}

	多分支

	if(表达式1)
	{
		执行语句1;
	}
	else if(表达式2)
	{

		执行语句2;
	}
	……
	else if(表达式n)
	{

		执行语句n;
	}


	switch(表达式)
	{
		case 常量表达式1:
			执行语句;
			break;
		case 常量表达式2:
			执行语句
			break;
		case 常量表达式3:
			执行语句
			break;
		……
		case 常量表达式n:
			执行语句
			break;
		default:
			执行语句
			break;
	}


单分支语句:
	
	if(表达式)
	{
		执行语句;
	}

	int i;
	您是否饥饿,是请输入1
	请您用餐
	结束代码

练习
条件:上课天数>10或15<年龄 <20
结果:判定成功:需要上晚自习
判定失败:不需要上晚自习*

#include<stdio.h>
int main()
{
	//定义变量
	int day;
	int age;
	
	//输入赋值
	printf("please input days:");
	scanf("%d",&day);
	printf("please input age:");
	scanf("%d",&age);

	//执行判断,分别输出结果
	if(day > 10 || (age > 15 && age  < 20))
	{	
		printf("you need go to wanzixi\n");
	
	}
	else
	{
		printf("you do not need go to wanzixi \n");
	}

	return 0;
}

双分支语句:
	if(表达式)
	{
		执行语句1;
	}
	else
	{

		执行语句2;
	}


	15 < age <20	15 < age--->真为1,假为0

练习
条件:6~12上小学 12~15上初中 15~18上高中其他结束

#include<stdio.h>
int main()
{
	//定义变量
	int age;
	//变量赋值
	printf("请输入年龄");
	scanf("%d",&age);
	//执行判断,输出结果
	if (age >= 6 && age <= 12)
	{
		printf("上小学\n");
	}
	else if(age > 12 && age <= 15)
	{
		printf("上初中\n");
	}
	else if(age > 15 && age <= 18)
	{
		printf("上高中\n");
	}
	else	
	{
		printf("毕业了\n");
	}
	return 0;
}

多分支语句:

	if(age >= 6 && age <= 12)
	{
		执行语句1;
	}
	else if(age > 12 && age <=15)
	{

		执行语句2;
	}
	else if(age > 15 && age <=18)
	{

		执行语句n;
	}
	else
	{
		执行语句;
	}

练习
税后工资计算
请输入您的税前工资
3000 以内 %3
3000~12000 %10
12000~25000 %20
超过25000 %25

注:
这部分代码逻辑不难理解,主要在编写时不了解税率如何计算。
例如工资3000元以内直接扣除%3的税款后就是税后工资,但是如果工资是5000元,则是5000减3000,高出三千的部分乘以90%,三千元依然是乘以97%,最后两者累加才是税后工资。

#include<stdio.h>
int main()
{
	double i;//税前工资
	double j;//税后工资

	printf("请输入税前工资金额:");
	scanf("%lf",&i);

	if(i <= 3000)
	{
		j = i * (1 - 0.03);
	}
	else if(i > 3000 && i <= 12000)
	{
		j = 2910 + (i - 3000) * (1 - 0.1);
	}
	else if(i > 12000 && i <= 25000)
	{
		j = 2910 + 8100 + (i - 12000) * (1-0.2);
	}
	else
	{
		j = 11010 + 10400 + (i - 25000) * (1 - 0.5); 
	}
	
	printf("您的税后工资是:%lf\n",j);

	return 0;
}

	int i;
	
	switch,case

	switch(表达式)		6          6.00000001
	{
		case 常量表达式1:
			执行语句;
			break;
		case 常量表达式2:
			执行语句
			break;
		case 常量表达式3:6
			执行语句
			break;
		……
		case 常量表达式n:
			执行语句
			break;
		default:
			执行语句
			break;
	}	

练习:
标号1:查询服务
标号2:业务办理
标号0:人工服务
其他标号:退出
请输入标号:

#include<stdio.h>
int main()
{
	int i = 0;

	printf("请输入您要选择的服务\n");
	printf("查询服务请按1\n");
	printf("业务办理请按2\n");
	printf("人工服务请按0\n");

	scanf("%d",&i);

	switch(i)
	{
	case 1:
		printf("进入查询服务\n");
		break;
	case 2:
		printf("进入业务办理\n");
		break;
	case 0:
		printf("进入人工服务\n");
		break;
	default:
		printf("再见\n");
		break;
	}

	return 0;
}

练习
在这里插入图片描述
此处代码串用了今天所学的两种方法
方法一:多分支的 if else if 语句
方法二:用了switch case 语句 不过在定义好变量之后加入了一段if语句用来判定成绩输入格式是否正确。

#include<stdio.h>
int main()
{
	int i = 0;//定义变量作为成绩
	printf("请输入成绩:");
	scanf("%d",&i);

	if (i >= 0 && i < 60)
	{
		printf("E\n");
	}
	else if (i < 70 && i >= 60)
	{
		printf("D\n");
	}
	else if (i < 80 && i >= 70)
	{
		printf("C\n");
	}
	else if (i < 90 && i >= 80)
	{
		printf("B\n");
	}
	else if (i >= 90 && i <= 100)
	{
		printf("A\n");
	}
	else
	{
		printf("输入错误");
	}
	
	/*if(i >= 0 && i <=100)
	{
	int k = i / 10;
	//printf("%d",k);
	
	switch(k)
	{
	case 0:
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("E\n");
		break;
	case 6:
		printf("D\n");
		break;
	case 7:
		printf("C\n");
		break;
	case 8:
		printf("B\n");
		break;
	case 9:
	case 10:
		printf("A\n");
		break;
	}
	}
	else
	{
		printf("error\n");
	}*/
	return 0;
}

练习
使用switch case实现简易计算器,可实现两个数字的+ - * / 即可

#include <stdio.h>
int main()
{
	float a,b;
	//char c;
	//printf("请输入要进行的运算符:");
	//scanf("%c",&c);
	printf("请输入所要计算的两个数字:");
	scanf("%f,%f",&a,&b);
	char c;
	printf("请输入要进行的运算符:");
	//scanf("%*c%c",&c);
	scanf("%c",&c);
	//printf("%c",c);

	switch(c)
	{
	case '+':
		printf("%.2f + %.2f = %.2f\n",a,b,a+b);
		break;
	case '-':
		printf("%.2f - %.2f = %.2f\n",a,b,a-b);
		break;
	case '*':	
		printf("%.2f * %.2f = %.2f\n",a,b,a*b);
		break;
	case '/':
		printf("%.2f / %.2f = %.2f\n",a,b,a/b);
		break;
	default :
		printf("error");
		break;

	}
	return 0;
}

作业:
1.从键盘输入一个年份,输入月份,输出该年该月是多少天?

#include<stdio.h>
int main()
{
	int year;

	int month;

	printf("please input year and month:");
	
	scanf("%d,%d",&year,&month);

	if(month < 1 && month > 12)
	{
		printf("error!\n");

		return 0 ;
	}

	if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
	{
		switch(month)
		{
		case 2:
			printf("zai zhe yi nian de zhe ge yue you 29 DAy!\n");
		break;
		}
	}
	else
	{
			printf("zai zhe yi nian de zhe ge yue you 28 DAY!\n");
	}

	
	switch(month)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			printf("zai zhe yi nian de zhe ge yue you 31 DAY!\n");
		break;

		case 4:
		case 6:
		case 9:
		case 11:
			printf("zai zhe yi nian de zhe ge yue you 30 DAY!\n");
		break;

	}

	return 0;
}

2.将今天课上的代码自己再过一遍;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值