• 计算表达式


    在线C环境:https://clin.icourse163.org/

     

    1.表达式计算

    • ⼀个表达式是⼀系列运算符和算⼦的组合, ⽤来计算⼀个值
    • amount = x * (1+0.033) * (1+0.033) * (1+0.033);
    • total = 57;
    • count  = count +1 ;

    2.运算符

    • 运算符(operator)是指进⾏运算的动 作,⽐如加法运算符“+”,减法运算符 “-”。
    • 算⼦(operand)是指参与运算的值,这 个值可能是常数,也可能是变量,还可能 是⼀个⽅法的返回值

    2.1

    • int sides = 4;
    • sides = 7;
    • sides = sides +5;  算子

    3. 计算

    • result = 12 + 6 / 2;
    • result = (12 + 6) / 2;
    • result = 4 * ((12 – 4) / 2);

    4. 计算时间差

    输⼊两个时间,每个时间分别输⼊⼩时和 分钟的值,然后输出两个时间之间的差, 也以⼏⼩时⼏分表⽰

    #include <stdio.h>
    
    int main() {
        
       int hour1, minute1;
       int hour2, minute2;
       
       scanf("%d %d",&hour1, &minute1);
       scanf("%d %d",&hour2, &minute2);
       
       int t1 = hour1*60 + minute1;
       int t2 = hour2*60 + minute2;
       
       int t = t2 - t1;
       
       printf("时间差是%d小时%d", t/60, t%60);
       
        return 0;
    }
    • hour1*60+minute1---》转换为分钟为单位
    • t/60----->小时的部分;t%60---->分钟

    5. 求平均值

    #include <stdio.h>
    
    int main() {
     
        int a,b;
        
        scanf("%d %d",&a,&b);
        
        double c=(a + b)/2.0;
        
        printf("%d和%d的平均值=%f\n",a,b,c);
           
        return 0;
    }

    6.运算符优先级

    7. 单目运算符

    只有⼀个算⼦的运算符:+、-

    8. 赋值运算符

    1. 赋值也是运算,也有结果
    2. a=6的结果是a被赋予的值,也就是6
    3. a=b=6 —> a=(b=6)

    9. “嵌⼊式赋值”

    int a = 6;

    int b;

    int c = 1+ (b=a);

    • 不利于阅读
    • 容易产生错误

    10. 结合关系

    result = a = b = 3 + c;

    result = 2;

    result = (result = result * 2) * 6 * (result = 3 + result);

    这样的表达式太复杂,不容易阅读和理解,容易造成读程序时的误解。所以,要避免写出这样的复杂表达式来的。这个表达式应该被拆成诺干个表达式,然后以明显的正确的顺序来进行计算。

    11. 计算复利

    • 在银⾏存定期的时候,可以选择到期后⾃ 动转存,并将到期的利息计⼊本⾦合并转 存。如果1年期的定期利率是3.3%,那么 连续⾃动转存3年后,最初存⼊的x元定期 会得到多少本息余额?
    • 本息合计 = x(1+3.3%)^3
    #include <stdio.h>
    
    int main() {
     
        int x;
        
        scanf("%d",&x);
        
        double amount = x * (1 + 0.033) * (1 + 0.033) * (1 + 0.033);
        
        printf("%f", amount);
           
        return 0;
    }

    要计算任意年以后的本息金额,就需要做(1+0.033)^n的计算

    #include <stdio.h>
    
    int main() {
     
           int year,i;
        double money,total=0,rate=0.033;
    
        printf("请输入您的本金:\n");
        scanf("%lf",&money);
    
        printf("请输入您要存的年数:\n");
        scanf("%d",&year);
    
        for(i=1;i<=year;i++)
        {
            total=(1+rate)*money;  //该年的本息和
            money=total;            //下年的本金换算成本年的本息和
        }
    
        printf("%d年后,你的本息和为%f。\n",year,total);
    
        return 0;
    }
    
    
    
    /*
    这是一个计算复利的程序
    
    变量
     本金money
     每年利率rate
     多少年year
     多少年后的本息合计total
    
    初始化rate=0.033
    输入本金数
    将其存入money
    循环
    
    */

    12.交换两个变量

    如果已经有

    int a = 6;

    int b = 5;

    如何交换a、b两个变量的值?

    程序是按步执⾏的

    程序表达的是顺序执⾏的动作,⽽不是关系a=b; b=a;,是依次执⾏的,结果使得a和b都得到b原来的值

    交换

    int t = a;

    a = b;

    b = t;

    13.复合赋值

    • 5个算术运算符,+ - * / %,可以和赋值运 算符“=”结合起来,形成复合赋值运算符 :“+=”、“-=”、“*=”、“/=”和“%=”
    1. total += 5;
    2. total = total + 5;
    • 注意两个运算符中间不要有空格

    复合赋值

    • total += (sum+100)/2;
    1. total = total + (sum+100)/2;
    • total * = sum+12;
    1. total = total*(sum+12);
    • total /= 12+6;
    1. total = total / (12+6);

    14.递增递减运算符

    “++”和“--”是两个很特殊的运算符,它们 是单⺫运算符,这个算⼦还必须是变量。 这两个运算符分别叫做递增和递减运算符, 他们的作⽤就是给这个变量+1或者-1。

    count++;

    count += 1;

    count = count + 1;

    前缀后缀

    ++和--可以放在变量的前⾯,叫做前缀形 式,也可以放在变量的后⾯,叫做后缀形 式。

     a++的值是a加1以前的值,⽽++a的值是加 了1以后的值,⽆论哪个,a⾃⼰的值都加 了1了。

     ++--

    • 这两个运算符有其历史来源
    • 可以单独使⽤,但是不要组合进表达式
    1. ++i++ -->?
    2. i++++ —>?
    • a = b+=c++-d+--e/-f
  • 相关阅读:
    virtualbox+vagrant学习-2(command cli)-9-vagrant Plugin命令
    virtualbox+vagrant学习-2(command cli)-15-vagrant resume命令
    virtualbox+vagrant学习-2(command cli)-14-vagrant reload命令
    virtualbox+vagrant学习-2(command cli)-12-vagrant Provision命令
    virtualbox+vagrant学习-2(command cli)-11-vagrant PowerShell命令
    java设计模式之单例
    java设计模式之策略
    java设计模式之组合
    设计模式之适配器
    java设计模式之模板方法
  • 原文地址:https://www.cnblogs.com/hechunfeng/p/15643963.html
Copyright © 2020-2023  润新知