C/C++编程小技巧和注意事项
2013-05-13 19:39
316 查看
1.1. 慎用sqrt()函数,当要计算sqrt一个整数的时候,由于sqrt()没有4舍5入原则,如果得到的数 >= xxx.5 时 . 5会被截掉导致错误,所以应写成sqrt(xxx+0.5);
1-2. 编写函数时,应尽量保证他能对任何合法参数都能得到正确的结果,如若不然,应在显著的位置标明函数的缺陷,以避免误用。如使用assert.h中的assert宏来限制非法函数调用,同时也能很快的找到程序错误的根源。
当传入的x或y值不大于0时程序会提示:
![](http://img.blog.csdn.net/20130513185825748)
这样就可以很快找到bug了。
1.3 程序计时 众所周知ACM很重要的一点就是程序跑得时间,那么如何得到这个时间呢,很简单:只需要在程序最后打印出clock()/(double)CLOCK_PER_SEC即可(需要time.h)
1-2. 编写函数时,应尽量保证他能对任何合法参数都能得到正确的结果,如若不然,应在显著的位置标明函数的缺陷,以避免误用。如使用assert.h中的assert宏来限制非法函数调用,同时也能很快的找到程序错误的根源。
#include<stdio.h> #include<assert.h> int gcd(int x,int y) { assert(x>0&&y>0); if(y==0)return x; return gcd(y,x%y); } int main() { printf("%d",gcd(2,0)); }
当传入的x或y值不大于0时程序会提示:
这样就可以很快找到bug了。
1.3 程序计时 众所周知ACM很重要的一点就是程序跑得时间,那么如何得到这个时间呢,很简单:只需要在程序最后打印出clock()/(double)CLOCK_PER_SEC即可(需要time.h)
#include<stdio.h> #include<time.h> int gcd(int x,int y) { if(y==0)return x; return gcd(y,x%y); } int main() { printf("%d\n%.4lf\n",gcd(2000,999),clock()/(double)CLOCKS_PER_SEC); }
相关文章推荐
- c++ 编程注意事项和知识点
- client c++客户端编程注意事项
- C++ 函数使用总结/编程注意事项
- 【东南大学】【仪器科学与工程学院】C++下第四次上机作业 单链表类模板 非书上版本 本人自创版本 部分参考书上 包含编程时一些该注意的事项
- C++ 关于MFC多线程编程的注意事项
- [C++/CLI] C# C++/CLI 混合编程类型转化注意事项
- C++(MFC)编程一些注意事项
- C++ struct 编程注意事项
- C和C++混合编程注意事项
- C++中ifstream使用笔记(一)(常用方法和注意事项)
- C++ 与“类”有关的注意事项总结(六):嵌套类与局部类
- MFC多线程编程注意事项
- C++中对类的提前引用声明注意事项
- GPGPU OpenCL/CUDA 高性能编程的10大注意事项
- VS编程中注意事项
- Ubuntu下C++开发PHP开发扩展的注意事项
- C++ operator= 注意事项
- 64位平台C/C++开发注意事项
- c++注意事项.
- 关于C++语句的几点注意事项