从零开始学C语言系列之第四章《运算符第一节》

往期回顾

【第一章】《认识C语言》
【第二章】C语言概述及基本知识1
【第二章】C语言概述及基本知识2
【第三章】字符串和格式化输入/ 输出
【第三章】 printf
【第三章】 scanf
【第三章】 putchar
【第三章】 getchar
【第三章】 sizeof
【第三章】 strlen
【第三章】 define


运算符

赋值运算符:=

​   在C语言中,=并不意味着“相等”,而是一个赋值运算符。下面的赋值表达式语句:
​   bmw=2002;
​   把值 2002赋给变量bmw。也就是说,=号左侧是一个变量名,右侧是赋给该变量的值。符号=被称为赋值运算符。另外,上面的语句不读作“bmw 等于 2002”,而读作“把值 2002赋给变量 bmw”。赋值行为从右往左进行。

​   也许变量名和变量值的区别看上去微乎其微,但是,考虑下面这条常用的语句:
​                       i=i + 1;
​   对数学而言,这完全行不通。如果给一个有限的数加上1,它不可能“等于”原来的数。但是,在计算机赋值表达式语句中,这很合理。该语句的意思是:找出变量i的值,把该值加1,然后把新值赋值变量i。
在这里插入图片描述
在C语言中,类似这样的语句没有意义(实际上是无效的):

​ 2002 =bmw;

​    因此,在编写代码时要记住,=号左侧的项必须是一个变量名。实际上,赋值运算符左侧必须引用一个存储位置。最简单的方法就是使用变量名。

常见示例

int ex;
int why;
int zee;
int Two=2;

why =42;
zee = why;
ex=TWO *(why + zee);

说明

/*定义整形变量 ex why zee Two,其中Two赋值为2*/
int ex;
int why;
int zee;
int Two=2;

/* 
将42 赋值给 变量why
*/
why =42;

/* 
将why中的值(42) 赋值给 变量zee
*/
zee = why;

/* 
将TWO *(why + zee)中的值 2 *(42 + 42) 赋值给 变量ex
*/
ex=TWO *(why + zee);

加法运算符:+

​   加法运算符用于加法运算,使其两侧的值相加。

int i;

/* 将 35(12+23)的值赋值给变量i */
i = 12+23 

减法运算符: -

  减法运算符用于减法运算,使其左侧的数减去右侧的数。

int i;

/* 将 20(21-1)的值赋值给变量i */
i = 21 - 1 

  +和-运算符可以都被称为二元运算符,即这些运算符需要两个运算对象才能完成操作。

符号运算符:-和+

  减号还可用于标明或改变一个值的代数符号

int i = -1;
int a = -23;
int s = -12312;

  以这种方式使用的负号被称为一元运算符。一元运算符只需要一个运算对象

  正号也可以写上去,但是默认如果不是 负号,则该数为正

在这里插入图片描述

乘法运算符:*

  符号*表示乘法

/*下面的语句用2.54乘以inch,并将结果赋给cm:*/

int cm,inch = 2;

cm=2.54*inch;

除法运算符:/

C使用符号/来表示除法。/左侧的值是被除数,右侧的值是除数。

​     整数除法和浮点数除法不同。

​     浮点数除法的结果是浮点数

​     而整数除法的结果是整数

​    整数是没有小数部分的数。这使得5除以3很让人头痛,因为实际结果有小数部分。在语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。

#include <stdio.h>
int main(void)
{
    printf("integer division:  5/4   is %d \n", 5/4);
    printf("integer division:  6/3   is %d \n", 6/3);
    printf("integer division:  7/4   is %d \n", 7/4);
    printf("floating division: 7./4. is %1.2f \n", 7./4.);
    printf("mixed division:    7./4  is %1.2f \n", 7./4);
    
    return 0;
}

则会出现以下结果

/*整数*/
integer division:  5/4   is 1
integer division:  6/3   is 2
integer division:  7/4   is 1
    
/*浮点数*/
floating division: 7./4. is 1.75
    
/*混合类型*/
mixed division:    7./4  is 1.75

注意

​   整数除法会截断计算结果的小数部分(丢弃整个小数部分),不会四舍五入结果混合整数和浮点数计算的结果是浮点数。实际上,计算机不能真正用浮点数除以整数,编译器会把两个运算对象转换成相同的类型。本例中,在进行除法运算前,整数会被转换成浮点数。

相关推荐

  1. 开始C语言系列《strlen》

    2024-05-02 10:22:05       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-02 10:22:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-02 10:22:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-02 10:22:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-02 10:22:05       18 阅读

热门阅读

  1. 如何在您的应用中嵌入 FFmpeg 命令行的超能力

    2024-05-02 10:22:05       14 阅读
  2. 贪心算法-活动选择问题&背包问题

    2024-05-02 10:22:05       8 阅读
  3. Oracle故障处理:正在使用的索引失效了

    2024-05-02 10:22:05       12 阅读
  4. vos3000外呼系统IVR 语音文件格式要求

    2024-05-02 10:22:05       15 阅读
  5. 爬虫学习--3.Requests模块

    2024-05-02 10:22:05       10 阅读
  6. C++:现代类型转换

    2024-05-02 10:22:05       12 阅读
  7. 安卓ComponentName简介及使用

    2024-05-02 10:22:05       11 阅读
  8. Set实现(3)| TreeSet

    2024-05-02 10:22:05       10 阅读
  9. MySQL-配置文件

    2024-05-02 10:22:05       13 阅读
  10. Spark运行流程及架构设计

    2024-05-02 10:22:05       12 阅读
  11. 数据量比较大 | 分库分表?

    2024-05-02 10:22:05       13 阅读
  12. rust 使用记录

    2024-05-02 10:22:05       12 阅读