【C语言】入门——分支和循环语句

各位优秀的程序员们,大家好,上次给大家写了一点自己对C语言入门的大概括,这次再往里面细讲一点点,讲究循循渐进,文中有错误的,不足的希望能得到指正和教导,谢谢!

1. 关于语句

C语句一共有五类:

        1.表达式语句 由表达式加上分号“;”组成,z = x+y;

        2.函数调用语句   就简单的调用一个函数 rand();

        3.控制语句      控制程序执行流程,让程序按照其不同控制结构去执行  

        4.复合语句     用大括号{},将众多语句和声明包在一起

        5.空语句         不需要执行其功能 只需要 ;  即可

我们初学者,最主要了解的就是控制语句,分成三类:

        1.分支语句:if语句,switch语句;

        2.循环语句:do while语句,while语句,for语句

        3.转向语句:break语句,continue语句

那么下面来介绍这些语句。

2. 分支语句

if语句:

if(表达式){
        语句;
        }

int num1 = 8;
	int num2 = 10;
	if (num1<num2) {
		printf("%d", num2); //10
	}
	else {
		printf("%d", num1);
	}

if语句常和else搭配,如果条件满足if就会执行if里面的语句,如果不满足就直接执行了else语句。

多分支if语句

if语句还可以进行多条语句判断

        

	if () {       //条件满足if时,就会执行if,

		printf();
	}
	else if () {    //不满足if时,会进行else if语句判断,满足就执行
		printf();
	}
	else {        //以上都不满足,就会执行此语句
		printf();
	}

else if语句可以多次使用,来满足程序要求。

当程序进入了一条语句中,其他语句不会再执行。

switch语句

switch(整型表达式)
{
    语句项;
}

int a = 1;
	switch (a) {    
	case 1:
		printf("我是case1\n");  
	case 2:
		printf("我是case2\n");

	default:
		printf("我是default\n");
	}
//我是case1
//我是case2
//我是default

当程序进入一个入口时,就会依次执行下面的,直到语句结束,或者遇到break结束语句跳出来。

当switch语句遇到break时:

int a = 1;
	switch (a) {
	case 1:
		printf("我是case1\n");
		break;
	case 2:
		printf("我是case2\n");
		break;
	default:
		printf("我是default\n");
		break;
	}
// 我是case1

程序只会执行case 1后就跳出来,

关于 default

 这个类似于if语句中的else, 如果上面的case;都不满足,就会执行default;

3. 循环语句

while语句

适用于同一件事情我们需要完成很多次

while(表达式) {

循环语句;

}

	int w = 1;
	while (w) {
		printf("");
	}

当表达式为真时,while会进入循环。只有在循环体内设置条件调整使其不满足表达式或者 遇到break才会跳出循环。

当while语句遇到break

int w = 1;
	while (w<=10) {
		if (w == 8) break;
		printf("%d",w);
		w++;
	}
	// 1234567

可见遇到break;直接终止循环

当while语句遇上continue

continue:是跳过本次循环,进行下一次循环。

int w = 1;
	while (w <= 10) {
		if (w == 5) continue;
		printf("%d", w);
		w++;
	}
	// 1234   

因为w等于5后,进入了if语句后,执行了continue,跳过了下面的代码,导致w一直等于5,卡在这里。把w++调整到if语句上面即可。

for语句

for(表达式1; 表达式2; 表达式3){

 循环语句;

}

        表达式1为初始化部分,用于初始化循环变量的。

        表达式2为条件判断部分,用于判断循环时候终止。

        表达式3为调整部分,用于循环条件的调整

for语句类似于if语句

且看:

int a = 0 //变量的声明
if(a == 0){       //条件判断
            ; //条件调整和功能
}

for语句只是把三者集合在一起。

//进行一个遍历
int a = 1;
for(a = 1;a<=10;a++){
printf("&d ",a)     //1 2 3 4 5 6 7 8 9 10
}                

当for语句遇上break

意义和while语句中一样。

	int i = 0;
		for (i = 1; i <= 10; i++)
		{
			if (i == 5)
				break;
			printf("%d ", i); //1 2 3 4
		}

遇上break后直接终结循环。

当for语句遇上continue

int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d ", i); //1 2 3 4 6 7 8 9 10
	}
	

当i等于5时,进入语句执行continue,跳过下面的程序,进行表达式3 条件调整,变成了6继续执行循环。

do while语句

do {

循环语句;

}while(表达式);

do while语句和while语句不同的是,do while语句,上来直接执行一次循环语句,在进行while表达式的判断

循环至少执行一次,使用的场景有限,所以不是经常使用。

int i = 10;
	do
	{
		printf("%d\n", i);
	} while (i < 5);
	//10

当do while语句遇上break,和continue


	do
	{
		if (5 == i)
			break;
		printf("%d ", i);
		i--;
	} while (i < 10); 
	//10 9 8 7 6 
		
int i = 10;
	do
	{
		i--;
		if (5 == i)
			continue;
		printf("%d ", i);
	} while (i>0 && i <10); 
	//9 8 7 6 4 3 2 1 0

以上是我对分支循环语句的个人理解。

身为初学者,自身有很多不足,希望错误的地方和不足之处能得到指正,感激不尽!!!

猜你喜欢

转载自blog.csdn.net/m0_67367079/article/details/132253924