1 小编科普几种C语言中的运算符-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

小编科普几种C语言中的运算符

Android编程精选 来源:编程学习总站 作者:写代码的牛顿 2021-06-21 16:06 次阅读

1、加减乘除运算符

加减法运算符

我们先看一段代码演示加减法的使用。

poYBAGDRc_6APqHhAAB48PZAPp0382.jpg

输出结果是:

pYYBAGDRdAuAfc98AAAdmFQ4ZxU475.jpg

右边相加减的结果赋值给左边变量。

除法运算符

看一段演示除法运算符代码

pYYBAGDRdCiARZAoAABukFdj4VM198.jpg

输出结果是:

poYBAGDRdDOAQzBqAAAfIGKhVDQ305.jpg

从输出我们看到num3 = 0明显和我想要的结果不一样,而num4的结果完全符合我们的意料。

下面我们再看一段代码

pYYBAGDRdHSATGD1AABaO5GXDn4386.jpg

输出结果是:

poYBAGDRdH6AG9LxAAATTBY5f-0902.jpg

在代码里num3定义成一个整型(int),肯定不能存储小数,那么是因为num3是整型才会导致num3值只保留整数部分还是因为除法运算符"/"?我们再看一段代码,把num3定义成单精度浮点型(float),看看输出结果。

poYBAGDRdIiAITV0AABx08J9wMg993.jpg

输出结果:

pYYBAGDRdJKAFg33AAAc6HNl_Ao478.jpg

输出结果依旧是0,说明不是因为num3的数据类型造成输出结果变化,是因为除法运算符"/",两个整型相除,结果则是商向下取整。我们知道除法运算不仅仅是2个整型的运算,还可以是浮点型和整型,浮点型和浮点型之间的运算。我们先看一段代码整型和浮点型之间的除法运算。

pYYBAGDRdMeANZyDAAB0dJ18U20548.jpg

输出结果:

poYBAGDRdNGAayugAAAlS2nBsoE813.jpg

现在输出结果达到我们的想要了。那么现在我们看看除数和被除数两者都是浮点型呢?将会输出什么?先看这段代码

pYYBAGDRdN2ARJCNAAByM7LkMBM430.jpg

输出结果:

poYBAGDRdOmAaMdQAAAis5EIeRc141.jpg

结果完全符合我们的预期。说明两个数相除,只要任意一方是浮点型,得到的结果就是浮点型,保留小数部分。

现在我们总结一下除法运算符的结果的不同之处。

两个整数相除

结果是商向下取整

两个数相除,任意一方是浮点型

结果是商保留整数部分和小数部分

乘法运算符

乘法运算和除法运算结果有一个不同之处就是,乘法运算的结果不会发生截断,两个数都是整数,结果则是整数。两个数任意一方是浮点数,结果则是浮点数,但是我们通常情况下会遇到类似下面的代码。

pYYBAGDRdSOAUqd-AABZNKQxCCM153.jpg

输出结果是:

pYYBAGDRdSyAfY7eAAAaV5Y_1EQ148.jpg

我们不是说两个数相乘任意一方是浮点型,结果则是浮点型吗?为什么小数点后面的数没了?其实这是发生了截断,在C语言里浮点型强制转换成整型会发生数据截断,小数部分被丢弃了。那么我们怎么知道数据发生了截断呢?看看下面这段代码我们就知道了。

pYYBAGDRdTeAMF1yAABankKvWG4143.jpg

输出结果是:

poYBAGDRdUOAFmlsAAAXUnpjkZE636.jpg

说明整型和浮点型相乘得到的结果是浮点型!这里要注意一下10.2f后面带有f表明将10.2转换成单精度浮点型,如果不带f则不会输出"good!"字符串。

2、求余运算符

在C语言里求余运算符是%,下面我们看一段代码。

pYYBAGDRdXeABXh-AABPDKUs348694.jpg

输出结果:

poYBAGDRdYKACEBWAAAZeTG-O88624.jpg

在C语言里%只能对整型进行求余,任意一方是浮点型时,语法错误。

3、自增自减运算符

自增运算符

在C语言里自增运算符使用++,而自减运算符使用--,下面我们用实际代码分别看看自增自减和常规的加减法有什么不一样。

pYYBAGDRdY6AF_TNAAB_RI7CAXs304.jpg

输出结果是:

poYBAGDRdZiASU_qAAAp7toDgaE850.jpg

从输出结果我们可以知道,num1和num2第一次自增输出结果一样,说明前自增和后自增都可以对变量进行加1。那么第二次输出就有点不同了,虽然都进行了自增,但是num1输出3而num2输出2,最后一次输出num2则是3。这是因为前自增先对变量进行加1后再使用,而后自增则先使用变量再进行加1操作。

自减法运算符

自增和自减法运算符运算过程一样,区别则是一个做加1操作另外一个做减1操作。

4、逗号运算符

首先我们看一段代码

poYBAGDRdbuAGuZvAABUCzqYw9s037.jpg

这段代码的输出结果是:

poYBAGDRdcWAdMPdAAAYfcKGGoU119.jpg

从输出结果我们可以知道,逗号运算符是从左往右结合,先计算num2 = num1 + 1,此时num2= 2,再计算num2 = num1 + 2,此时num2 = 3,最后取num2的最终值加1的结果赋值给s。

责任编辑:lq6

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136676
  • 运算符
    +关注

    关注

    0

    文章

    172

    浏览量

    11078

