条件和循环语句

分支语句和循环语句是编程的基础中的基础。肯定得熟练掌握!

分支语句:

  • if
  • switch

循环语句:

  • while
  • for
  • do while

分支语句

if语句

if(表达式)
    语句;
else
	语句;
	
if(表达式)
    语句;
else if(表达式)
    语句;
else
	语句;

C语言中,0表示假,非0表示真;

else 与最近的if配套;

例:

include <stdio.h>
int main()
{
    int num = 3;
    if(num % 2 == 0){
        printf("% 是偶数",num);
    }else{
        printf("% 是奇数",num);
    }
    return 0;
}

switch语句

switch语句也是一种分支语句。 常常用于多分支的情况。并且可以嵌套使用。

语法:

switch(整形表达式)
{
    case 整形表达式 : 语句;
        breakcase 整形表达式2 :语句;
        breakdefault//如果case都不匹配,则执行default内的语句
        语句;
        break}

例:

#include <stdio.h>
int main()
{
	int day = 0;
	switch(day)
	{
	case 1printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期天\n");
		break;
	}
	return 0;
}

循环语句

while循环

语法:

while(循环条件)
    循环语句;

例如:

打印1-10的数字

#include <stdio.h>
int main()
{
    int i = 1;
    while(i<=10){
        printf("%d ",i);
        i += 1;
    }
    return 0;
}
while语句中的break和continue

break:停止循环,跳出循环,执行循环下面语句;

continue : 跳过本次循环,执行下一次循环;

for循环

语法:

for(变量初始化;变量条件判断;变量调整部分)
{
    循环体;
}
#include <stdio.h>
int main()
{
	int i = 0;
	//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
	for(i=1; i<=10; i++)
	{
		printf("%d ", i);
	}	
	return 0;
}
#include <stdio.h>
int main()
{
    //死循环
    for(;;)
    {
        printf("11");
    }
    //双重变量
    int x = 0;
    int y = 0for(x = 0,y = 0;x<2,y<5;++x,y++)
    {
        printf("111");
    }
    return 0;
}

do while 循环

语法:

do
{
    循环体;
    变量调整;
}while(循环条件)

可以看出,循环至少执行一次。先执行循环体,在进行判断是否还可以循环。

应用 :折半查找算法

int bin_search(int arr[],int left,int right,int key )
{
    int mid = 0;
    while (left <= right)
    {
        mid = (left+right)/2;
        if(arr[mid]>key)
        {
            right = mid - 1;//猜大了
        }
        else if (arr[mid] < key)
        {
            left = mid +1;//猜小了
        }
        else 
        {
            return mid;//找到了
        }
    }
    return -1;//没找到或者直接没进入循环。
}

goto语句

语法:

goto loop;

loop:
	代码块;

最常见的用法就是终止程序在某些深度嵌套的结构的处理过程, 例如一
次跳出两层或多层循环。这种情况使用break是达不到目的的。 它只能从最内层循环退出到上一层的循环。

for()
{
    for()
    {
        for()
        {
            if(条件)
                goto error;
        }
    }
}

error:
	if(..)
        ...

写一个关机程序

#include <stdio.h>
int main()
{
    char input[10];
    sysytem("shutdown -s -t 60");
 again:
    printf("电脑将在1分钟内关机,输入"我是猪"就取消关机\n");
    scanf("%s",input);
    if(strcpm(input,"我是猪") == 0)
    {
        system("shutdown -a");
    }
    else
    {
        goto again;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值