第三章 流程控制
选择结构和判断语句
- c语言六种关系运算符
<小于 <=小于等于 >大于 >=大于等于 ==等于 != 不等于
-
if语句
#include<stdio.h> int main() { int data1; int data2; int datamp;//不管怎么输入数据,date1中存放的就是小数 printf("请输入两个数"); scanf("%d%d",&data1,&data2); if(data1>data2) { //交换 datamp=data1; data1=data2; data2=datamp; } printf("%d,%d\n",data1,data2); return 0; }
-
逻辑运算符
- && 逻辑与
- || 逻辑或
- !逻辑非
-
if else语句
案例:输入一个字符,判断他是否为大写字母,如果是,将他转换成小写字母;如果不是,不转换,然后输出最后得到的字符
#include<stdio.h>
int main()
{
char a;
printf("请输入一个字符");
scanf("%c",&a);
if(a>97&&a<122)
{
printf("%c\n",a);
}else
printf("%c\n",a+32);
printf("done\n");
return 0;
}
-
switch case语句
if语句只有两个分之可以选择,而实际问题中需要用到多分支的选择。而switch case语句可以直接处理多分枝选择。
注意点:
- switch(){}
- case后面要加" : "
- 最后一个case不要加break
- case连在一起写表示以上条件都可以触发下面的语句
案例
#include <stdio.h>
int main()
{
int data;
printf("请输入一个数:\n");
scanf("%d",&data);
switch(data)
{
case 1:
puts("满足了条件1的情况");
break;
case 2:
puts("满足了条件2的情况");
break;
case 3:
puts("满足了条件3的情况");
break;
default:
puts("其他非列表中的情况");
}
return 0;
}
练习
#include<stdio.h>
int main()
{
int score;
puts("请输入分数");
scanf("%d",&score);
switch(score/10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("不及格");
break;
case 6:
case 7:
printf("一般般");
break;
case 8:
case 9:
printf("优秀");
break;
case 10:
printf("等级A");
default:
printf("成绩非法,请重新输入");
}
return 0;
}
练习2:
#include<stdio.h>
int main()
{
int sales;
int distance;
int price;
int weight;
puts("请输入路程");
scanf("%d",&distance);
if(distance<250)
{
sales = 0;
}else if(distance>=250&&distance<500)
{
sales = 2;
}else if(distance>=500&&distance<1000)
{
sales = 5;
}else if(distance>=1000&&distance<2000)
{
sales = 8;
}else if(distance>=2000&&distance<3000)
{
sales = 10;
}else{
sales = 15;
}
printf("折扣是%。2f\n",(float)sales/100);
return 0;
}
作业:
#include<stdio.h>
int main()
{
int x,y;
puts("请输入x的值");
scanf("%d",&x);
if(x<1)
{
y=x;
}else if(x>=1&&x<10)
{
y=2*x-1;
}else if(x>=10)
{
y=3*x-11;
}
printf("y=%d",y);
return 0;
}
2.
给出一百分制成绩,要求输出成绩等级'A’、'B'、 'C'、'D'、'E' 。
并且要判断,输入的是否是一百以内的数
90 分以上为''A”,80~89 分为'B',70~79 分为'C',60~69 分为'D',60 分以下为'E'。
#include<stdio.h>
int main()
{
/*给出一百分制成绩,要求输出成绩等级'A’、'B'、 'C'、'D'、'E' 。
并且要判断,输入的是否是一百以内的数
90 分以上为''A”,80~89 分为'B',70~79 分为'C',60~69 分为'D',60 分以下为'E'。*/
int score;
puts("给出一个成绩:");
scanf("%d",&score);
if(score>=90&&score<=100)
{
printf("等级为A");
}else if(score>=80&&score<=89)
{
printf("等级为B");
}else if(score>=70&&score<=79)
{
printf("等级为c");
}else if(score>=60&&score<=69)
{
printf("等级为D");
}else if(score<60&&score>=0)
{
printf("等级为E");
}else
printf("请输入正确格式");
return 0;
}