Bootstrap

语句(c语言进阶)

目录

引言:

转向语句在循环语句和条件判断语句中有应用并有一定的讲解

控制语句

一.条件判断语句

1.if语句

2.对if中return的理解

实例:输入一个数,判断是奇数还是偶数

2.switch语句理解

代码实例1,输入一个数字,输出一个星期:

代码示例2:输出工作日或休息日。

嵌套使用

二.循环语句

1.while语句

continue和break的用法

题目

1.break在while中的应用

2.continue在while中的应用

2.for循环

实例:输出1到10的数字

for循环中continue中的应用

for循环的嵌套

for语句中放入俩个条件

3.do-while循环

三.goto语句


引言:

转向语句在循环语句和条件判断语句中有应用并有一定的讲解

控制语句

控制语句用于控制程序的执行过程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构,选择结构,循环结构),它们由特定的语句定义符组成,C语言有9种控制语句。

可分为以下三类:

1.条件判断语句也叫分支语句:if语句,switch语句。

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

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

接下来将会对控制语句进行讲解

一.条件判断语句

1.if语句

if (条件表达式) 
{
    // 条件为真时执行的代码
} else 
{
    // 条件为假时执行的代码
}
if (条件表达式1) 
{
    // 条件1为真时执行的代码
} 
else if (条件表达式2)
{
    // 条件1为假且条件2为真时执行的代码
} 
else 
{
    // 上述条件都不为真时执行的代码
}

2.实例

请问这段代码输出的是什么

什么都没有输出

因为else与最近if匹配,所以实际的代码应该是这样的👇

2.对if中return的理解

int test()
{
	int a;
	scanf("%d", &a);
	if (a > 5)
	{
		return 1;
	}
	else
	{
		return 0;
	}
	printf("hehe3\n");

}

int main()
{
	printf("hehe1\n");
	int ret = test();
	printf("hehe2\n");
	printf("%d", ret);
	return 0;
}

其中这个代码永远不会执行👇,因为函数调用后,进入函数内部,只要碰到return就会把值返回到函数调用的地方

实例:输入一个数,判断是奇数还是偶数

int main()
{
	int num = 0;
	scanf("%d",&num);
	if (num % 2 == 0)
	{
		printf("偶数");
	}
	else
	{
		printf("奇数");
	}
	return 0;
}

程序运行👇

2.switch语句理解

switch语句格式

其中constant是常量

switch (expression) 
{
    case constant1:
        // 如果 expression 的值等于 constant1,则执行以下代码块
        // ...
        break; // 终止 switch 语句,防止执行后续的 case

    case constant2:
        // 如果 expression 的值等于 constant2,则执行以下代码块
        // ...
        break; // 终止 switch 语句

    // ...
    // 可以有任意数量的 case

    default:
        // 如果 expression 的值不等于任何一个 case 中的常量,则执行以下代码块
        // ...
        // 这个部分是可选的
}

代码实例1,输入一个数字,输出一个星期:

int main()
{
	int num = 0;
	scanf("%d", &num);
	switch (num)
	{
	case 1:
		printf("星期一");
		break;
	case 2:
		printf("星期二");
		break;
	case 3:
		printf("星期三");
	case 4:
		printf("星期四");
	case 5:
		printf("星期五");
	case 6:
		printf("星期六");
	case 7:
		printf("星期天");
	default:
		printf("超出范围,请重新输入");
		break;
	}

	return 0;
}

代码示例2:输出工作日或休息日。

int main()
{
	int num = 0;
	scanf("%d", &num);
	switch (num)
	{
	case 1:
		printf("星期一\n");
		printf("星期二\n");
		printf("星期三\n");
		printf("星期四\n");
		printf("星期五\n");
		break;
	case 0:
		printf("星期六\n");
		printf("星期天\n");
		break;
	default:
		printf("超出范围,请重新输入\n");
		break;
	}

	return 0;
}

代码运行下:

注意:switch后边必须是整形,case后边也必须是整形

嵌套使用

结果输出: m=5,n=3

这是第一个switch

这是第二个switch:

按顺序一算结果就出来了,只要没遇到break,它会一直往下执行


二.循环语句

1.while语句

格式:

while(//条件)
{


//循环的内容



}

continue和break的用法

  • break 用于退出整个循环或 switch 语句。
  • continue 用于跳过当前循环的其余部分,直接进入下一次迭代。

题目

1.break在while中的应用

int main()
{
	int i = 1;
	while (i < 10)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

屏幕上输出的是👇

1,2,3,4

因为如果 i ==5 ,进入if语句中,接触到break,从而终止了循环,所以屏幕上打印的是,1,2,,3,4

2.continue在while中的应用

int main()
{
	int i = 1;
	while (i < 10)
	{
		if (i == 5)
		{
			continue;
		}
		printf("%d ", i);
		i++;
	}
	return 0;
}

这个程序的结果依旧是1,2,3,4

因为如果 i==5,就会进入if语句中,然后遇到continue,最后跳转到while语句中,因次i一直等于5一直continue,所以屏幕打印的是1,2,3,4.

2.for循环

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



循环的内容






}

实例:输出1到10的数字

int main()
{
	int i = 0;
	for (i = 1; i <=10; i++)
	{
		printf("%d ", i);
	}
	return 0;
}


for循环中continue中的应用

int main()
{
	int a;
	for (a = 1; a <= 10; a++)
	{
		if (a == 5)
		{
			continue;
		}
		printf("%d ", a);
	}

	return 0;
}

请问:这输出的是什么

为什么呢 

因为当a==5时会进入if语句执行continue,会跳转到if语句中,然后因为a++,a的值等于6了


for循环的嵌套

int main()
{
	int i = 0;
	int j = 0;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 3; j++)
		{
			printf("hehe\n");
		}
	}
	return 0;
}

执行几次hehe,一共执行9次hehe

解释

先进入第一次for循环,然后就第二次for循环,当第二次for循环结束时,一共打印了三次hehe然后跳转到第一个for循环,此时i=1,然后进入到第二层for循环,此时j=0,第二层for循环执行完,又打印了三次hehe,就这样下去,直到不满足第一层for循环退出程序

for语句中放入俩个条件

int main()
{
	int x, y;
	for (x = 0, y = 0; x < 2 && y < 5; x++,y++)
	{
		printf("hehe\n");
	}
	return 0;
}

3.do-while循环

循环执行至少一次

注意while后面加上;

先执行循环语句,然后再判断条件

int main()
{
	int i = 1;
	do
	{
		printf("%d ", i);
		i++;
	} while (i<=10);

	return 0;
}

代码运行

三.goto语句

goto label; // 跳转到指定标签

// 标签定义
label:
    // 一些代码
int main()
{
again:
	printf("袁浩展最帅\n");
	printf("袁浩展是傻鸟\n");
	printf("袁浩展是男神\n");
	goto again;
	return 0;
}

程序运行👇

结语:限于水平,本篇文章不足之处在在所难免,若有问题,请大家指正,谢谢大家!

您的支持是我前进的最大动力

;