
c语言的操作符和部分其他补充
单目运算符 > 算术运算符 > 关系运算符 > 逻辑运算符 > 条件运算符 > 赋值运算符 > 逗号运算符 其次:单目 > 双目 > 三目 位运算的操作数必须是整数(包括char)。 移位操作:
发布日期:2021-05-14 16:07:22
浏览次数:19
分类:精选文章
本文共 1014 字,大约阅读时间需要 3 分钟。
运算符优先级及注意事项
运算符优先级是编程中理解代码逻辑的基础。以下是常见运算符的优先级大致排序,供记忆参考:
**注意:**部分优先级可能因编程语言版本或特定情况有所不同,建议结合实际测试确认。
在运算符运算中,除了优先级,还需注意其结合性。赋值运算符是右结合的,而其他运算符一般左结合。
补充说明:
- sizeof()用于获取括号内数据类型所占字节数。
- typeof()用于获取数据类型信息。
- 分量运算符包括“.”和“—>”。
- 强制转换可通过(类型)来实现。
关于位运算:
- 左移:高位舍弃,低位补0。
- 右移:
- 对于无符号类型(unsigned),高位补0,低位舍弃。
- 对于有符号类型(signed),高位补符号位,低位舍弃。
逻辑运算优化:
阅读代码时,注意到逻辑运算的“惰性”特性。例如:
int i, j, k;i = j = 1;k = 2;if ((j++ || k++) && i++) printf("-%d,%d,%d\n", i, j, k);
输出结果:2, 2, 2
关键点分析:
- 左边的
j++ || k++
在j=1
时立即为真,故k++
不会执行。 - 右边
i++
由于条件满足而执行。 - 结果:j自加为2,k保持2。
scanf使用建议:
在Linux下,使用gcc
时,建议在每个scanf
后立即调用getchar()
以避免缓存问题。
控制输出美观性:
int i, j;for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%2d ", j, i, j * i); } printf("\n");}
输出结果将整齐美观,各乘积仅占两位数。
99乘法表示例:
打印结果如下:
1*1= 1 1*2= 2 2*2= 4 1*3= 3 2*3= 6 3*3= 9 1*4= 4 2*4= 8 3*4=12 4*4=16 1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25 ...
结论: 以上内容为技术性质的编程学习内容,建议结合实际编程实践,逐步掌握语言的精髓。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月26日 19时05分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MbedOS+MQTT+TICK 栈构建企业大数据平台
2019-03-12
C++ influxdb 客户端
2019-03-12
关于编程能力的思考
2019-03-12
【vue】setInterval的嵌套实例
2019-03-12
【SpringBoot】如何配置热部署
2019-03-12
【rabbitMQ】04 如何实现高可用?
2019-03-12
【自考】之信息资源管理(一)
2019-03-12
C# 文本框限制大全
2019-03-12
setup facatory9.0打包详细教程(含静默安装和卸载)
2019-03-12
ionic4 路由跳转传值
2019-03-12
CSDN 怎么写出好看的博客
2019-03-12
ENDC含义
2019-03-12
Java基本概念:方法
2019-03-12
pwn题shellcode收集
2019-03-12
使用docker搭建nfs实现容器间共享文件 nfs server nfs client
2019-03-12
CURL 发送请求详解
2019-03-12