1、单分支结构
if语句格式
if(表达式) 语句
执行描述:
其中表达式可以是任意表达式,语句可以是一条语句,也可以是复合语句,执行过程,先判断表达式是否为真,如果为真,那么执行语句,如果为假,那么跳过语句执行后面的程序。
流程图:
例题
编程实现,输入C语言课程的成绩 如果大于等于60分,则输出"成绩"。
算法设计:
1.定义一个成绩变量;
2.输入成绩;
3.如果成绩大于等于60分,则输出"成绩及格"
流程图:
语句编写:
#include<stdio.h>
int main()
{
int score;
scanf("%d",&score);
if(score>=60)
printf("C语言成绩及格\n");
return 0;
}
输入:66 运行结果:
例题2
编程实现,输入两个整数,将这两个数按照从小到大的顺序输出。
算法设计:
1.定义三个变量,其中一个用于交换;
2.输入两个整数;
3.如果第一个数大于第二个数,则交换;
4.输出两个整数;
语句编写:
#include<stdio.h>
int main()
{
int a,b,t;
scanf("%d%d",&a,&b);
if(a>b)
{
t=a;a=b;b=t;
}
printf("a=%d,b=%d\n",a,b);
return 0;
}
输入:3 2 运行结果
2、双分支结构
if...else...语句格式:
if(表达式)
语句1
else
语句2
流程图:
执行描述:
其中表达式可以是任意表达式,语句1和语句2可以是一条语句,也可以是复合语句。执行中先判断表达式是否为真,如果为真,那么执行行语句1,如果为假,那么执行语句2,语句1和语句2 只能执行其中一个。
例题
编程实现,输入一个整数,判断是奇数还是偶数。
算法设计:
1.定义一个整型变量
2.输入一个整数
3.如果该整数除2取余等于0,则输出该数是偶数,否则输出该数是奇数。
流程图:
语句编写:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n%2==0)
printf("该数是偶数\n");
else
printf("该数是奇数\n");
return 0;
}
输入:215 运行结果
例题2
编程实现:输入一个密码,判断这个密码是否正确。
算法设计:
1.定义一个整型变量
2.输入一个密码
3.如果该密码属于设定密码,则输出 "密码确定,登录成功!" 否则输出 "密码错误,无法登录!"
流程图:
语句编写:
#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);
if(a=123456)
printf("密码正确,登录成功!\n");
else
printf("密码错误,无法登录\n");
return 0;
}
输入:123456 运行结果:
3、多分支结构
语句格式
if(表达式1)
语句1
else if(表达式2)
语句2
...
else if (表达式n)
语句n
else
语句n+1
执行描述:
其中表达式可以是任意表达式,语句可以是 条语句,也可以是复合语句。执行过程:先判所
表达式1如果为真,那么执行语句1,否则判困新表达式2如果为真,那么执行语句2,…否则判断表达式n如果为真,那么执行语句n;否则执行语句n+1。语句1、语句2.….语句n和语句n+1只能执行其中一个。
流程图
例题:
编程实现,输入顾客购买商品的消费总额,输出顾客实际付款金额,某商场打折活动,具体细则如下:
(1)购买商品总额超过10000元(含10000元),打5折。
(2)购买商品总额超过8000元(含8000元),打6折。
(3)购买商品总额超过5000元(含5000元),打7折。
(4)购买商品总额超过3000元(含3000元),打8折。
(5)购买商品总额超过1000元(含1000元),打9折。
(6)购买商品总额小于1000元不打折。
算法设计:
1.定义两个实现变量
2.输入顾客购买商品的消费总额
3.利用多分支结构判断条件,执行相应语句
4.输出顾客实际付款金额
流程图
语句编写:
#include<stdio.h>
int main()
{
float Amount,ActualAmount;
scanf("%f",&Amount);
if(Amount>=10000)
ActualAmount=Amount*0.5;
else if(Amount>=8000)
ActualAmount=Amount*0.6;
else if(Amount>=5000)
ActualAmount=Amount*0.7;
else if(Amount>=3000)
ActualAmount=Amount*0.8;
else if(Amount>=1000)
ActualAmount=Amount*0.9;
else
ActualAmount=Amount;
printf("付款金额%f元\n",ActualAmount);
return 0;
}
输入:5000 运行结果
if...eles嵌套语句的格式:
if(表达式1)
if(表达式2)
语句1
else
语句2
else
if(表达式3)
语句3
else
语句4
执行描述:
其中表达式可以是任意表达式,语句可以是一条英语句,也可以是复合语句。执行过程:如果表达式1为真,继续判断表达式2如果为真,那么抉执行语句1;如果表达式1为真,表达式2为假,那么执行语句2;如果表达式1为假,继续判断表表达式3如果为真,那么执行语句3;如果表达式1为假,表达式3为假,那么执行语句4。
例题
编程实现,输入一个点的x和y的坐标,输出改点属于哪个象限。
算法设计:
1.定义两个整型变量
2.输入两个整数
3.利用嵌套语句判断横坐标和纵坐标的大小
4.输出象限
语句编写:
#include<stdio.h>
int main()
{
int x,y;
scanf("%d%d",&x,&y);
if(x>0)
if(y>0)
printf("该点属于第一象限!\n");
else
printf("该点属于第四象限!\n");
else
if(y>0)
printf("该点属于第二象限!\n");
else
printf("该点属于第三象限!\n");
return 0;
}
输入:20 –30 运行结果
switch语句的格式:
switch(表达式)
{
case 常量表达式1:语句体1;[ break; ]
case 常量表达式2:语句体2;[break; ]
......
case 常量表达式n:语句体n;[break; ] default: 语句体n+1;
}
执行描述:
先计算表达式的值,然后依次与每一个case中的常量表达式的值进行比较,若有相等的,则从该case开始依次往下执行,若没有相等的,则从de fault开始往下执行。执行过程中遇到break语句就跳出该swtich语句,否则一直按顺序继续执行行下去,也就是会执行其它case 后面的语句,直到遇到“}”符号才停止。
例题
编程实现,输入考试成绩,其中90-100分属于A级别,80-89分属于B级别,70-79分属 于C级别,60-69分属于
D级别,低于60分属于E级别,将成绩转化为相应五级制级别并输出。
语句编写:
#include<stdio.h>
int main()
{
int score;
scanf("%d",&score);
if (score>90 && score<=100)
printf("A\n");
else if (score>80 && score<=89)
printf("B\n");
else if (score>70 && score<=79)
printf("C\n");
else if (score>60 && score<=69)
printf("D\n");
else if (score>0 && score<=60)
printf("E\n");
else
printf("错误输入!\n");
return 0;
}
输入:66 运行结果:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。