20100617--算法竞赛入门经典 语言篇读书笔记

来源:互联网 发布:linux高性能服务器编程 编辑:程序博客网 时间:2024/03/29 21:32

  正在下载Ubuntu10.04,顺手把这一阶段断断续续看的这本书的笔记写下。

  这是刘汝佳老师的入门佳作,对想要参加一些编程比赛的同学来说,很值得一读。这本书分为三个部分,语言篇,算法篇,竞赛篇。 

  语言篇总结了编程竞赛中常用的一些语法和注意事项。我在此再次总结一下:

  1.   输出格式,默认是左对齐.%0+格式符.可输出前导0;
  2. 竞赛中不要让程序“按任意键退出”,即调用 system("pause")
  3. 尽量用const关键字声明常数.
  4. floor函数,floor(x)返回x的整数部分,包含在math.h中,对于浮点数,在运算中可能产生误差,在进行浮点数比较时,应考虑到浮点误差,所以可以对浮点数X,做floor(X+0.5)减小误差。
  5. 要计算只含有加法,减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。
  6. 计时的使用:printf("Time used=%2.1f/n",(double)clock()/CLOCK_PER_SEC),包含在头文件time.h中
  7. scanf函数有返回值,返回成功输入的变量的个数。
  8. 变量再未赋值之前的值是不确定的。
  9. 文件的使用,参考本blog的学习笔记。
  10. 大数组的声明放在main函数的外面,不然会造成段溢出。C语言只能声明一维数组。
  11. memset(数组名,0,sizeof(数组名)),清零数组。包含在头文件string.h中,memset是以字节为单位填充数据.
  12. 合理利用assert宏

 

    原创粉丝点击