LRJ 白书要点提示小结

教主的经典书,做个简单的小结

如果没有足够的时间用来实践,那么学得快,忘得也快。

 

提示1-1 整数用%d输出,实数用%lf输出

 

提示1-2 整数 / 整数 = 整数, 浮点数 / 浮点数 = 浮点数

 

提示1-3 scanf中的占位符和变量的数据类型应该一一对应,每个变量前需要&符号

 

提示1-6 每行输出均以回车符结束,包括最后一行,除非特别说明,每行的行首不应该有空格,

                  每两个数和字符串之间应该用单个空格隔开。

 

提示1-7 尽量用const关键字声明常数

 

提示1-9 printf的格式字符串可以包含其他可打印符号,打印时原样输出

 

提示1-16 C语言中的逻辑运算符都是短路运算符。一旦能够确定整个表达式的值,就不再继续计算

 

提示2-6 浮点运算可能存在误差,在进行浮点数比较的时候,应考虑到浮点误差

 

提示2-10 在观察无法找到错误时,可以用“输出中间结果”的方法查错

 

提示2-16 变量在未赋值之前的值是不确定的,特别的,它不一定等于0

 

提示3-2 常常难以精确计算出需要的数组大小,数组一般会声明的稍大一些,在空间够用的情况下,浪费一些不要紧

 

提示3-3 比较大的数组应尽量声明在main函数之外

 

提示3-6 在很多情况下,最好是在做一件事之前检查是不是可以做,而不要做完后悔,“悔棋”往往比较麻烦

 

提示3-7 C语言中的字符型关键字用char表示,它实际存储的是字符的ASC码,字符常量可以用单引号表示,在

            语法上可以把字符当int型使用

 

提示3-9 可以用sprintf把信息输出到字符串,用法和printf,fprintf类似。但你应当保证字符串足够大

 

提示3-11 字符的本质是数组,它也不是“一等公民”,只能用strcpy,strcmp,strcat等执行赋值,比较,连接

              ,而不能用=,==,<=,+等运算符,上述函数位于string.h

 

提示3-12 滥用++,--可能带来隐蔽的错误,建议每条语句只用一次这种运算符

 

提示3-17 C语言不禁止程序读写“非法内存”。

 

提示3-18 C语言gets(s)存在缓冲区溢出漏洞,不推荐使用

 

提示3-19 当任务比较复杂时,可以用预处理的方式简化输入,并提供更多的数据供使用。复杂的

              字符串处理题目往往可以通过合理的预处理简化任务,便于调试。

 

提示3-21 在程序比较复杂的时候,除了设计阶段可以用伪代码理清思路外,编码阶段可以采用迭代

              开发--每次只实现一点小功能,但要充分测试,确保它正常工作

 

顺便说一句C++中还有一种“字符串流”,可以实现类似sscanf,sprintf的功能  <sstream>

 

如果按照自己的方式处理字符串,千万要保证它以'\0'结尾

 

提示4-7 即使最终答案在我们选择的数据类型范围以内,计算的中间结果仍然可能溢出

 

提示4-8 建议把谓词命名为is_xxx的形式,int值,0表示假,非0表示真

 

提示4-10 编程时合理使用assert宏,将给调试带来很大的方便

 

提示4-19 在运行时,程序会动态创建一个堆栈段,里面存放着调用栈,因此保存着函数的调用关系和局部变量

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值