1.分支语句: else if 和 switch

if语句基础用法:

int main()
{
	int score = 0;
	printf("请输入你的分数:");
	scanf("%d", &score);
	if (score >= 90)
	{
		printf("优秀\n");
	}
	else if (score >= 80 && score<90)
	{
		printf("良好\n");
	}
	else if (score >= 70 && score < 80)
	{
		printf("中等\n");
	}
	else if (score >= 70 && score < 60)
	{
		printf("及格\n");
	}
	else
	{
		printf("不及格\n");
	}
	return 0;
}

if语句练习:

//练习:判断一个数是否为奇数
int main() 
{
	int a = 0;
	printf("请输入一个数:");
	scanf("%d",&a);

	if (a % 2 == 0) //%是取模符号,%2如有余数是奇数,无余数是偶数
	{
		printf("偶数\n");
	}
	else
	{
		printf("奇数\n");
	}
	return 0;
}
//输出1-100之间的奇数
int main()
{
	int i = 0;
	while (i < 100)
	{
		i++; //i=i+1
		if (i % 2 == 1)
		{
			printf("%d ", i);
		}
	}
	return 0;
}

switch语句基础用法:

int main()
{
	int weapon = 0;
	printf("请选择你的武器\n");
	printf("1.长剑 2.阔刀\n");
	scanf("%d", &weapon);
	switch (weapon)
	{
	case 1:  //case是switch的语句项
		printf("\n你选择了长剑,攻击力+10,攻速加+10\n");
		break; //break语句的实际效果是把语句列表划分为不同的分支部分
	case 2:
		printf("\n你选择了阔刀,攻击力+20,攻速加+5\n");
		break;;
	}
	return 0;
}
int main()
{
	int day = 0;
	printf("请输入一个数字(1-7):");
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("工作日");
		break;
	case 6:
	case 7:
		printf("休息日");
		break;
	}
	return 0;
}

default子句:

如果表达的值与所有的case标签的值都不匹配怎么办?

其实也没什么,结构就是所有的语句都被跳过而已。

程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。

但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?

你可以在语句列表中增加一条default子句,把下面的标签 default: 写在任何一个 case 标签可以出现的位置。

当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。

所以,每个switch语句中只能出现一条default子句。

但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。 编程好习惯 :在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break 。

int main()
{
	int a = 1;
	int b = 2;
	switch (a)
	{
	case 1:
		a++; //a=a+1
	case 2:
		b++; //b=b+1
	case 3:
		switch (a)    //switch允许嵌套使用
		{
		case 2:
			a++;
		case 3:
			b++;
		}
	default:
		break;
	}
	printf("a=%d b=%d", a, b);
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值