C语言——选择语句(If语句)和循环语句(while语句)

程序中的分支选择语句格式:if(condition){......}

如果条件为真则执行花括号内代码段,如果条件为假则不执行。if..else..可以嵌套使用,

#include<stdio.h>
int main()
{
	int a = 4;
	int b = 4;
	int c = 4;
	if (a > b)
	{
		if (b > c)
		{
			printf("a>b>c\n");
		}
	}
	else if (a<b)
	{
		printf("a<b\n");
	}
	else
	{
		printf("a=b\n");
	}
    return 0;
}

运行结果:a=b

程序员买包子的梗:“下班顺路买一斤包子回来,如果看到卖西瓜的,买一个。” 最后程序员买了一个包子回家。代码实现:

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int watermelon;
	printf("是否遇到了买西瓜的?0--没有 1--有\n");
	scanf("%d", &watermelon);
    if(watermelon==0)//没有遇到卖西瓜的
    {
        printf("买一斤包子\n");
    }   
    else             //遇到了卖西瓜的
    {
        printf("买一个包子\n");
    }
    system("pause");
    return 0;
}

运行结果:输入:0 买一斤包子  输入:1 买一个包子

注意:如果if后面没有花括号,且有两个printf()语句,那么只有第一个printf()语句属于if的代码段,而另一个printf()语句和if语句同级,无论如何都会被执行。


三种循环语句:while,  do...while,   for

while语句:while(condition){....}

condition一般为真假值或表达式,当condition为真时,执行或括号内的代码,当condition为假(不满足条件)时,则不执行或跳出循环。

break:程序执行时遇到break时直接跳出循环。

continue:从调用位置直接跳到while语句起始处,重新进行判断。

举例:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int rain=0;
	while (rain == 0)
	{
		printf("今天会下雨吗?0--不会 1--会\n");
		scanf("%d", &rain);
		if (rain == 1)
		{
			break;    //跳出循环
		}
		printf("今天不下雨,不用带伞\n");
	}
	printf("下雨记得带伞\n");
    system("pause");
    return 0;
}
#include<stdio.h>
#include<stdlib.h>

int main()
{
	int sheep_count = 0;
	while (sheep_count<5)
	{
		int sheep_interrupt;
		printf("数羊有没有被打断?0--没有 1--有");
		scanf("%d",&sheep_interrupt);
		if (sheep_interrupt == 1)
		{
			sheep_count = 0;
			continue;       //跳转到while处重新进行判断
		}
		printf("%d只羊\n", sheep_count);
		sheep_count += 1;
	}
	printf("睡着了\n");
    system("pause");
    return 0;
}

例:将三个整数按从大到小的顺序输出。

第一次比较a位置和b位置的数,b位置存放a、b间较小数
第二次比较a位置和c位置的数,c位置存放a、c间较小数,此时a位置存放的数即为最大数
第二次比较b位置和c位置的数,c位置存放b、c间较小数,此时c位置存放的数即为最小数

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a = 2;
	int b = 3;
	int c = 1;
	int tmp;
	scanf("%d %d %d",&a,&b,&c);
	if (a < b)
	{
		tmp = a;
		a = b;
		b = tmp;
	}
	if (a < c)
	{
		tmp = a;
		a = c;
		c = tmp;
	}
	if (b < c)
	{
		tmp = b;
		b = c;
		c = tmp;
	}
	printf("a=%d,b=%d,c=%d", a, b, c);
    system("pause");
	return 0;
}

 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值