zoukankan      html  css  js  c++  java
  • c5

    //
    //  main.c
    //  Switch练习2
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        // 从键盘输入一个月份,输出对应季节 12~2 冬季 3~5 春季 6~ 8 夏季 9~11 秋季(用switch)
        printf("请输入一个1~12的月份, 以回车结束
    ");
        int number = -1;
        scanf("%i", &number);
        switch (number) {
            case 12:
            case 1:
            case 2:
                printf("冬季");
                break;
            case 3:
            case 4:
            case 5:
                printf("春季");
                break;
            case 6:
            case 7:
            case 8:
                printf("夏季");
                break;
            case 9:
            case 10:
            case 11:
                printf("秋季");
                break;
            default:
                printf("USB
    ");
                break;
        }
         
        
        // 做一个计算器
        // 1.提示用户输入一个值
        printf("请输入第一个数
    ");
        // 2.定义变量接收用户输入的值
        int number1 = -1;
        // 3.接收用户输入的值
        scanf("%i", &number1);// 10 
    
        
        char temp;
        scanf("%c", &temp);
    //    getchar(); // 专门用来获取字符, 会从输入缓冲区中获取字符
        
        // 4.提示用户输入一个操作符号
        printf("请输入你要进行的运算符 + - * / 
    ");
        // 5.定义变量接收用户输入的操作符号
        char op;
        // 6.接收用户输入的操作符号
        scanf("%c", &op); // 会有问题
        
        // 7.提示用户再输入一个值
        printf("请输入第二个数
    ");
        // 8.定义变量接收用户输入的值
        int number2 = -1;
        // 9.接收用户输入的值
        scanf("%i", &number2);
        
        // 10.根据用户的输入计算结果
        // 10.1判断用户输入的到底是什么操作符, 然后进行对应的计算
        int result = -1;
        switch (op) {
            case '+':
                result = number1 + number2;
                break;
            case '-':
                result = number1 - number2;
                break;
            case '*':
                result = number1 * number2;
                break;
            case '/':
                result = number1 / number2;
                break;
                
            default:
                
                break;
        }
        // 11.输出结果
        printf("result = %i
    ", result);
        return 0;
    }
    //
    //  main.c
    //  Switch注意点
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
    
        
        // 1.Switch得条件表达式注意点
        // Switch的条件表达式必须是返回整数的表达式, 也就是说()中只能放整数
        // 或者写能够转换为整数的类型也可以, 例如char, 因为char类型可以转换为int类型, 所以写char也可以
        switch ('A') {
            case 6:
                printf("6");
                break;
            case 8:
                printf("8");
                break;
            default:
                printf("other");
                break;
        }
        
       
        
        // 2.case的取值
        // Switch中, case后面只能放返回值是整数的表达式或者整数, 或者能够转换为整数的类型
        // case的取值不能重复
        // case后面不能放变量, 因为系统在编译的时候会对Switch后面所有的case进行优化, 会根据case后面的常量值, 生成一张取值表
        int number = 7;
        switch (6) {
            case 3 + 3:
                printf("6");
                break;
            case 'A':
                printf("8");
                break;
            case number:
                printf("8");
                break;
            default:
                printf("other");
                break;
        }
        
        // default的位置问题
        // Switch中的default可以随便放
        // 无聊default写到什么地方, 它都会最后执行(只有前面所有的case都不满足的情况才会执行)
        // 只要某一个case满足, 那么后面所有的case和default都会失效
        // 同理: 只要default满足, 那么所有的case都会失效
        switch (20) {
            default:
                printf("other
    ");
    //            break;
            case 6:
                printf("6");
                break;
            case 8:
                printf("8");
                break;
        }
        return 0;
    }
    //
    //  main.c
    //  while循环
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    /*
     if (条件表达式)
     {
        语句;
        ...
     }
     if是对给定的条件进行判断, 如果条件满足, 就执行if后面大括号中的内容
     
     while (条件表达式)
     {
         语句;
         ...
     }
     while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容, 直到条件表达式不满足位置
     术语: while后面大括号中的内容, 称之为 循环体
     
     while的应用场景: 当我们需要反复的执行某一段代码的时候就可以使用while
     */
    int main(int argc, const char * argv[]) {
        
        /*
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        printf("发射子弹
    ");
        */
        
        // 0.先将while的格式写好
        // 1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中
        // 2.确定结束条件(确定条件表达式)
        
        int count = 100;
        while (count > 0) {
            printf("发射子弹 %i
    ", count);
    //        count = count - 1;
    //        count -= 1;
            count--;
        }
        // 注意点: 和if一样, 如果条件表达式一开始就不满足, 那么循环体就不会被执行
        return 0;
    }
    //
    //  main.c
    //  while练习1
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        // 提示用户输入一个正整数n, 计算1 + 2 + 3 + ...n的和
        // 1.写代码之前应该先分析需求, 分析完需求再开始写代码
        // 2.一般情况下, 在做企业级开发时, 不会直接实现复杂的功能, 而且先实现一个简化的功能
        /*
           1 + 2 + 3 + 4 + 5
       0 + 1
    (0 + 1)1 + 2
        (1 + 2)3 + 3
            (3 + 3)6 + 4
                (6 + 4)10 + 5
         规律 : 每一次都是用上一次的和加上一个数, 而且加上的这个数是一个递增的数
         */
        /*
        // 1.定义变量保存上一次的和
        int sum = 0;
        // 2.定义变量保存递增的数
        int count = 1;
         */
        /*
        // 3.计算
        //    0 + 1
        sum = sum + count;
        count++;
        //     1 +  2
        sum = sum + count;
        count++;
        //      3 + 3
        sum = sum + count;
        count++;
        //      6 + 4
        sum = sum + count;
        count++;
        //      10 + 5
        sum = sum + count;
        count++;
         */
        /*
        // 1.先写一个while
        // 2.找到需要循环执行的代码
        // 3.确定约束条件(结束条件)
        while (count <= 5) {
            printf("%i + %i
    ", sum , count);
            sum = sum + count;
            count++;
        }
        
        printf("sum = %i
    ", sum);
         */
        /*
        // 1.提示用户输入一个整数
        printf("请输入一个整数
    ");
        // 2.定义变量保存用户输入的整数
        int number = -1;
        // 3.接收用户输入的整数
        scanf("%i", &number);
         */
        
        // 4.安全校验
        /*
        if (number <= 0) {
    //        return 0; // 结束函数
    //        break; // 注意: break只能用在switch和循环结构中, 离开这两个东西没有任何效果
        }
         */
        // 2.定义变量保存用户输入的整数
        int number = -1;
        while (number <= 0) {
            // 1.提示用户输入一个整数
            printf("请输入一个整数
    ");
            
            // 3.接收用户输入的整数
            scanf("%i", &number);// -5 -10 5
        }
        
        // 4.根据用户输入的整数计算结果
        // 1 + 2 + 3 +.. +n, 规律, 用上一次的和加上一个递增的数
        // 1.先写一个while
        // 2.找到需要循环执行的代码
        // 3.确定约束条件(结束条件)
        int sum = 0;
        int count = 1;
        while (count <= number) {
    //        int sum = 0; // 注意, 不能写到这个地方, 因为写到这里是一个局部变量, 作用域是从定义的这一行开始, 一直到循环体结束, 每次进来都会重新定义一个
    //        int count = 1;
            
            printf("%i + %i
    ", sum , count);
            // 思想: 累加思想, 通过循环来进行累加
            sum = sum + count;
            count++;
        }
        printf("sum = %i
    ", sum);
        
        
        printf("other");
        return 0;
    }
    //
    //  main.c
    //  while练习2
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, const char * argv[]) {
        // 获取1~100之间 7的倍数的个数并打印,并统计个数
        // 1.分析
        
        // 1.获取0~100之间所有的数
        // 2.判断当前拿到的数是否是7的倍数, 没有余数
        // 3.定义变量保存7的倍数的个数(每次只要发现当前的数是7的倍数就加1)
        
        // 修改变量名称的快捷键 command + control + e
        int number = 0;
        int count = 0;
        while (number <= 20) {
            printf("%i
    ", number);
            if (number % 7 == 0) {
                // 证明当前的数是7的倍数
                count++;// 计数器思想, 如果以后开发中项获取什么中有多少个什么, 第一个时间就要想到计数器思想
                printf("7的倍数是 %i
    ", number);
            }
            number++;
        }
        printf("sum = %i
    ", count);
        return 0;
    }
    
    void call()
    {
        int count = 0;
    }
    //
    //  main.c
    //  Switch练习
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
       
        // 要求用户输入一个数, 如果用户输入的数大于100, 那么就输出牛逼
        // 1.提示用户输入一个整数
        printf("请输入一个整数, 以回车结束
    ");
        // 2.定义变量保持用户输入的分数
        int number = -1;
        // 3.接收用户输入的值
        scanf("%i", &number);
        // 4.根据用户输入的值输出结果
        
        if (number > 100) {
            printf("NX");
        }
        
        
        switch (number) {
            case 101:
                printf("NX");
                break;
            default:
                break;
        }
        
        /*
         什么时候用switch, 什么时候用if
         在开发中一般情况下用if, if比较灵活
         如果说是对一些固定的值进行判断, 并且这些值得数量不多的情况, 可以使用switch
         从理论上来说, switch的性能效率比if高
         */
        return 0;
    }
    
    void test()
    {
        /*
         要求用户输入一个分数,根据输入的分数输出对应的等级
         A 90~100 // 90/10 = 9 99/10 = 9 98/10 = 9   9|10 == A
         B 80~89 // 8
         C 70~79 // 7
         D 60~69 // 6
         E 0~59 //
         */
        // 1.第一种实现方式 if
        // 1.提示用户输入一个分数
        printf("请输入一个0~100的分数, 以回车结束
    ");
        // 2.定义变量保持用户输入的分数
        int score = -1;
        // 3.接收用户输入的值
        scanf("%i", &score);
        // 4.根据用户输入的值输出对应的结果
        
         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
         {
            printf("E
    ");
         }
        
        
         if (score < 0 || score > 100) {
            printf("youtube
    ");
         }else if (score >= 90 && score <= 100) { // 70
            printf("A
    ");
         }else if (score >= 80)
         {
            printf("B
    ");
         }else if (score >= 70)
         {
            printf("C
    ");
         }else if (score >= 60)
         {
            printf("D
    ");
         }else
         {
            printf("E
    ");
         }
         
        
         // 2.第二种实现方式 switch
         switch (score/10) {
         case 10:
         //            printf("A
    ");
         //            break;
         case 9:
            printf("A
    ");
            break;
         case 8:
            printf("B
    ");
            break;
         case 7:
             printf("C
    ");
             break;
         case 6:
             printf("D
    ");
         default:
             printf("E
    ");
             break;
         }
        
    }
    //
    //  main.c
    //  break关键字,break只会跳出一层循环,不会跳出多层循环,
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        
        // 打十发子弹之后就不打了(打不动了)
        int number = 100;
        while (number > 0) {
            
            printf("发射子弹 %i 
    ", number);
            number--;
            if (number < 90) {
                printf("不打了
    ");
                break;// break用于跳出循环
            }
        }
        return 0;
    }
    //
    //  main.c
    //  continue关键字
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        
        int number = 100;
        while (number > 0) {
            
            printf("发射子弹 %i
    ", number);
            number--;
            if (number % 10 == 0) {
                printf("休息一下
    ");
            }
    
            // 这些操作, 如果是休息就不做
            printf("还有很多复杂的操作
    ");
        }
        
    
        
        int number = 100;
        while (number > 0) {
            
            printf("发射子弹 %i
    ", number);
            number--;
            if (number % 10 == 0) {
                printf("休息一下
    ");
                continue; // 跳过本次循环, 进去下一次循环
                // 只要看到continue 那么后面的所有语句都不会执行, 会执行再次去判断条件表达式
            }
            // 这些操作, 如果是休息就不做
            printf("还有很多复杂的操作
    ");
        }
        
        
        // 把100~200之间的不能被3整除的数输出
        int number = 99;
        while (number < 200) {
            
            number++;
            // 当前输出语句, 并不是所有情况都需要输出, 只有当前获取到得数不能被3整除才输出
            // 如果当前获取到得数能被3整数, 就不执行printf语句
            if (number % 3 == 0) {
                continue;
            }
            printf("number = %i
    ", number);
            
            number++;
            if (number % 3 != 0) {
                printf("number = %i
    ", number);
            }
            
        }
    
        return 0;
    }
    //
    //  main.c
    //  dowhile
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    /*
     while (条件表达式)
     {
        语句;
        ...
     }
     
     do
     {
        语句;
        ...
     }while (条件表达式);
     
     do while和while的区别: 
     while如果条件表达式一开始就不满足, 那么循环体永远不会被执行
     
     do while如果条件表达式一开始就不满足, 同样会执行一次循环体
     也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体
     */
    int main(int argc, const char * argv[]) {
        
        int i = 0;
        while (i < 0) {
            printf("%i
    ", i);
            i++;
        }
        
        printf("------------
    ");
        
        int j = 0;
        do{
            printf("j = %i
    ", j);
            j++;
        }while (j < 0);
        
        
        // 一般情况下, 能用while就用while
        // do while一般用于校验
        
        // 2.定义变量保存用户输入的整数
        int number = -1;
        // 无论如何都需要用户输入一次数据
        
        while (number <= 0) {
            // 1.提示用户输入一个整数
            printf("请输入一个整数
    ");
            
            // 3.接收用户输入的整数
            scanf("%i", &number);// -5 -10 5
        }
        
        do {
            // 1.提示用户输入一个整数
            printf("请输入一个整数
    ");
            
            // 3.接收用户输入的整数
            scanf("%i", &number);// -5 -10 5
        } while (number <= 0);
        
        // 4.根据用户输入的整数计算结果
        int sum = 0;
        int count = 1;
        while (count <= number) {
            printf("%i + %i
    ", sum , count);
            sum = sum + count;
            count++;
        }
        printf("sum = %i
    ", sum);
        
        return 0;
    }
    //
    //  main.c
    //  for和while的对比
    //
    //  Created by xiaomage on 15/6/6.
    //  Copyright (c) 2015年 xiaomage. All rights reserved.
    //
    
    #include <stdio.h>
    
    int main(int argc, const char * argv[]) {
        
        // 什么时候用while?
        // 如果用于控制循环的增量在循环执行完毕之后还需要使用, 那么可以使用while
        int count = 100; // 用于控制循环什么时候结束
        while (count > 0) {
            printf("发射子弹 %i
    ", count);
            count--; // 控制循环的次数, 当每次循环执行完毕之后都会执行一次
        }
        printf("count = %i
    ", count);
        
        // 如果用于控制循环的增量在循环执行完毕之后不需要使用了, 那么可以使用for
        for (int number = 100; number > 0; number--) {
            printf("发射子弹%i
    ", number);
        }
        printf("number = %i
    ", number);
        
        // 其实在企业开发中, 只要会用for就可以了, while能做的for都能做
        return 0;
    }
    //
    //  main.m
    //  循环嵌套练习3
    //
    //  Created by 李南江 on 15/6/20.
    //  Copyright © 2015年 xiaomage. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[]) {
        /*
         1
         12
         123
         */
        /*
        for (int i = 0; i < 3; ++i) {
            for (int j = 0; j <= i; j++) {
                printf("%i", j + 1);
            }
            printf("
    ");
        }
         */
        
        /*
         1
         22
         333
         */
        /*
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j <= i; j++) {
                printf("%i", i + 1);
            }
            printf("
    ");
        }
         */
        
        /*
         --*
         -***
         *****
         
         --
         -
         
          *
         ***
        *****
         */
        for (int i = 0; i < 3; i++) {
            for (int j = i; j < 2; j++) {
                printf("-");
            }
            
            //                   0 * 2 = 0
            //                   1 * 2 = 2
            //                   2 * 2 = 4
            for (int n = 0; n <= i * 2; n++) {
                printf("*");
            }
            printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    深度学习一些专有名词
    面对imbalance data的时候
    关于各个loss的理解--持续更新
    关于gan的流程理解
    IIS8.0 配置应用程序初始化功能
    IIS7.5 配置应用程序初始化功能
    模拟差的网络环境
    安装Android Studio
    java.lang.NoClassDefFoundError: HttpServletRequest
    Fiddler 断点调试http请求
  • 原文地址:https://www.cnblogs.com/yaowen/p/7380359.html
Copyright © 2011-2022 走看看