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


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

    第一章 程序设计入门

    学习目标:

    • 熟悉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

  • 相关阅读:
    JavaScript(第五天)【流程控制语句】
    JavaScript(第四天)【运算符】
    JavaScript(第二天)【语法,变量】
    JavaScript(第一天)【<script>标签浅析】
    JavaScript(简介)【Javascript历史】
    [LeetCode-JAVA] Substring with Concatenation of All Words
    [LeetCode-JAVA] Reverse Nodes in k-Group
    [LeetCode-JAVA] Median of Two Sorted Arrays
    [LeetCode-JAVA] Contains Duplicate IIIMaximal Square
    [LeetCode-JAVA] Contains Duplicate III
  • 原文地址:https://www.cnblogs.com/Losers-AFC/p/3325919.html
Copyright © 2020-2023  润新知