1.结构化编程
可以让程序变得更加灵活
可以让程序选择性执行
可以让程序循环执行
可以让程序跳转或者提前结束
2.结构化编程分类(功能)9条
顺序结构-----------程序执行的顺序和规则
没有具体的控制语句
选择结构-----------程序根据条件选择性执行
if else switch case
循环结构-----------程序循环多次执行
for while do-while
跳转语句-----------程序提前结束或发生跳转
break continue goto return
3.如何学习这九条语句
①根据他的结构功能分类讲解-----逐条语句讲解
②语句之间的比较
③结构之间的比较-----选择结构和循环结构体
④混合,嵌套使用-----自己的思路
===========================================================
1顺序结构----------程序的整体执行顺序
没有语句的,他只是程序的执行顺序
执行顺序: 从上到下执行
C语言中一定要上一条语句执行完之后才能执行下一条语句
例子:
printf("我是老大\n");
printf("我是老二\n");
printf("我是老三\n");
printf("我是老四\n");
printf("我是老五\n");
总结:
程序都是从上往下执行,必须逐条执行(执行完上一条才能执行下一跳)
================================================
2选择结构----------程序根据条件选择性的执行
if-else switch-case
让程序根据条件有选择的去执行
(满足条件就执行相应的程序,不满足就执行其他的程序)
if-else 有三种形式
①第一种形式:
if: 格式:
if(表达式) //常量,变量,运算符和操作数的组合
{
语句块;
}
原理: 先计算出表达式的值,判断真假(非零即真)
如果表达式的值为真,则执行语句块
如果表达式的值为假,则不再执行语句块,程序继续往下运行
例子:
int a = 10;
a++;
if(a = 20)
{
printf("条件成立\n");
}
printf("a:%d\n",a);
使用场景: 如果条件满足就执行相应程序,不满足就不做任何处理
②第二种形式
if else 格式:
if(表达式)
{
语句块1;
}
else
{
语句块2;
}
原理: 先计算表达式的值,并判断真假,
如果为真,则执行语句块1,不在执行语句块2的内容,
if else 语句结束,程序继续往下运行
如果为假,则执行语句块2,不在执行语句块1的内容
if else 语句结束,程序继续往下运行
使用场景: 某事件有两种情况,满足条件就执行情况1,
并不满足就执行情况2 二选1
练习: 需求: 提示用户输入密码,判断输入的密码是否正确
正确就提示正在进入系统...
错误就提示密码错误,请重新输入
分析:
输入:scanf函数
输出:printf函数
二选一 if else
思路:
//提示用户输入一个六位数密码
//scanf输入
//判断输入的密码是否和原始密码一致
//如果一致
{
//打印正在进入系统...
}
//否则
{
//打印密码错误,请重新输入
}
#include "stdio.h"
int main(void)
{
int password;
int sys_password = 888888;
//提示用户输入一个六位数
printf("请输入一个六位数密码:");
//scanf输入
scanf("%d",&password);
if(password == sys_password)
{
printf("正在进入系统......\n");
}
else
{
printf("密码错误请重新输入??\n");
}
reurn 0;
}
思考:
0~59 不及格
60~80 良好
81~100 优秀
③第三种形式
if else if //多种情况选择其中的一种执行
格式:
if(表达式1)
{
语句块1;
}
else if(表达式2)
{
语句块2;
}
else if(表达式3)
{
语句块3;
}
.
.
.
else if(表达式n)
{
语句块n;
}
else
{
语句块n+1;
}
注意: 表达式后面不加分号
else 后面也不加分号
原理:
先计算表达式x的值(x从1开始),判断真假
如果为真,就执行语句块x,其他语句就不再执行,
if-else if 语句整体结束,程序继续往下运行
如果为假,则计算表达式x+1的值,并判断真假,
如果表达式都为假,则执行语句块n+1,else可以省略不写
使用场景: 多种情况选择其中的一种执行,多选一
练习:
需求:
输入员工成绩;根据成绩判断等级
0 ~ 59 不及格
60~ 80 良好
81~100 优秀
其他 输入格式有误重新输入
分析:
多种情况选择其中一种
if else if
思路:
//提示用户输入员工成绩
//scanf函数输入
//如果(0~59)
{
//打印成绩不及格
}
//如果(60`80)
{
//打印成绩良好
}
//如果(81~100)
{
//打印成绩优秀
}
//否则
{
//打印输入成绩格式有误,请重新输入
}
#include "stdio.h"
int main(void)
{
short score;
//提示用户输入员工成绩
printf("请输入员工的成绩:\n");
//scanf输入
scanf("%d",&score);
if(score >=0 && score <= 59)
{
printf("该员工成绩不及格\n");
}
else if(score >= 60 && score <=80)
{
printf("该员工成绩良好\n");
}
else if(score >= 81 && score <= 100)
{
printf("该员工成绩优秀\n");
}
else
{
printf("该员工成绩不在0-100范围和输入错误,请重新操作\n");
}
}
需求改进:
输入员工的基本工资
输入考核成绩(0~100)
0~59 不及格
60~80 良好
81~100 优秀
其他数据 输入有错误
不及格 扣工资 300元;
良好 奖励 500元;
优秀 奖励 800元;如果100分;另外再加200元;
查看此员工最后的工资是多少?
分析:
多种情况执行其中的一种
if else-if
思路:
//提示用户输入员工基本工资
//用scanf输入
//提示用户输入员工成绩
//用scanf输入
//如果(0~59)
{
//打印成绩不及格
//基本工资-300
//打印员工工资
}
//如果(60~80)
{
//打印成绩良好
//基本工资+500
//打印员工工资
}
//如果(81~100)
{
//打印成绩优秀
//基本工资+800
//判断成绩是否为100
if()
{
//工资+200
}
//打印员工工资
}
#include "stdio.h"
int main(void)
{
short score;
int money;
printf("请输入员工的工资:\n");
//scanf输入
scanf("%d",&money);
//提示用户输入员工成绩
printf("请输入员工的成绩:\n");
//scanf输入
scanf("%d",&score);
if(score >=0 && score <= 59)
{
money -= 300;
printf("该员工成绩不及格\n");
}
else if(score >= 60 && score <=80)
{
printf("该员工成绩良好\n");
money += 500;
}
else if(score >= 81 && score <= 100)
{
printf("该员工成绩优秀\n");
money += 800;
if(score == 100)
{
money += 200;
}
}
else
{
printf("该员工成绩不在0-100范围和输入错误,请重新操作\n");
}
printf("该员工的工资为:%d\n",&money);
}
结构化编程---九条控制语句之一
最新推荐文章于 2024-07-21 22:46:16 发布