语句及分支语句

本文详细介绍了C语言中的语句概念,包括表达式、语句和空语句,并通过实例展示了如何使用if语句进行条件判断。此外,还讲解了switch语句的用法,以及在多分支判断中的应用,强调了break和default的关键作用。最后提供了几个实践案例,如判断奇数和输出特定范围内的奇数。
摘要由CSDN通过智能技术生成

一、什么是语句?

什么是表达式?

带有运算符:a+b c/d e>f x=y+z

什么是c中的语句?(c语言是顺序结构)

以;(分号)结尾的都叫做语句。

#include<stdio.h>

int main()
{
	printf("hello bit!\n");
	int a = 10;
	int b = 20;
	;  //也可以编过,什么都不做的叫空语句;若将所有语句写成一行也行,但是不推荐
	return 0;
}

二、分支语句(选择结构)

2.1 if语句

if语句的语法结构:

if(表达式)

语句;

if(表达式)

语句1;

else

语句2;

多分支:

if(表达式1)

语句1;

else if(表达式2)

语句2;

else

语句3;

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int age = 18;
	printf("输入年纪#");
	scanf("%d", &age); //取缔值
	if (age >= 18) {   //先执行表达式的逻辑结果,再用if判断
		printf("你已经成年了!\n");
	}
	else {
		printf("你没有成年!\n"); //if判断是先判断,后分支
	}

}

判断各个不同年龄段的人划分:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int age = 18;
	printf("输入年纪#");
	scanf("%d", &age); //取缔值
	if (age < 18) {
		printf("未成年!\n");
	}
	else if (age < 25) {
		printf("青年!\n");
	}
	else if (age < 35) {
		printf("壮年!\n");
	}
	else if (age < 50) {
		printf("中年!\n");
	}
	else {
		printf("老年!\n");
	}
}

else:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int a = 0;
	int b = 2;
	if (1 == a) { //防御性编程
		if (b == 2) {
			printf("you can see me!\n");
		}
	}
	else 
		printf("hello else!\n");
}

else采取就近原则,与自己离得近的else进行匹配

1)不能省略if/else 后面的花括号,哪怕if/else什么也没做!

2)花括号可以放在if/else后,也可以重新起行,不同的公司有不同的编码风格。

3)if/else匹配原则:与最近if匹配。

练习:

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

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int IsOdd(int x) {
	if (x % 2 == 1) {
		return 1;
	}
	return 0;
}

int main() {
	int a = 31;
	if (!IsOdd(a)) {
		printf("%d 是偶数!\n", a);
	}
	else {
		printf("%d 是奇数\n", a);
	}
	}

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

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int IsOdd(int x) {
	if (x % 2 == 1) {
		return 1;
	}
	return 0;
}

int main()
{
	int i = 1;
	for (; i <= 100; i++) {
		if (!IsOdd(i)) {
			//printf("%d 是偶数!\n", i);
		}
		else {
			printf("%d 是奇数\n", i);
		}
	}
}

2.2 switch语句(多分支判断)

写起来更简单,条理更清晰。

switch(整型表达式)

{

语句项;

}

switch语句判断能力由case承担,分支能力由break承担。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int day = 5;
	switch (day) {
	case 1:
		printf("星期一");
		break;
	case 2:
		printf("星期二");
		break;
	case 3:
		printf("星期三");
		break;
	case 4:
		printf("星期四");
		break;
	case 5:
		printf("星期五");
		break;
	case 6:
		printf("星期六");
		break;
	case 7:
		printf("星期天");
		break;
	default: //禁止省略default,位置不影响
		printf("输入有误!\n");
		break;
	}
}

若没有break,则一直运行到匹配为止,包括default。

1、输入1-5输出量是“Weekday”;

2、输入6-7输出“Weekend”;

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int day = 5;
	switch (day) {
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("Weekday!\n");
		break;
	case 6:
	case 7:
		printf("Weekend!\n");
		break;
	default:
		printf("输入有误!\n");
		break;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值