再忆分支与循环语句(上)

前言

C语⾔是结构化的程序设计语⾔,大概有三种类型:顺序结构选择结构循环结构生活中的遇见的大部分问题可以拆解为这三种结构或其组合。

由于顺序结构过于简单,本篇就不再赘述。

分支

1.if语句

①语法形式

if(表达式)
语句;

此处表达式有俩种结果——真和假,若真则执行语句;反之,则不执行。

若表达式计算结果返回值(关系操作符或函数)为0,,则语句不执行;若非0,语句则执行。

以找奇数为例:

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

②else

作用:使得单分支变为了多分支。语法结构如下

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

以寻找奇数为例,多添加一个else就能找到偶数:

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

③if语句嵌套使用

可以进行多重判断,例如正负数的判断:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int num = 0;
	scanf("%d", &num);
	if (num > 0)
		printf("num为正数\n", num);
	else if (num == 0)
		printf("num为0\n", num);
	else
		printf("num为负数\n", num);
return 0;
}

此处就运用了俩次if,else来完成对num正负性的判断。

④悬空else问题

多对if else时,else永远和最近的if匹配而非同一列上的if,下面举个例子:

为了避免初学时误解,大家可以选择用{   }来增强代码的逻辑性和可读性。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int num = 0;
	scanf("%d", &num);
	if (num > 0) 
		printf("num为正数\n", num);
	else {
		if (num == 0)
			printf("num为0\n", num);
		else
			printf("num为负数\n", num);
	}
	

	
		
	return 0;
}

2.switch语句

switch语句是一种特殊if......else的结构,可判断多个条件

①语法形式 

switch (expression) {
 case value1: statement
 case value2: statement
 ...
 default: statement
}

上面的代码中,根据表达式 expression 不同的值,执⾏相应的 case 分支。若果没有对应的值,就执行default语句。

注意:1.switch后的expression必须是整型表达式

           2.case后的值,必须是整型常量表达式

今天先到这儿,明天再写!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值