尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
4.C语言--操作符
一、基础算数操作符普通算数运算符 - * / %、-、* 常规加减乘/ 整数相除向下取整% 取模只能用于整数符合赋值运算符 - * / %先运算、再赋值简化代码写法。单目自增、自减 –分为前置、后置只需要一个操作数属于单目运算符。二、逻辑运算符 || 逻辑与全真才真有假则假|| 逻辑或全假才假有真则真具有短路特性 前面为假后面不执行|| 前面为真后面不执行三、移位操作符只针对整数移位操作符是操作二进制位的运算符只能用于整数类型。左移 规则左边高位丢弃右边低位补0效果等价于 ×2右移 分为两种逻辑右移左边补0右边丢弃算数右移左边补符号位右边丢弃口诀正数两种右移效果一致负数算数右移会向上取整效果等价于 ÷2复合移位赋值四、位操作符全部针对二进制位运算 按位与| 按位或^ 按位异或~ 按位取反按位与 两个二进制位都为1结果才为1按位或 |只要有一个是1结果就是1按位异或 ^相同为0不同为1经典公式a ^ a 00 ^ a a按位取反 ~所有二进制位 0变11变0五、不创建临时变量交换两个整数异或经典用法原理利用异或 a^a0 、 0^aaaa^b;ba^b;aa^b;实现无中间变量交换两数六、统计二进制中1的个数三种方法方法一取模右移法适合正数intmain(){intn0;scanf(%d,n);intcount0;while(n){if(n%21){count;}n1;}printf(%d,count);return0;}方法二按位遍历32位正负整数都适用intmain(){intn0;scanf(%d,n);intcount0;for(inti0;i32;i){if((n(1i))!0){count;}}printf(%d,count);return0;}方法三n (n-1) 清零法最优核心n (n-1) 消除二进制最后一个1intmain(){intn;scanf(%d,n);intcount0;while(n){count;nn(n-1);}printf(%d,count);return0;}七、逗号表达式语法 表达式1, 表达式2, 表达式3…规则从左到右依次执行整个逗号表达式结果 最后一个表达式结果八、下标访问操作符 []双目操作符需要两个操作数用法 数组[下标]九、函数调用操作符 ()可接收多个操作数函数名 () 实现调用十、操作符优先级与结合性规则单目运算符右结合赋值运算符右结合三目运算符右结合其余大多为左结合优先级决定谁先算结合性决定同级从哪边开始算。十一、表达式求值规则表达式求值顺序受三种因素影响优先级结合性类型转换整型提升CPU默认按int运算短字节类型需要整型提升无符号高位补0有符号高位补符号位寻常算数转换类型自动提升顺序由低类型自动向高类型转换intunsigned intlong intunsigned long intfloatdoublelong double运算时低精度向高精度靠拢保证精度不丢失。十二、总结C语言操作符是编程底层核心移位、位运算、整型提升、算数转换是考试、笔试高频考点。掌握位运算可以实现无变量交换数值快速统计二进制1的个数高效底层位操作是后期指针、底层开发、算法优化的基础。
RELATED

相关推荐

如何高效使用yfinance:Python金融数据获取的实用指南

如何高效使用yfinance:Python金融数据获取的实用指南

如何高效使用yfinance:Python金融数据获取的实用指南 【免费下载链接】yfinance Download market data from Yahoo! Finances API 项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance 在Python金融数据分析领域,yfinance已经成为获取雅虎…

📅 2026/9/12 8:08:22
TVA数字小脑:具身智能的物理交互革命(9)

TVA数字小脑:具身智能的物理交互革命(9)

前沿技术探索:AI智能体视觉(TVA,Transformer-based Vision Agent)是依托Transformer架构与“因式智能体”理论所构建的颠覆性工业视觉技术,是集深度强化学习(DRL)、卷积神经网络(CNN…

📅 2026/9/9 1:01:24
C++中sizeof与strlen的本质区别、应用场景与避坑指南

C++中sizeof与strlen的本质区别、应用场景与避坑指南

1. 项目概述:为什么sizeof和strlen是C新手的“分水岭”?刚接触C那会儿,我总觉得指针和数组已经够让人头疼了,直到在调试一个字符串处理的bug时,被sizeof和strlen这两个家伙结结实实地上了一课。代码看起来一切正常&…

📅 2026/8/22 0:53:34
MORE NEWS

更多资讯

📰

Valhalla静态审阅Qwen3源码:大厂基础设施的工程启示

Valhalla 静态工程审阅 #023来了。这一期拖了很久,一直在等一个合适的开源项目,不想为凑更新随便拿个小库水一期,干脆等到了 Qwen3 的官方仓库结构全面稳定下来,才动手做这轮源码证据驱动的评测。这一期和之前最大的不同在于一个大…

📰

STM32+MPU6050计步器从驱动到算法:原理、滤波与参数调优

简介:面向STM32单片机学习者和毕业设计/课程设计人群,这是一套基于STM32MPU6050的便携计步器完整设计方案。系统利用MPU6050陀螺仪与DMP库实现高精度步数检测,并通过OLED屏实时显示步数,核心源码、原理图与外壳结构均包含在内。资…

📰

C语言指针与内存管理核心技巧详解

1. C语言核心概念深度解析(二)在上一期C语言核心概念梳理中,我们重点讨论了数据类型、运算符和流程控制等基础内容。这次我们将深入探讨指针、内存管理、文件操作和结构体这四个真正让C语言区别于其他高级语言的核心特性。这些概念不仅是面试…

📰

个人开发者接入Agent开放平台:从Skill开发到应用上架全流程实战

最近不少朋友在问,个人开发者到底能不能玩转 Agent 应用?我的结论是:能,而且现在正是窗口期。随着 WorkBuddy 开放平台向个人开发者开放接入,以往只属于大厂技术团队的 Agent 构建能力,现在一个人、一台电脑…

📰

Jaeger 中基于 MCP Skill 的 N+1 查询模式检测指南

Jaeger 中基于 MCP Skill 的 N1 查询模式检测指南 【免费下载链接】jaeger CNCF Jaeger, a Distributed Tracing Platform 项目地址: https://gitcode.com/GitHub_Trending/ja/jaeger 分布式系统中,N1 查询(N1 Query)是最隐蔽也最常见…

📰

Git 命令

Git 命令1. git stash2. git cherry3. git cherry-pick4. git pull VS git pull --rebase5. git commit --amend6. tag相关6.1 创建 tag6.2 推送 tag6.3 删除tag6.4 查看tag1. git stash 1.1 基本保存修改 git stash 或 git stash push -m "描述你的修改"1.2 查看存…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