文章目录
选择分支结构
if选择结构
基本格式:
if(表达式1)
语句1;
功能:如果表达式1为真,就执行下面的语句1;如果表达式为假,就不执行后面的语句
if…else…选择结构
基本格式:
if(表达式1)
语句1;
else
语句2;
功能:如果表达式1为真,就执行if后面的语句1;如果表达式1为假,就执行else 后面的语句2
if…else if…else 嵌套选择结构
基本格式:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
- 例:从键盘输入一个学员的成绩:0-100,整数。
- 分数90-100:优秀;分数80-89:良好;分数60-79:合格;分数0-59:不合格
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
//从键盘输入一个学员的成绩:0~100,整数。
//分数90~100:优秀;分数80~89:良好;分数60~79:合格;分数0~59:不合格
int grade;
printf("请输入成绩:");
scanf("%d", &grade);
if (90 <= grade && grade <= 100)
printf("成绩优秀\n");
else if (80 <= grade && grade < 90)
printf("成绩良好\n");
else if (60 <= grade && grade < 80)
printf("成绩合格\n");
else
printf("成绩不合格\n");
}
- 运行结果
switch多分支结构
基本格式:
switch(判断条件) //判断条件(表达式)需要是整型或字符型
{
case 常量1: 语句1; break; //常量1:只能是常量或者表达式,必须是整型或者字符型
case 常量2: 语句2; break; 、、breadk;直接结束所在的这个switch结构
……
case 常量 n: 语句n; break;
default: 语句n+1;
}
执行流程:
判断条件的值与哪个case后的常量相等就执行对应case后的语句;
若与所有值都不相等,则执行default
- 例1:使有break的情况
- 例2:没有使用break
- 例3:从键盘输入一个学员的成绩:0-100,整数。
- 分数90-100:优秀;分数80-89:良好;分数60-79:合格;分数0-59:不合格
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int grade;
printf("请输入成绩:");
scanf("%d", &grade);
switch (grade / 10)
{
case 10:
case 9: printf("成绩优秀\n"); break;
case 8: printf("成绩良好\n"); break;
case 7:
case 6: printf("成绩合格\n"); break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0: printf("成绩不及格\n"); break;
}
return 0;
}
运行结果
循环结构
for 循环
基本格式 :
for(表达式1;表达式2;表达式3)
{
循环体 ;
}
表达式的含义:
表达式1:初始化语句,只有开始循环时才执行一次;
表达式2:循环继续的条件;
表达式3:循环条件的改变;
注意:表达式之间的分隔符;不能少。
- 例:打印九九乘法表
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%dx%d=%d\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
运行结果
while 循环
基本格式 :
while (判断表达式)
{
循环体 ;
}
循环执行流程:
判断表达式的值,若为真则执行循环体,否则结束循环。
do … while 循环
基本格式 :
do
{
循环体 ;
} while (表达式) ;
循环的执行流程:
先执行一次循环体,然后再判断表达式的值;
表达式的值为真则继续执行循环体,否则结束循环。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a = 5;
do
{
printf("%d\n", a);
} while (a--);
return 0;
//1、a--表达式值是5 a=4
//2、a--表达式值是4 a=3
//3、a--表达式值是3 a=2
//4、a--表达式值是2 a=1
//5、a--表达式值是1 a=0
//6、a--表达式值是0 a=-1
}
跳转语句
-
break语句:跳出所在循环,接着执行循环体下面的语句
-
continue语句:提前结束本次循环,接着执行下一次循环
-
goto跳转:少用,避免滥用