第三章
【条件结构】
[多重if结构]
[嵌套if结构]
if(A>20&&B>20){
if(A>B){
printf("%c>%c\n",A,B);
}if(A<B){
printf("%c<%c\n",A,B);
}if(A==B){
printf("%c=%c\n",A,B);
}
}else{
printf("无结果");
}
简易计算器:
float a,b;
char c;
printf("输入:");
scanf("%f%c%f",&a,&c,&b);
if(c==‘*‘)
{
printf("输出:%.2f",a*b);
}else if(c==‘/‘)
{
printf("输出:%.2f",a/b);
}else if(c==‘+‘)
{
printf("输出:%.2f",a+b);
}else if(c==‘-‘)
{
printf("输出:%.2f",a-b);
}else{
printf("无结果");
}
[switch结构]:(1)专门用来判断等于的结构,所以switch后面的()中必须是能够算出具体答案的表达式,并用这个答案逐一对比每一个case项是否相等
(2) switch结构中的每一个case项后面的常量必须唯一,各不相同,
(3),break作用:跳出当前switch结构。。
》》》》》如果缺少break的话:会导致当前switch结构的执行顺序,从正确的case开始,后面的所有代码全部执行
(4) 在switch结构中,表达式的值,只会判断一次,当遇到正确的case项之后,便不再判断
(5) 每个case后面可以有多条语句,可以不用{}括起来,但是当case项后面有变量声明的时候必须要用{}。
switch(表达式){
case 1:
printf("");
break;
case 2:{
int m=5;
printf("");
break;}//(跳出switch结构)(5)****
default:
printf("");
break;
}
简易计算器:用switch是把+-*/分辨给case
用if else是给变量
int a,b;
char c;
printf("输入:");
scanf("%d%c%d",&a,&c,&b);
switch(c){
case ‘+‘:
printf("%d",a+b);
break;
case ‘-‘:
printf("%d",a-b);
break;
case ‘*‘:
printf("%d",a*b);
break;
case ‘/‘:
printf("%d",a/b);
break;
default:
printf("输入无效\n");
break;
}
2)季度区分:(1)
int a;
printf("输入一个月份:");
scanf("%d",&a);
switch((n+1)/3){
case 0:
printf("第一季度");
break;
case 1:
printf("第二季度");
break;
case 2:
printf("第三季度");
break;
case 3:
printf("第四季度");
break;
default:
printf("输出无效");
break;
}
(2) int a;
printf("输入一个月份:");
scanf("%d",&a);
switch(a){
case 1:
case 2:
case 3:
printf("第一季度");
break;
case 4:
case 5:
case 6:
printf("第二季度");
break;
case 7:
case 8:
case 9:
printf("第三季度");
break;
case 10:
case 11:
case 12:
printf("第四季度");
break;
default:
printf("输出无效");
break;
}
显示星期几,而且是不是工作日:
int a;
printf("输入一个星期数:");
scanf("%d",&a);
switch (a){
case 0:
printf("星期日,非工作日");
break;
case 1:
printf("星期一,工作日");
break;
case 2:
printf("星期二,工作日");
break;
case 3:
printf("星期三,工作日");
break;
case 4:
printf("星期四,工作日");
break;
case 5:
printf("星期五,工作日");
break;
case 6:
printf("星期六,非工作日");
break;
default:
printf("无效");
break;
}
【为什么要进行程序调试】
目的:找出问题,修正
, 表达式
int a=2,b=0,c;
c=(++a,a*=2,b=a*5);
printf("%d",c);
给一个月份 判断这个月多少天
// int n,y;
// printf("输入一个年月:");
// scanf("%d %d",&n,&y);
// if(y>=1&&y<=12)
// {
// if((n%4==0&&n%100!=0)||n%400==0){
// if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){
// printf("该月月数为30天");
// }else if(y!=2){
// printf("该月月数为31天");
// }else if(y==2){
// printf("该月月数为29天");
// }
// }
// else {
// if(y==1||y==3||y==5||y==7||y==8||y==10||y==12){
// printf("该月月数为30天");
// }else{
// printf("该月月数为31天");
// }
// }
// }else{
// printf("无效");
// }给一个日期,判断是今年的第多少天:
int n,y,r,sum;
printf("输入一个日期:");
scanf("%d %d %d",&n,&y,&r);
switch(y){
case 1:
sum=0;
break;
case 2:
sum=31;
break;
case 3:
sum=31+28;
break;
case 4:
sum=31+28+31;
break;
case 5:
sum=31+28+31+30;
break;
case 6:
sum=31+28+31+30+31;
break;
case 7:
sum=31+28+31+30+31+30;
break;
case 8:
sum=31+28+31+30+31+30+31;
break;
case 9:
sum=31+28+31+30+31+30+31+31;
break;
case 10:
sum=31+28+31+30+31+30+31+31+30;
break;
case 11:
sum=31+28+31+30+31+30+31+31+30+31;
break;
case 12:
sum=31+28+31+30+31+30+31+31+30+31+30;
break;
default:
{printf("输出有误");
return 0;
}
}
if(((n%4==0&&n%100!=0)||n%400==0)&&y>2)
{ sum=sum+r+1;
printf("第%d天",sum);
}else{
sum=sum+r;
printf("第%d天",sum);
}
return 0;
}
输入三个数 判断大小:
// float x,y,z;
// printf("输入三个数:");
// scanf("%f %f %f",&x,&y,&z);
// if(x>y&&y>z){
// printf("%f,%f,%f",x,y,z);
// }if(x>z&&z>y){
// printf("%f,%f,%f",x,z,y);
// }if(z>x&&x>y){
// printf("%f,%f,%f",z,x,y);
// }if(z>y&&y>x){
// printf("%f,%f,%f",z,y,x);
// }if(y>x&&x>z){
// printf("%f,%f,%f",y,x,z);
// }if(y>z&&z>x){
// printf("%f,%f,%f",y,z,x);
// }
登录系统:
int a,b;
printf("1,登录系统\n2,退出\n请选择");
scanf("%d",&a);
if(a==1){
printf("请输入密码:");
scanf("%d",&b);
}else if(a==2){
printf("谢谢使用\n");
}else{
printf("输入错误\n");
}
switch(b){
case 1111:
printf("主菜单\n1,客户信息管理\n2,购物结算\n3,真情回馈\n4,注销");
break;
default:
break;
}
/*
购物管理系统
*/
printf("1、登录系统\n");
printf("2、退出系统\n");
printf("请选择序号:");
int no;
scanf("%d",&no);
if (no==1) {
printf("\n***********系统登录**********\n");
printf("请输入账号:");
int num,pwd;
scanf("%d",&num);
printf("请输入密码:");
scanf("%d",&pwd);
if(num==111&&pwd==111){
printf("登录成功!请选择操作:\n");
printf("1、\n");
printf("2、\n");
printf("3、\n");
printf("4、\n");
printf("请输入序号:");
int no1;
scanf("%d",&no1);
switch (no1) {
case 1:
printf("执行第1项!\n");
break;
case 2:
printf("执行第2项!\n");
break;
case 3:
printf("执行第3项!\n");
break;
case 4:
printf("执行第5项!\n");
break;
default:
printf("输入有误!\n");
break;
}
}else{
printf("账号密码有误!系统自动退出!\n");
}
} else if(no==2){
printf("退出系统成功!感谢您的使用!\n");
} else{
printf("输入有误!一边玩去!\n");
}