C语言:分支与循环语句--if语句和switch语句

本文详细介绍了C语言中的if-else、elseif多分支结构以及switch语句的用法,包括语法、示例和编程习惯,展示了如何进行条件判断和多选项选择。
摘要由CSDN通过智能技术生成

if语句

if... 


//语法结构
if(表达式)
   语句;
if(表达式)
    语句1;
else
    语句2;
#include <stdio.h>
int main()
{
    if(3 == 5)
        printf("hehe\n");//不输出
    return 0;
}
#include <stdio.h>
int main()
{
    if(3 == 3)
        printf("hehe\n");//输出hehe
    return 0;
}
#include <stdio.h>
int main()
{
    int a = 10;
    if(a = 3)//一个=是赋值
        printf("hehe\n");//输出hehe
    return 0;
}

if...else... 

如果if语句后面要跟多条语句,必须用{}将多条语句括起来。 

#include <stdio.h>
int main()
{
    age = 18;
    if(age < 18)
    {
        printf("未成年\n");
        printf("不能饮酒\n");
    }
    else
        print("成年\n");
    return 0;
}

if...else if...else...

//多分支
#include <stdio.h>
int main()
{
    int age = 10;
    if(age < 18)
        printf("青少年\n");
    else if(age >= 18 && age < 28)
        printf("青年\n");
    else if(age >= 28 && age < 40)
        printf("中年\n");
    else if(age >= 40 && age < 60)
        printf("壮年\n");
    else if(age >= 60 && age <= 100)
        printf("老年\n");
    else
        printf("老寿星\n");
    return 0;
}

在c语言中,0表示假,非0表示真。

悬空else

#include <stdio.h>
int main()
{   
    int a = 0;
    int b = 2; 
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
        printf("haha\n");
    return 0;
}
// 不输出

原因:else是与离它最近的if匹配

代码书写需注意:

1.变量的命名(有意义,规范)

2.空格,空行,换行

练习

1.判断一个数是否为奇数

#include <stdio.h>
int main()
{
    int num = 0;
    scanf("%d",&num);
    //判断
    if(num % 2 == 1)
        printf("奇数\n");
    else
        printf("不是奇数\n");
    return 0;
}

2.输出1-100之间的奇数

#include <stdio.h>
int main()
{	
	int i = 1;
	while (i < 100)
	{
		if (i % 2 == 1)
			printf("%d\n", i);
		i++;
	}
	return 0;
}

switch语句

switch

表达式必须是整型

字符本质野是整型

switch(整型表达式)
{    
    case 整型常量表达式:
        语句;
}
#include <stdio.h>
int main()
{	
	switch(day)
    {
        case 1:
            printf("星期一\n");
            break;//跳出switch语句
        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;
}

练习

1.输入1-5,输出的是"weekday”;输入6-7,输出"weekend";

#include <stdio.h>
int main()
{	
	switch(day)
    {
        case 1: 
        case 2:
        case 3:   
        case 4:
        case 5:
            printf("weekday\n");
            break;
        case 6:
        case 7:
            printf("weekend\n");
            break;
        //所有case都不能执行时
        default:
            printf("选择错误\n");
            break;
    }
	return 0;
}

编程好习惯:在每个switch语句中都放一条default子句是一个好习惯,甚至可以在后边再加一个break。

2.根据下列代码,求m和n的值

#include <stdio.h>
int main()
{
	int n = 1;
	int m = 2;
	switch (n)//1
	{
		case 1:
			m++;//3
		case 2:
			n++;//2
		case 3:
            //switch语序嵌套使用
			switch (n)//2
			{
			case 1:
				n++;
			case 2:
				m++;//4
				n++;//3
				break;
			}
		case 4:
			m++;//5
			break;
	default:
		break;
	}
	printf("m = %d, n = %d\n", m, n);// m = 5 n = 3
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值