C语言学习笔记
来源:互联网 发布:全民奇迹翅膀进阶数据 编辑:程序博客网 时间:2024/06/08 09:37
十六进制前面加0X或者0x
八进制前面加0 反斜线开始并加入单引号如’\141’
字符‘A’ “AB” “A”(‘A’ ’\o’的组合)
%x 十六进制 (输出的十六进制为小写。如23f)
%#X 输出结果为0X23F。(可看出是16进制)
Return 终止函数
Break 终止循环和switch
若局部变量与全局变量的名字一样时,局部变量会屏蔽全局变量。
&&左边的表达式为假,右边的表达式不执行
||左边的表达式为真,右边的表达式不执行
Float和double都不能保证可以精确的 存储一个小数
算术>关系>逻辑>赋值
地址:内存单元的编号
指针的本质就是一个操作受限的非负整数。(不能加乘除,但是地址可以进行相减运算)
如果两个指针变量指向的是同一块连续空间的不同存储单元,
则这两个指针变量才可以相减
在多层循环中,break只能终止距离它最近的循环。
While((ch=getchar())!=’\n’)
continue;把垃圾数据清除。
printf的%f说明符的确既可以输出float型又可以输出double型。根据“默认参数提升”规则(在printf这样的函数的可变参数列表中,不论作用域内有没有原型,都适用这一规则)float型会被提升为double型。因此printf()只会看到双精度数。
(严格地讲,%lf在printf下是未定义的,但是很多系统可能会接受它。要确保可移植性,就要坚持使用%f。)
对于scanf,情况就完全不同了,它接受指针,这里没有类似的类型提升。(通过指针)向float存储和向double存储大不一样,因此,scanf区别%f和%lf。
一个指针变量,无论它指向的变量占几个字节
该变量本身只占四个字节
補碼
負數轉二進制
-3→011(轉化為二進制)→100(取反)→101(末尾加1)不夠位數,左邊補1
-3是int類型,占4個字節,32位,所以前面要補29個1.
0的二進制全是0.
符号
名称
作用
意义
说明
<<
左移位
将操作数的二进制位整体按照顺序向左移,右端空出的位补0,左端移出最高位以外的位丢失
a<<n,代表a的二进制位顺序左移n位(n为整数)
左移运算是与操作数的符号无关的
>>
右移位
将操作数的二进制位整体按照顺序向右移,左端补0或补1,右端移出超出最低位被丢失
a>>n,代表a的二进制位顺序右移n位(n为整数)
右移运算与操作数的符号有关. 就VC++ 6.0而言:无符号数为“逻辑右移”,即左端空出位一律补0 ;有符号数为“算术右移”,即正数右移,空位补0 ,负数右移, 空位补1
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C 语言学习笔记
- C语言学习笔记
- C语言学习笔记
- C语言学习笔记
- c语言学习笔记
- C语言学习笔记
- c语言学习笔记
- C语言学习笔记
- C语言学习笔记
- HDU 1269 迷宫城堡 (有向图的强连通分量)
- [编程之美]写一个函数,返回一个数组中所有元素被第一个元素除的结果
- python学习之模块添加
- java常用设计模式
- Exchange2003遇到退信垃圾邮件攻击
- C语言学习笔记
- [AD]使用DCDiag工具测试域控制器的网络连接和DNS解析
- Ubuntu15.04 安装pdf阅读器 Okular
- Spring(十)通过动态代理(JDK的Proxy)和cglib实现AOP技术
- 杭电2149
- SAP HANA要改变什么?
- [AD]使用NetDiag工具测试工作站和服务器的网络连接和DNS解析
- cocos2dx 创建项目脚本
- [AD]查看森林中的架构主控和五种角色属主