运算符详解 C语言

发布时间:2026/9/20 17:03:06
运算符详解 C语言 算术操作符、-、*、/、%算术操作符概述C语言中为了方便运算提供了一系列操作符其中有一组操作符叫算术操作符。分别是 - * / %这些操作符都是双目操作符。都是有2个操作数的位于操作符两端的就是它们的操作数这种操作符也叫双目操作符。运算符/用来完成除法。除号的两端如果是整数执行的是整数除法得到的结果也是整数。#include stdio.h int main() { float x 6 / 4; int y 6 / 4; printf(%f\n, x); // 输出 1.000000 printf(%d\n, y); // 输出 1 return 0; }上面示例中尽管变量x的类型是float浮点数但是6 / 4得到的结果是1.0而不是1.5。原因就在于 C 语言里面的整数除法是整除只会返回整数部分丢弃小数部分。如果希望得到浮点数的结果两个运算数必须至少有一个浮点数这时 C 语言就会进行浮点数除法。#include stdio.h int main() { float x 6.0 / 4; // 或者写成 6 / 4.0 printf(%f\n, x); // 输出 1.500000 return 0; }如上两种写法均可上面示例中6.0 / 4表示进行浮点数除法得到的结果就是1.5。运算符%表示求模(余)运算即返回两个整数相除的余值。这个运算符只能用于整数不能用于浮点数。复合赋值符在写代码时我们经常可能对一个数进行自增、自减的操作如下代码int a 10; a a 3; a a - 2;C语言给这种操作提供了更加方便的写法int a 10; a 3; a - 2;C语言中提供了复合赋值符方便我们编写代码这些赋值符有 -* / % | ^和--是一种自增的操作符又分为前置和后置--是一种自减的操作符也分为前置--和后置--。前置int a 10; int b a; //的操作数是a是放在a的前面的就是前置 printf(a%d b%d\n, a , b);计算口诀先1后使用int a 10; int b a; //的操作数是a是放在a的后面的就是后置 printf(a%d b%d\n, a , b);计算口诀先使用后1--如果你听懂了那--是同理的只是把加1换成了减1。移位运算符左移左移规则左边抛弃、右边补0右移操作符右移规则左边用原该值的符号位填充右边丢弃a 10a1,a 10*2^1a2,a 10*2^2......关于带符号整数左移C语言标准规定导致符号位改变的带符号整数的左移操作属于“未定义行为” (Undefined Behavior, UB)。(可能会把1移到符号位上C标准不保证结果一定是那个负数值。编译器可以做任何处理包括产生一个警告、得到预期的负数值、得到一个完全意外的值甚至在某些极端情况下导致程序崩溃。位操作符 位操作符列表 //按位与| //按位或^ //按位异或~ //按位取反对应比特位上 只要有0 那么按位与的结果对应位上就是0000010110000111000001010|对应比特位上 只要有1 那么按位与的结果对应位上就是1^两个一样的数字异或出来是0n^n0,n^0n~包括符号位0变1,1变0~a-(a1)

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询