c语言分支结构之if语句

在遇到某些问题时,通过简单的顺序语句无法实现,这时候就需要用到分支与循环语句来解决文题。今天就讲讲分支结构中的if语句。身为一个网瘾少年,经常碰见打游戏抽卡的问题,其中能不能抽卡就可以用if语句进行判断

if...(else if)...else...

if...else...语句是一个简单的判断语句,其最基本的形式为:

if (判断条件)
    语句1;
else
    语句2;

当if后面括号中的语句判断为真,则执行语句1,否则执行语句2。通过流程图可以更直观的感受。

通过这样一个简单的判断语句,我们就可以对游戏中你能不能进行抽卡进行判定。在游戏中,如果你有足够的资源就可以抽卡,如果没有就不能。

用a表示你的资源数量,假设180可以抽一次卡,用if...else...来实现应该是这样的:

	if (a >= 180)
		printf("可以抽卡\n");
	else
		printf("资源不足,是否充值\n");

当然我们知道游戏里面不止可以一次一次抽,还可以直接十连抽,这当然也要进行判断,这就涉及到多重判断, if...else if...else... 语句,这个语句可以进行多个条件的判断,这里以两个条件为例,其基本形式是这样的:

if (判断条件1)
    语句1;
else if (判断条件2)
    语句2;
else
    语句3;

它是按顺序运行下来的,先判断条件1,如果为真,执行语句1,如果为假,判断条件2,条件2

真,执行语句2,直到条件2也为假,执行语句3.  

当然它不止可以判断两个条件,多个条件都可以,只需要多几个else if...就行。那对于十连的判断,我们就可以通过它来实现:

if (a >= 1800)
    printf("十连抽");
else if (a > 180)
    printf("可以抽一发");
else
    printf("资源不足,是否充值");

 先判断我们能不能抽十连,如果不能,再判断我们能不能抽一发单抽,如果都不行再让我们充值,当然肯定不会这么简单,我这里是简化了。

if语句还有一些需要注意的问题:

1.要注意不要在括号的后面加分号(;),分号是一个语句的结束,一旦加上分号就相当于你这个if直接结束,会导致直接执行语句1。如:

if (a >= 180);
{
	printf("可以抽卡\n");
}

这样会直接在屏幕上打印出可以抽卡,不会进行判断。

2.一个if只匹配一个语句

if (a >= 180)
    printf("可以抽卡");
    printf("是否充值");

在这个语句中无论a是否大于等于180,都会在屏幕上打印出”是否充值“这四个字,因为if只匹配了它下面一个语句,只为一个语句添加了判断条件,而再下面一条没有被添加判断条件,程序会直接执行它。

那么要怎样把另一个也包含在内,只需要加个大括号即可:

if (a >= 180)
{
    printf("可以抽卡");
    peintf("是否充值");
}

 用大括号将想要包含的语句给括起来,这样就能将括号内的所有语句都赋予判断条件。

3.if语句中的else是可以省略的

4.每一个else匹配离它最近的if。

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值