【读书笔记】算法竞赛入门经典读书笔记1——第1部分 语言篇
本篇博客记录一下《算法竞赛入门经典》这本书的读书笔记,最近一直想复习一下数据结构与算法,顺便刷刷题做一下职业规划,正好以前一门选修课买了这本书,因此想把这本书作为入门学习的一部分
第1章 程序设计入门
第1章主要是介绍一些c语言的基本概念,对于有c语言基础的人可以快速过一下,同时也介绍了一些在竞赛中的程序规范:
- 在竞赛中程序的执行是自动完成的,没有人工干预,因此不能打印一些提示信息
- 不要让程序按任意键退出(system("pause")和getchar()等)
- 输出的格式要严格按照要求
- 算法竞赛的目标是编程对任意输入均得到正确的结果,而不仅是样例数据
根据书中所给的例子还学习了一些c语言的知识:
%m.n__
:指定数据宽度和小数位数,输出占m列,其中包括n位小数(小数点占1位),n位的最后一位按四舍五入处理%-m.n__
:输出的数据向左对齐,数据向左端靠,右端补空格(默认是右对齐,左端补空格)%0nd
:不足n位长度左补齐0- c语言的逻辑算法符都是短路运算符,一旦能够确定整个表达式的值,就不再继续计算
以及编程的一些技巧:
- 交换两个变量:三变量法
- 可以通过手工模拟的方法理解程序的执行方式
- 原则:保持简单(Keep It Simple and Stupid,KISS)
C语言、C99、C11及其他
编译器:把人类可以看懂的源代码变成机器可以直接执行的指令
C语言标准:
- C11
- C99
- ANSI C(C89)