C语言分支循环总结

文章目录

  • if语句
  • switch语句
  • while循环
  • for循环
  • do-while循环
  • 嵌套循环


前言

分支与循环是C语言中一个十分重要的内容,因此我们更应该仔细的了解他,并且能够做到熟练掌握,同学们应当仔细认真阅读本期内容,能够做到灵活掌握。

一、if语句

        在生活中我们需要依据条件来判断,以此做出相应的事情,c语言也是这样,我们会依据一些条件的判断,进行不同的处理,下面我们来看看if语句的具体格式吧:

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	if (a > 0) {
		printf("haha\n");
	}
	else {
		printf("hehe\n");
	}
	return 0;
}

       上图是一个比较简单的if语句完成的代码,我们可以看到if语句的作用--依据a不同的值打印出不同的结果。我们先来看看if语句的结构首先if后要加(),在()中所填写的就是若要打印出haha的条件,而else则是与if条件相反的条件,类似于是非此即彼的关系,注意else后面是不能加条件的即没有像if语句后面的“()”,以及其中的条件;

可有些情况下并不都是非此即彼的关系,判断情况多起来的时候怎么办呢?那么我们就可以嵌套使用if-else语句,那么该如何嵌套呢,我们再来看一段代码:

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	if (a > 0) {
		printf("haha\n");
	}
	else if (a = 0) {
		printf("hehe\n");
	}
	else { printf("xixi\n");
	}
	
	return 0;
}

 我们来观察,嵌套使用,是要嵌套在else中,只有一层嵌套时可以可以省略大括号,但是如果有多层嵌套时,大括号不可以省略,当然为了逻辑的清晰,我更建议加上大括号情况有很多时,我们也可以写成如下形式

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	if (a > 1) {
		printf("haha\n");
	}
	else {
		if (a == 1) {
			printf("xixi\n");
		 }
		else if (a == 0) {
			printf("huhu\n");
		}
		else if (a == -1) {
			printf("hehe\n");
		}
		else {
			printf("zhizhi\n");
		}
	}
	return 0;
}

        即if else可以放在一起使用,但else单独出现时,后面不能加条件,同时要注意if else,如果只能控制一条语句,所以当我们想执行多个命令时,应当大括号括住;同学们可以多加练习体会其用法并灵活掌握。

注意if语句条件,后面不应当加分号,加分号表示执行空语句,则不能达到预期效果。

二、switch语句

与if else语句相同,switch语句也是可以实现相应的判断和选择,但switch语句的要求限制更多,同时他的逻辑也更清楚一些,我们现在看一段代码,了解switch语句的构成

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	switch (a) {
	case 1:printf("xixi"); break;
	case 2:printf("haha"); break;
	case 3:printf("huhu"); break;
	default:printf("hehe"); break;

	}
	return 0;
}

       观察它的形式switch语句后面括号内跟的是表达式,与if语句相同后面也不能加分号,继续看里面的内容,前面需要有case,case后面有空格,空格后的常量即为switch语句括号内表达式运行的结果,注意结果后面结果后面加有冒号,然后写出你想要完成的要求;break的有无取决于你希望他最终输出什么样,前面case后所加的常量仅表示一个入口,若没有break跳出程序的话,进去入口后,如果下面还有别的表达式的话,也会执行,(这样的运行方式有一个好处,当输出多结果你希望后续进行相同的操作时,前面语句中不需要加break)最后的default即除以上形式外其余的情况的结果;
 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a = 0;
	scanf("%d", &a);
	switch (a) {
	case 1:printf("xixi");
	case 2:printf("haha"); break;
	case 3:printf("huhu"); break;
	default:printf("hehe"); break;

	}
	return 0;
}

        我们来看这段代码与上段代码不同的是,我将case 1后面的break去掉,那么我们来看看它的运行结果,当我给赋值为一的时候,它能够从case 1的入口进去,但并没有跳出,之后再会进行后面的操作,又打印了“haha”遇到了break跳出switch语句

 最后,我们要明晰switch语句能够运行所需的条件:首先switch语句括号内的表达式一定是整形表达式,case后面所跟的结果,一定是整形常量表达式,同学们可以自己写一段代码,感受一下!!

