选择语句
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;
}
- 上面switch一般形式中括号内的表达式,其数值的类型应为整数类型(包括字符型)。
- switch下面的花括号内是个复合语句。包括若干个语句,语句体内包括多个以关键字case开头的语句行和最多一个以default开头的行。case后面跟着一个常量(或常数表达式),case出现的次序不影响执行结果。每一个case常量必须或不相同;否则就会出现互相矛盾的现象。case标号只起标记的作用。
- 一般情况下,在执行一个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;
}