算术运算与赋值运算

算数运算

  1. 表达式
    就是一个值,或”右值”。可以放在等号右侧。
    printf(“%d, %d \n”, a, a+b)
    其中a, a+b都是表达式
    #include<stdio.h>
    int main()
    {
         int a=1;
         int b=2;
         printf("%d,%d\n", a, a+b);
         return 0;
    }
     (运行输出结果为:1, 3)
    (1)算术表达式:变量与常量用+, -, *, /, %组合起来的式子
        例:a+b;(加法)
           a-b;(减法)
           a*b;(乘法)
           a/b;(除法)
           a%b;(模除:取余数,例:5%3=2     且只能用于整数,不可用小数代入计算,)
      (2)除法运算
     整形相除:(结果去掉小数部分)
     int a=8;
     int b=3;
     int c=8/3;    //结果为:2

     浮点型相除:
     double a=8;
     double b=3;
     double c=8/3;  //结果为:2.666...

## 赋值运算##

  1. “=”:等号,叫做赋值运算符
    等号左边叫做,左值;
    等号右边叫做,右值;
    变量可赋值, 例: int a=b+c*d+e/f
  2. 赋值运算的简写

    a  +=b;   //相当于a=a+b,
    a  -=b;   //相当于a=a-b,
    .........
    .........
    a   %=b;   //相当于a=a%b,
    
#include<stdio.h>
    int main()
    {
         int a=1;
         int b=2;
         a  +=b-1;     (运行时先运算等号右边的算式)
         return 0;
     }

例题 : 输入一个整数n, 试求其百, 十, 个位上的数。假设n=367。

#include<stdio.h>
    int main()
    {
         int n=367;

         int buf[3];
         buf[2]=n%10;  //7

         n/10;  //36 :n=n%10         
         buf[1]=n%10; //6

         n/10;  //3
         buf[0]=n;

         return 0;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
calculator.cpp 能够实现四则运算和乘方运算赋值及报错的计算器 2018-12-4 -------------------------------------------------- 本程序的输入有三类:指令、赋值语句和计算式 这三类输入均允许在基本元素之间添加任意数目的空格 当出现错误时,本程序会显示Error并给出报错原因 ·指令 指令包含以下三个 exit 退出程序 printvar 输出所有已定义的变量及其值 emptyvar 清除所有变量 所有变量名不能与指令重名 ·赋值语句 基本格式为 变量名=数值 其中“数值”可以是一行计算式 ·计算式 所有非指令和赋值语句都会作为计算式进行计算 本程序可以对输入的一行计算式的值进行计算并输出答案 按照题目要求,若结果为整数,将输出整数;若结果为浮点数,将保留两位小数 计算式中可以包含变量、数字和运算符号 计算式直接以运算符开头会报错“出现连续的运算符”,但如果以+-直接开头会被认作数的正负符号 -------------------------------------------------- 输入的基本元素包括变量、数字和运算符号 ·变量名 变量名必须以字母或下划线开头,由字母、数字或下划线组成,不能与指令重名 ·数字 可以是整数或者小数,当然也包括用/表示的分数 暂不支持除十进制外其他进制的输入 支持.23这样的省略整数部分0的输入 支持32.这样的输入 但是.不会被认为是0而会报错 ·运算符号 包括 加号+ 减号- 乘号* 除号/ 括号( ) 乘方^ 其中除数不能为零 乘方的底数是负数时,指数需要是整数 零的零次幂没有意义 -------------------------------------------------- 请注意 请在输入时务必使用英文输入或选择半角字符! 当语句中出现多个错误时,只会提示最先发现的错误 与c/c++表达式计算不同的地方: 本程序输出时会将整数相除产生的浮点数自动进行类型转换成浮点数,也会将浮点数运算得到的整数自动类型转换成整数,也就是说1/2=0.50,2.0/1.0=2(c++的自动取整真的很蠢) c/c++为了避免与函数冲突,不允许a(b+c),2(3+1)这样的写法,而本程序会默认在括号前进行了乘法运算,即2(3+1)=2*(3+1)=8,a(b+c)=a*(b+c) cmath中的pow函数对于0的0次方会返回1,但是0的0次方是没有意义的,本程序会对0^0报错 鉴于c++支持+-+-+-1=-1,但是出现连+或连-时会报错的混乱情况,本程序允许在数字和变量前加一个+或-号用来变号,即2+-1 3*-x -3++2是支持的,但是多于一个的额外+-号将报错,即3+-+2 +-1是不支持的 --------------------------------------------------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值