《C语言深度解剖》学习笔记之符号
第2章 符号
1.注释符号
编译器会将注释剔除,用空格代替原来的注释
y=x /* p; 编译器提示出错的原因:实际上,编译器会把“/*”当作一段注释的开始,直到出现“*/”为止。
【规则 2-1】注释应当准确,易懂,防止二义性
【规则 2-2】注释是对代码的提示,而不是文档
【规则 2-3】边写代码边写注释
【规则 2-4】一目了然的语句不加注释
【规则 2-5】全局数据必须加注释
【规则 2-6】注释采用英文(不一定所有的编译器都能显示中文)
【规则 2-7】注释的位置与被描述的代码相邻,可以同一行或上一行
【规则 2-8】当代码比较长,特别是有多重嵌套时,应当在段落的结束处加注释
【规则 2-9】注释的缩进与代码的缩进一致
【规则 2-10】注释代码时应注重“为何做(why)”,而不是“怎么做(how)”
【规则 2-11】数值的单位一定要注释
【规则 2-12】对变量的范围一定要注释,尤其是参数
【规则 2-13】对一系列数字编号给出注释
【规则 2-14】函数的入口出口数据,条件语句,分支语句给出注释
【规则 2-15】避免在一行代码或表达式中间插入注释
2.接续符
反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。
3.单引号,双引号
双引号括起来的是字符串常量,单引号括起来的是字符常量。
3.位运算符
按位异或操作可以实现不用第三个临时变量交换两个变量的值,如下:
a ^= b;
b ^= a;
a ^= b;
余数与被除数的正负号相同。
4.一些优先级问题
- int *fp(); //等价于 int *(fp());
fp是个函数,返回 int *.
- c = getchar() != EOF;
!= 优先级高于赋值符。 c = (getchar() != EOF);
《C语言深度解剖》学习笔记之符号的更多相关文章
- C语言深度解剖读书笔记
开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客.正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下 ...
- C语言深度解剖读书笔记(6.函数的核心)
对于本节的函数内容其实就没什么难点了,但是对于函数这节又涉及到了顺序点的问题,我觉得可以还是忽略吧. 本节知识点: 1.函数中的顺序点:f(k,k++); 这样的问题大多跟编译器有关,不要去刻意追求 ...
- 【转】 C语言深度解剖读书笔记(1.关键字的秘密)
本文出处:http://blog.csdn.net/mbh_1991/article/details/10149805 开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有 ...
- c语言深度解剖(笔记)
1.1最宽恒大量的关键字----auto 函数内部变量,限制作用域为这个 1.2.1最快的关键字---- register函数. 关键字请求编译器尽可能的将变量存在 CPU 内部寄存器中 1.2.2使 ...
- R语言函数化学习笔记6
R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...
- R语言函数化学习笔记3
R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...
- R语言与机器学习学习笔记
人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...
- go语言,golang学习笔记4 用beego跑一个web应用
go语言,golang学习笔记4 用beego跑一个web应用 首页 - beego: 简约 & 强大并存的 Go 应用框架https://beego.me/ 更新的命令是加个 -u 参数,g ...
- go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量
go语言,golang学习笔记3 用命令下载框架报错问题解决 设置环境变量 下载安装:go get github.com/astaxie/beego 首页 - beego: 简约 & 强大并存 ...
- go语言,golang学习笔记2 web框架选择
go语言,golang学习笔记2 web框架选择 用什么go web框架比较好呢?能不能推荐个中文资料多的web框架呢? beego框架用的人最多,中文资料最多 首页 - beego: 简约 & ...
随机推荐
- macbook双网卡路由
用route命令可以解决,步骤如下:1)确定你内网的网段,如果有多个都一一列出来,例如:192.168.1.0/24,10.20.0.0/16等 2)确定你内网网卡的网关IP,通过netstat -r ...
- Java review-basic2
1.Implement a thread-safe (blocking) queue: Class Producer implements Runable{ Private final Blockin ...
- 直接在安装了redis的Linux机器上操作redis数据存储类型--String类型
一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型 ...
- EL表达式如何读取一个string型的list 一个单纯的的字符串list
<c:forEach begin="0" end="${columnList.size()-1}" var="i"> ${ co ...
- matplotlib无法显示中文
import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['KaiTi']mpl.rcParams['font.serif'] = ['K ...
- 加载selenium2Library失败---robotframework环境搭建(site-packages下无selenium2library文件夹)
加载Selenium2library失败,检查D:\Python27\Lib\site-packages 目录下是否有Selenium2Library 目录,没有该目录,事情就尴尬了. 自己安装的版本 ...
- java 5 绘图GUI
---恢复内容开始--- 绘图的基本原理 color 在awt包里面 字体的相关类 Graphics类常用方法 JFrame 继承JFrame就有主窗口了 Java2D API 绘图的例子 了解Swi ...
- 【洛谷】 P1420 最长连号
题目描述 输入n个正整数,(1<=n<=10000),要求输出最长的连号的长度.(连号指从小到大连续自然数) 输入输出格式 输入格式: 第一行,一个数n; 第二行,n个正整数,之间用空格隔 ...
- 怎么去掉select的下拉箭头和输入框input类型为number时的上下箭头
一.去掉select的下拉箭头 方法一:在select外面加一个div,设置select宽度大于div的宽度,并加一个超出隐藏属性overflow:hidden,小三角会隐藏掉: 方法二:给selec ...
- 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储。
https://github.com/kcloze/swoole-jobs 一个基于swoole的作业调度组件,已经实现了redis和rabitmq队列消息存储.参考资料:swoole https:/ ...