• 【C语言学习】《C Primer Plus》第7章 C控制语句:分支与跳转


    学习总结

    1、if…else…从语义上看就能出用途,跟其他语言没差多少,只需要记住,世界上最遥远的距离之一:我走if你却走else。

    2、根据个人几年的编程经验,太多的if…else…嵌套会加大代码的可读性和维护难度。个人认为代码最好不要超过三层if…else…的嵌套,否则最好使用布尔值控制流程。

    3、逻辑运算符优先级:!>&&>||

    4、运行到continue语句将导致剩余的迭代部分被忽略,开始下一次迭代。continue仅用于循环,而break语句用于循环和switch中。

    5、编程题(题1):

    复制代码
     1 #include <stdio.h>
     2 
     3 int main(){
     4         int space=0,newline=0,other=0;
     5         char ch;
     6         printf("please enter something:
    ");
     7         while((ch=getchar())!='#'){
     8                 if(ch=='
    '){
     9                         newline+=1;
    10                 }else if(ch==' '){
    11                         space+=1;
    12                 }else{
    13                         other+=1;
    14                 }
    15         }
    16         printf("space is %d
    ",space);
    17         printf("newline is %d
    ",newline);
    18         printf("other is %d
    ",other);
    19         return 0;
    20 }
    复制代码

    运行结果:

    please enter something:

    hello world!

    hi nihao.

    #ABC

    space is 2

    newline is 2

    other is 19

    6、编程题(题11):

    复制代码
     1 #include <stdio.h>
     2 #define ARTICHOKE_UNIT_PRIC 1.25
     3 #define BEET_UNIT_PRICE 0.65
     4 #define CAROTA_UNIT_PRICE 0.89
     5 #define DISCOUNT 0.05 
     6 #define T_0_5 3.50
     7 #define T_5_20 10.00
     8 #define T_20_ 0.1
     9 
    10 int main(){
    11         double a,b,c,ap,bp,cp,ac,bc,cc,sc,dc,tc;
    12         ap=ARTICHOKE_UNIT_PRIC;
    13         bp=BEET_UNIT_PRICE; 
    14         cp=CAROTA_UNIT_PRICE;  
    15         printf("how many artichoke you want(pound):");
    16         scanf("%lf",&a);
    17         if(a==0)return 0;
    18 
    19         printf("how many beet you want(pound):");
    20         scanf("%lf",&b);
    21         if(b==0)return 0;
    22 
    23         printf("how many carota you want(pound):");
    24         scanf("%lf",&c);
    25         if(c==0)return 0;
    26 
    27         printf("
    ------UNIT PRICE------
    ");
    28         printf("artichoke's unit price is $%.2f(one pound) 
    ",ap);
    29         printf("beet's unit price is $%.2f(one pound)
    ",bp);
    30         printf("carota'unit price is $%.2f(one pound)
    ",cp);
    31 
    32         printf("
    ------ORDER------
    ");
    33         printf("artichoke:%.2fpound
    ",a);
    34         printf("beet:%.2fpound
    ",b);
    35         printf("carota:%.2fpound
    ",c);
    36 
    37         printf("
    artichoke is $%.2f",a*ap);
    38         printf("
    beet is $%.2f",b*bp);
    39         printf("
    carota is $%.2f
    ",c*cp);
    40         sc=a*ap+b*bp+c*cp;
    41         printf("
    total cost is $%.2f",sc);
    42         dc=sc>100?sc*DISCOUNT:0;
    43         printf("
    discount is $%.2f",dc);
    44 
    45         printf("
    total weight is %.2f",a+b+c);
    46         if(0<(a+b+c)<=5){
    47                 tc=T_0_5;
    48         }
    49         if(5<(a+b+c) && (a+b+c)<=20){
    50                 tc=T_5_20;
    51         }
    52         if((a+b+c)>20){
    53                 tc=8+(a+b+c)*0.1;
    54         }
    55         printf("
    ttransport cost is $%.2f",tc);
    56         printf("
    order cost is $%.2f
    ",sc-dc+tc);
    57 
    58         return 0;
    59 }
    复制代码

    运行结果:

    how many artichoke you want(pound):123

    how many beet you want(pound):234

    how many carota you want(pound):343

    ------UNIT PRICE------

    artichoke's unit price is $1.25(one pound)

    beet's unit price is $0.65(one pound)

    carota'unit price is $0.89(one pound)

    ------ORDER------

    artichoke:123.00pound

    beet:234.00pound

    carota:343.00pound

    artichoke is $153.75

    beet is $152.10

    carota is $305.27

    total cost is $611.12

    discount is $30.56

    total weight is 700.00

    ttransport cost is $78.00

    order cost is $658.56

  • 相关阅读:
    Yii2中多表关联查询(join、joinwith)
    Yii2.0实用功能技巧解密之——分页功能
    Yii2.0中文开发向导——RBAC(基于角色的访问控制权限)表结构原理分析
    Yii2.0源码分析之——控制器文件分析(Controller.php)创建动作、执行动作
    Yii2.0源码分析之——主题(Theme)
    Yii2.0源码分析之——YiiBase自动加载类、引用文件(autoload)
    MySQL 性能调优的10个方法
    PHP,Mysql-根据一个给定经纬度的点,进行附近地点查询–算法
    ThinkPHP3.2.3验证码显示、刷新、校验
    Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试
  • 原文地址:https://www.cnblogs.com/zhangyingai/p/7087387.html
Copyright © 2020-2023  润新知