C语言操作符 进阶 (常见错误及细节)
1.算术操作符
+ - * / %
% 只适用于整数类型运算,其余运算符也可用于浮点运算。
2.移位操作符
左移:左边丢弃,右边补0;
右移:
不同编译器采取的移位方式不同,所有有了“右移”的程序不可移植
1.逻辑移位:左边补0
2.算术移位:左边补符号位
3.赋值操作符
1.写易于调试和阅读的赋值语句。
例如: r = s+(t =u-v) /3;
/*等价于*/
t = u-v;
r = s+t/3;
2. 字符型变量赋值的截短问题
char ch;
...
while((ch = getchar()) ! =EOF)
4.符合赋值符
在复杂的语句中他更容易使用,简化了程序,防止错误发生。
5.单目操作符
1.CAST(强制类型转换)
(float)a;
(int)a;
2.sizeof()运算符
sizeof(a = b +1);//a的值不变,sizeof()不计算内部的数值
返回整形变量的字节数 sizeof(int)
返回变量x所占的字节数sizeof x
6.关系操作符
多使用括号,保证算式的逻辑顺序和运算优先级符合要求
7.逗号操作符
xxxx,xxxxx,xxxxx, //计算的是最后一个表达式。
这样写可以简化运算
求取二进制中一的个数:
方法1
while (u) {count++;u = u & (u - 1);}
内部运算过程。记住这个写法 u = u&(u-1)
U= 91001 count =1
1001&1000 1000 count = 21000&01110000 over
方法2
if (num & 1 == 1){count++;}num = num >> 1;
内部运算过程
1001&00010001 count = 1;0100&000100000010&000100000001&0001 0001 count = 2
C语言操作符 进阶 (常见错误及细节)相关推荐
- 二级C语言-程序修改题常见错误归纳
修改(一个found一个错) 程序改错题,在found处找错,不要偏离位置,一个found就一个错,不会多.一般1-3个found. 以下是我对改错题常见错误的一个归类,希望可以帮到大家,多争取时间, ...
- c语言成绩管理系统常见错误,求教 学生成绩管理系统出错
已结贴√ 问题点数:20 回复次数:5 求教 学生成绩管理系统出错 小弟刚做了个学生成绩管理系统 编译无错误 但是运行的时候连选择函数都不能 特来求教 望高手解释 代码如下: #inclu ...
- go语言初学者常见错误
目录 [−] 初级 开大括号不能放在单独的一行 未使用的变量 未使用的Imports 简式的变量声明仅可以在函数内部使用 使用简式声明重复声明变量 偶然的变量隐藏Accidental Variable ...
- C语言初学者代码中的常见错误与瑕疵(9)
题目 字母的个数 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. 输入:第一行输入一个正整数T(0<T<25) 随后T ...
- c语言switch循环语序,C语言初学者常见错误统计.doc
C语言初学者常见错误统计.doc C语言初学者常见错误统计 被偏爱程度触犯人次错误类型 ★★★★17使用未定义的变量★★★★16变量值溢出★★★9一行C语句后面漏掉:★★★8语序颠倒★★★6混淆字符常 ...
- c语言调试出错误怎么改,C语言调试常见错误及修改方法(附习题)
<C语言调试常见错误及修改方法(附习题)>由会员分享,可在线阅读,更多相关<C语言调试常见错误及修改方法(附习题)(12页珍藏版)>请在人人文库网上搜索. 1.1.调试C程序时 ...
- c语言编译错误 原文,C语言常见错误与警告
C语言常见错误与警告 C语言常见错误与警告C语言常见错误: 1 invalid type argument of '->' (have 'struct qstr_xid_element') 这种 ...
- c语言Max错误,C语言编程常见错误.pdf
C 语言常见错误 版权声明:以下内容来自互联网 C 语言的最大特点是:功能强.使 方便灵活.C 编译的程序对语法检查并不象其它高级语言那么严 格,这就给编程人员留下 "灵活的余地" ...
- 写c语言会出现哪些常见错误,C语言编写常见错误
C51语言编写常见错误 一.循环 1).在进行while,do...while循环时要对while括号里面的变量赋初值,否则可能出现的不是自己想要的结果. 2).在写for循环语句中,特别要注意括号里 ...
最新文章
- 有监督排序—LDA分析、作图及添加置信-ggord
- pip list报错:DEPRECATION: The default format will switch to columns in the future.
- 机器学习中目标函数、损失函数、代价函数之间的区别和联系
- Linux 软件看门狗 watchdog
- three.js 几何体-组合网格_ThreeJS 粒子系统实现雪花飘落动画
- 精心整理 25 个 Python 文本处理案例,收藏!
- windows os x linux,What languages are Windows, Mac OS X and Linux written in?
- ASP.NET vs MVC vs WebForms
- 【PHP】月末・月初の出力方法
- ORACLE专有模式与共享模式
- 计算机财务管理复利现值的公式,财务管理公式汇总
- “真智能”黑马杀出,智能家居的下一战要攻破场景化?
- css 实现随风摆动
- 《Linux学习一》交叉编译工具链的构建工具Crosstool-ng
- 高德地图 街道范围_高德地图发布交通“评诊治”系统:让城市上班族每天多睡十分钟...
- 「Jenkins Pipeline」- expected to call xxx but wound up catching xxx @20210219
- URP——着色器和材质——简单光照 Simple Lit
- [导入]猪年新年贺词猪年短信猪年祝福语
- 同時acts_as_tree 和 ancestry gem
- 一个简单的Java测试类型服务器
热门文章
- html中常见的小问题(1)
- SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用
- mysql 字符串类型 char varchar
- 笔记36 Spring Web Flow——配置
- Java开发人员的升级之路
- easyUI validate函数【总结篇-部分转】
- ASP.NET 2.0 的数据源、数据绑定控件概述与区别
- linux 挂载有数据硬盘分区,linux下磁盘分区、挂载知多少
- 三星sd卡无法删除数据_单反相机里的SD卡在电脑中突然无法识别提示要格式化怎么办?...
- java21个知识点重点_java21个知识点重点