基础C语言 学习总结<3>

 第三章

【条件结构】

[多重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");

}

 

 

 

posted @ 2016-04-21 14:37  梦之寒涯  阅读(232)  评论(0编辑  收藏  举报