算法竞赛入门经典(读书笔记)--第一部分

算法竞赛入门经典(读书笔记)--第一部分

第一章 程序设计入门

学习目标:

  • 熟悉C语音程序的编译和运行
  • 学会编程计算并输出常见的算术表达式的结果
  • 掌握整数和浮点数的含义和输出方法
  • 初步了解变量的含义
  • 掌握整数和浮点数变量的声明方法
  • 掌握整数和浮点数的读入方法
  • 掌握变量交换的三变量法
  • 理解算法竞赛中的程序三部曲:输入、计算、输出
  • 记住算法竞赛的目标以及其对程序的要求

1.1 算术表达式

1.2 变量以及其输入

1.3 顺序结构程序设计

1.4 分支结构程序设计

第二章 循环结构程序设计

学习目标

  • 掌握for循环的使用方法
  • 掌握while循环的使用方法
  • 学会使用计数器和累加器
  • 学会用输出中间结果的方法调试
  • 学会用计时函数测试程序效率
  • 学会用重定向的方式读写文件
  • 学会用fopen的方式读写文件
  • 了解算法竞赛对文件读写方式和命名的严格性
  • 记住变量在赋值之前的值是不确定的
  • 学会使用条件编译指示构建本地运行环境

2.1 for循环

2.2 循环结构程序设计

2.3 文件操作

第三章 数组和字符串

学习目标

  • 掌握一位数组的声明和使用方法
  • 掌握二维数组的声明和使用方法
  • 掌握字符串的声明、赋值、比较和连接方法
  • 熟悉字符的ASCII码和ctype.h中的字符函数
  • 正确认识++、+=等能修改变量的运算符
  • 学会用编译选项-Wall获得更多的警告信息
  • 掌握fgetc和getchar的使用方法
  • 了解不同操作系统中换行符的表示方法
  • 掌握fgets的使用方法并了解gets的“缓冲区溢出”漏洞
  • 理解预处理和迭代开发的技巧

3.1 数组

蛇形填数

3.2 字符数组

3.3 最长回文子串

第四章 函数和递归

学习目标

  • 掌握多参数、单反回值的数学函数的定义和使用方法
  • 学会使用typedef定义结构体
  • 学会使用assert宏帮助调试
  • 理解函数调用时用实参给形参赋值的过程
  • 学会定义局部变量和全局变量
  • 理解调用栈和栈帧,学会用gdb查看调用栈并选择栈帧
  • 理解地址和指针
  • 理解递归定义和递归函数
  • 理解可执行文件中的正文段、数据段和BSS段
  • 熟悉堆栈段,了解栈溢出的常见原因

4.1 数学函数

。。。to be continue

原文地址:https://www.cnblogs.com/Losers-AFC/p/3325919.html