三、while循环

         我们认识了能够进行判断选择的If else switch句之后,我们接下来认识一下能够控制循环的语句,有三种分别是for循环,while循环和do-while循环,我们首先来认识一下while循环; 

        当我们需要循环一段代码的时候,循环语句是实现的重要形式。接下来,我们看一段代码了解一下while循环的构成:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a =1;
	while (a) {
		printf("请输入\n");
		scanf("%d", &a);
		printf("您输入的数为%d\n",a);
	}
	return 0;
}

        while循环语句的结构比较简单,while后跟的括号里的是进行判断是否能够进入循环的条件,后面跟多条语句时要用大括号括起来。不难看出对于上文代码,只有输入零的时候才能跳出循环。

         注意循环条件是十分重要的,如果不能跳出循环条件便会进入死循环。

        当我们需要限制循环次数的次数时,往往设计一个类似于计数器的变量,当达到循环次数时,就会跳出循环。我们看一段代码体会一下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a = 0;
	int count = 1;
	while (count <= 5) {
		printf("请输入\n");
		scanf("%d", &a);
		printf("您输入的数为%d\n",a);
		count++;//注意这里等价与count=count+1
	}
	return 0;
}

            这个代码就表示可以输入五次,想要输入的数。

四、for循环 

        了解完while循环后,我们可以了解一下另一种循环形式——for循环。for循环相较于while循环逻辑层次更加清楚,接下来我们看看for循环的代码格式:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int i = 0;
	int a = 0;
	for (i = 1; i <= 5; i++) {
		printf("请输入\n");
			scanf("%d", &a);
		printf("您输入的数为%d\n",a);
	}
	return 0;
}

 我们逐步分析一下for循环的格式,for后面跟的括号内,以两个“;”将它分成三个部分。第一部分是变量的初始化,第二部分是判断循环的条件,第三部分是对初始变量的进行的操作。那么整个过程就是先对变量初始化进行所设置的循环的语句,最后再对变量进行操作,再进行判断是否满足循环条件,若满足则继续循环,不满足则跳出循环。

怎么样是否感觉for循环更加整齐一些了呢?接下来让我们了解最后一个循环语句——do while循环!
 

五、do -while循环 

        do while循环与while循环大体相似,但do while循环至少循环一次,而well循环则可以一次都不循环,接下来我们看一段代码,仔细了解一下do while循环的格式

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int i = 1;
	int a = 0;
	do {
		printf("请输入\n");
		scanf("%d", &a);
		printf("您输入的数为%d\n", a);
		i++;
	} while (i <= 5);
	return 0;
}

       do- well循环首先是do加大括号括号内放的是循环体,而循环判断的条件则放在后面,那么我们可以看出,无论第一次循环时是否满足循环条件,程序都会执行一次再进行判断。这种循环方式在某些特定的场景下是十分有用的,例如,当我们写一个小游戏时,不管怎样,程序都会先执行一次,让用户选择是否继续游戏。

与while循环不同的是注意do-while后面的判断语句后要加分号!

六、嵌套循环

        我们上面所进行的循环都是一层循环,事实上我们也可以嵌套循环,即循环中套有循环,这就更加需要我们明白其中的关系!
我们以for循环和while循环为例,写出一段九九乘法表,如图所示

 先来看while循环该如何实现目的:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int i = 1, j = 1;
    while (i <= 9) {//i表示行数,即有9行
        j = 1;//j表示每一行所有的数字数量,没循环完一行都要重新赋值,这样才能保证每一行的个数有多个;
        while (j <= i) {//这里要理解个数与行数的关系,
            printf("%4d", i * j);//%4d指的是占四个字符的位置,i*j表示的就是每一行所代表的数字
            j++;
        }i++;
        printf("\n");
    }

    return 0;
}

 再来看看for循环是如何完成的:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
    int i=0, j=0;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= i; j++) {//这里不像while循环,需要重新给j赋值,由于for循环的性质,每一次进行到第二层循环时,都会重新给j赋值为1

            printf("%4d", i * j);
        }
        printf("\n");//注意每一行完成后的换行问题
    }
    return 0;
}

        如果这里有些同学看不懂的话,是很正常的。循环最关键的就是要弄清楚其中各层的关系,可以跟着代码自己走一遍,模仿着去写进行理解。

       如果想继续深入了解嵌套循环的使用的话,可以参考前面三篇文章。


总结

   这一期内容我们学习了分支与循环语句,分支主要利用if语句和switch语句完成,而循环主要利用while语句 for语句和do while语句 3种语句完成。

       同学们下去一定要多加练习,并且掌握这几种基本的语句,有什么不懂的,欢迎在评论区里讨论!
                                                     我们下期再见啦!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值