原文标题:C语言入门基础之运算符详解

文章出处:【微信号:AndroidPush,微信公众号:Android编程精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    逻辑异或运算符在Python中的用法

    在Python编程语言中,逻辑异或运算符并不直接作为一个内置的操作存在,因为Python更侧重于高级编程和可读性,并没有直接提供异或运算符的简写形式用于逻辑
    的头像 发表于 11-19 09:46 161次阅读

    技术干货驿站 ▏深入理解C语言:掌握C语言条件判断,从if到switch的应用

    语句和条件运算符。这些结构不仅增强了代码的灵活性,还提高了程序的可读性和可维护性。本文将深入探讨C语言中的主要条件判断语句,包括它们的语法、使用方法及实际应用,通过
    的头像 发表于 11-09 01:10 287次阅读
    技术干货驿站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:掌握<b class='flag-5'>C</b><b class='flag-5'>语言</b>条件判断,从if到switch的应用

    C语言中的socket编程基础

    Socket编程简介 Socket是一种通信机制,允许程序之间进行通信。在C语言中,socket编程是网络编程的基础。通过使用socket,程序可以发送和接收数据,实现不同计算机之间的通信
    的头像 发表于 11-01 16:51 299次阅读

    C语言指针运算符详解

    C语言中,当你有一个指向数组中某个元素的指针时,你可以对该指针执行某些算术运算,例如加法或减法。这些运算可以用来遍历数组中的元素,如ptr[i]等价于*(ptr + i)。然而,如果
    的头像 发表于 10-30 11:16 235次阅读

    Verilog语法中运算符的用法

    verilog语法中使用以下两个运算符可以简化我们的位选择代码。
    的头像 发表于 10-25 15:17 579次阅读
    Verilog语法中<b class='flag-5'>运算符</b>的用法

    技术干货驿站 ▏解锁C语言高效编程秘诀:深入解析运算符与优先级

    C语言的学习过程中,运算符的使用是不可忽视的重要环节。本文将继续深入探讨C语言中运算符,重点
    的头像 发表于 10-13 08:09 244次阅读
    技术干货驿站 ▏解锁<b class='flag-5'>C</b><b class='flag-5'>语言</b>高效编程秘诀:深入解析<b class='flag-5'>运算符</b>与优先级

    技术干货驿站 ▏深入理解C语言:编程高手必备,全方位解析运算符的核心技能!

    过程中发挥着重要作用,还对程序的性能和稳定性产生直接影响。继上一期对C语言常量的深入分析后,本文将进一步探讨C语言中的常用运算符,详细解析其
    的头像 发表于 09-18 15:56 346次阅读
    技术干货驿站 ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:编程高手必备,全方位解析<b class='flag-5'>运算符</b>的核心技能!

    c语言中从左到右结合怎么看

    C语言中,操作的结合性(Associativity)是指当操作在表达式中连续出现时,它们如何与操作数结合的顺序。对于大多数二元操作
    的头像 发表于 08-20 11:42 843次阅读

    c语言从右到左的运算符有哪些

    以下是一些主要的从右到左运算C语言运算符: 函数调用运算符 ( () ):当您调用一个函数时,参数列表是从右到左进行求值的。 后置递增
    的头像 发表于 08-20 11:39 889次阅读

    TestStand表达式中常用的语法规则和运算符使用

    TestStand也有自己的语言嘛?在回答这个问题之前大家可以想一下在使用TestStand时有一个和语言密切相关的属性。没错那就是表达式(Expressions),在这篇文章中,小将以Q&A的方式来带着大家来理解并熟悉Tes
    的头像 发表于 08-15 18:10 1345次阅读
    TestStand表达式中常用的语法规则和<b class='flag-5'>运算符</b>使用

    浅析C语言中的变量修饰

    一、修饰类型51单片机采用哈佛结构。内存空间址有重叠。可以在不同总线上定义不同的变量。在KEILC51中定义了data、idata、xdata、code几种域修饰。这些修饰
    的头像 发表于 04-15 08:10 638次阅读
    浅析<b class='flag-5'>C</b><b class='flag-5'>语言中</b>的变量修饰<b class='flag-5'>符</b>

    Golang为何舍弃三元运算符

    golang中不存在?:运算符的原因是因为语言设计者已经预见到三元运算符经常被用来构建一些极其复杂的表达式。虽然使用if进行替代会让代码显得更长,但这毫无疑问可读性更强。
    的头像 发表于 04-03 15:13 689次阅读

    鸿蒙TypeScript入门学习第5天:【TypeScript 运算符

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算
    的头像 发表于 04-01 16:18 484次阅读
    鸿蒙TypeScript入门学习第5天:【TypeScript <b class='flag-5'>运算符</b>】

    C语言程序的结构认识

    两个符号之间不可以有空格,复合赋值运算符的优先级与赋值运算符的相同。表达式n+=1等价于n=n+1,作用是取变量n中的值增1再赋给变量n,其他复合的赋值运算符运算规则依次类推。
    发表于 03-22 12:30 1250次阅读

    C语言支持的算术运算符介绍

    先赋值后运算:Line 1 - c 的值是 10Line 2 - a 的值是 11Line 3 - c 的值是 10Line 4 - a 的值是 9先运算后赋值:Line 5 -
    发表于 03-13 12:24 446次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>支持的算术<b class='flag-5'>运算符</b>介绍