C语言分支和循环详解

本文详细介绍了C语言中的分支结构(if、switch)、循环结构(while、do...while、for)及其用法,包括if语句的多种形式、switch语句的案例以及循环语句的区别和应用场景。
摘要由CSDN通过智能技术生成

在程序中基础的三种结构为顺序结构,选择结构(分支结构),循环结构,几乎所有日常可见的事均可分为这三种结构或者这三种结构的组合.今天,我们就来详细了解一下关于C语言分支和循环语句.

在正式介绍之前呢,先给大家提及一下C语言的控制语句:

C语言共有9种控制语句,可以分为3类:

1.
条件判断语句也叫分⽀语句:if语句、switch语句;
2.
循环执⾏语句:do while语句、while语句、for语句;
3.
转向语句:break语句、goto语句、continue语句、return语句。

1.分支

1.1 if

        if语句的用法:

1.

	if (表达式) {
		语句;
	}

 2.

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

3.

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

        如果表达式为真,则进入分支,执行语句;否则,则执行下一个分支.

1.2 switch

        switch语句的用法:

	switch (表达式) {
	case 常量1: 语句
	case 常量2: 语句
	default: 语句
	}

        需要注意的是 :这里的的表达式必须是常量表达式,case后跟的常量也必须是整形常量

        用星期举例:

#include<stdio.h>
int main() {
	int day;
	scanf("%d", &day);
	switch (day) {
	case 1:printf("星期一\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;
	default: printf("无该日期");
	}
	return 0;
}

        我们定义的day是个整形变量,case后跟的1,2..7也是整形.

        或许,有的朋友疑惑,为什么见到有人使用char类型也没有报错, 那是因为char类型转化值ASCII为整形,也可看作整形.

        不知道各位朋友有没有发现代码中有点奇奇怪怪的东西呢,break.还记得之前提到的控制语句么.break的作用便是跳出循环.

        大家可以想一下如果没有break的控制,最后的代码会是怎么样,下面可以给大家试一下.

#include<stdio.h>
int main() {
	int day;
	scanf("%d", &day);
	switch (day) {
	case 1:printf("星期一\n");
	case 2:printf("星期二\n");
	case 3:printf("星期三\n");
	case 4:printf("星期四\n");
	case 5:printf("星期五\n");
	case 6:printf("星期六\n");
	case 7:printf("星期日\n");
	default: printf("无该日期");
	}
	return 0;
}

 

        可以看到当输入1时,switch匹配到case 1,但是代码并没有停下来,反而继续执行之后的代码.由此比较大家是否可以进一步了解break的作用了呢. 

2.循环

2.1 while

        while语句的用法

	while (表达式) {
		语句;
	}

         只要表达式为真,那么while语句将一直执行.

2.2 do..while 

        do...while语句的用法

	do {
		语句;
	} while (表达式);

        与while不同的是,while是先进行表达式的判断在进行语句的执行

                                  do...while则是先进行语句的执行在对表达式进行判断. 

2.2 for

        for语句的用法

	for (表达式1;表达式2;表达式3) {
		语句;
	}

        其中,表达式1进行的是对循环变量初始化,表达式2是判断,表达式3则是调整循环变量

        在这个过程,首先进行的是表达式1:初始化循环变量,然后对表达式2进行判断,若为真则执行语句,在执行表达式3对循环变量进行调整,继而在对表达式2进行判断,如此循环往复. 

好了,这一段对C语言分支与循环介绍就先告一段落,之后还会进行更为详细的补充.

 

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值