顺序程序——选择、循环结构设计

选择语句

if
switch

循环语句

while
for
do while
goto语句

选择结构

如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择
用if语句实现选择结构

if语句

那if语句的语法结构是怎么样的呢?

语法结构:
if(表达式)
语句;
if(表达式)
比特科技
课堂演示代码:
语句1;
else
语句2;
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
**{ 例1}**输入两个实数,按由大到小的顺序输出这两个数

```c
#include <stdio.h>
	
int main()
{
    
    
	int a, b, c;
	scanf("%d,%d", &a, &b);
	if (a > b)
	{
    
    
		c = a;
		a = b;
		b = c;

	}
	printf("%d,%d\n",a,b);
	return 0;
}

switch语句

switch语句也是一种分支语句。 常常用于多分支的情况。
比如:
输入1,输出星期一
输入2,输出星期二
输入3,输出星期三
输入4,输出星期四
输入5,输出星期五
输入6,输出星期六
输入7,输出星期七

#include <stdio.h>
int main()
{
    
    
	char grade;
	scanf("%c", &grade);
	printf("your score:");
	switch (grade)
	{
    
    
	case 'A':
		printf( "85-100\n" );
		break;
	case 'B':
		printf("70~~85\n");
		break;
	case 'C':
		printf("60--69\n");
		break;
	case 'D':
			printf("<60\n");
			break;
	default:
		printf("enter date error\n");

	}
	return 0;
}
  1. 上面switch一般形式中括号内的表达式,其数值的类型应为整数类型(包括字符型)。
  2. switch下面的花括号内是个复合语句。包括若干个语句,语句体内包括多个以关键字case开头的语句行和最多一个以default开头的行。case后面跟着一个常量(或常数表达式),case出现的次序不影响执行结果。每一个case常量必须或不相同;否则就会出现互相矛盾的现象。case标号只起标记的作用。
  3. 一般情况下,在执行一个case子句后,应当break让流程跳出switch结构,最后一个case子句中可不必加break。

选择语句综合

判断闰年方法:

#include<stdio.h>
int main()
{
    
    
	int year;
	int leap;
	printf("enter year\n");
	scanf("%d", &year);
	if (year % 4 == 0)
	{
    
    
		if (year % 100 == 0)
		{
    
    
			if (year % 400 == 0)

				leap = 1;
			else

				leap = 0;


		}
		else
			leap = 1;
	}
	else
		leap = 0;
	if (leap)
	
		printf("%d is\n", year);
	else

		printf("%d is not\n", year);
	return 0;
}

循环语句

while
for
do while

while循环

我们已经掌握了,if语句:
当条件满足的情况下,if语句后的语句执行,否则不执行。但是这个语句只会执行一次。
但是我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。
那我们怎么做呢? C语言中给我们引入了:while语句,可以实现循环。
if(条件)
语句;
while语句执行的流程:
比如我们实现:
在屏幕上打印1-10的数字。

#include <stdio.h>
int main()
{
    
    
int i = 1;
while(i<=10)
{
    
    
printf("%d ", i);
i = i+1;
}
return 0;
}

这个代码已经帮我了解了while语句的基本语法,那我们再了解一下:
while语句中的break和continue

break介绍

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

输出结果:
1 2 3 4 5 6 7 8 9 10
1 2 3 4
**break:**其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。 所以:while中的break是用于永久终止循环的。

continue介绍

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

运行结果
2 3 4 6 7 8 9 10 11
continue
continue在while循环中的作用就是:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

for循环

我们已经知道了while循环,但是我们为什么还要一个for循环呢? 首先来看看for循环的语法:
for 语句的一般形式为:
for(表达式1;表达式2;表达式3);
语句

表达式1 表达式1为初始化部分,用于初始化循环变量的。
表达式2 表达式2为条件判断部分,用于判断循环时候终止。
表达式3 表达式3为调整部分,用于循环条件的调整。

#include <stdio.h>
int main()
{
    
    
	int i, j, n = 0;
	for (i = 1; i <= 4; i++)
		for (j = 1; j <= 5; j++, n++)
		{
    
    
			if (n % 5 == 0)
			printf("\n");
		    printf("%d\t",i * j);
		}
	printf("\n");
	return 0;
}

运行结果
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20

do while语句

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

do……while语句的特点是:先无条件地执行循环体,然后判断循环条件是否成立。
例题:用do…while求1+2+3+4.+…+100.

#include<stdio.h>
int main()
{
    
    
	int i=1, sum=0;
	do
	{
    
    
		sum = sum + i;
		i++;
	} while (i <= 100);
	printf("%d\n", sum);
	return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_44507495/article/details/109248478