Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Nanjing University

C程序设计训练

Nanjing University via XuetangX

Overview

人类社会已经进入高度信息化阶段,现实世界日益复杂,许多实际问题的求解需要计算思维和计算机系统能力的支撑。基于系统级编程语言(C语言)进行程序设计训练,不仅是信息学科人才计算机系统能力提升的必要环节,也是非信息学科人才计算思维塑造的重要途经。

本课程基于南京大学计算机科学与技术系线下课程《程序设计基础》(南京大学“百层次”优质课程)开发而成。课程的特色在于阐明了程序设计与程序设计语言之间的关系,厘清了程序设计与算法和数据结构之间的区别和联系。课程不仅用清晰的主线组织相关知识点,而且给出对应的能力训练侧重点。课程围绕过程式程序设计范式,解释程序设计的基本概念,并结合经典例子和训练题,介绍分析实际问题的基本思路,强调如何规范地开发风格良好的计算机程序来实现问题的求解,演示多种代码调试和纠错方法。

课程内容包括初识C程序(认知与体验)、程序的流程控制(判断与推理)、程序的模块设计(抽象与封装)、程序中操作与数据的描述(表达与转换)、派生数据类型及其应用(构造与访问)、程序与程序设计的本质(归纳与推广)等主题。

课程基于程序设计实践,循序渐进地引导学习者提升逻辑思维、结构化思维、乃至计算机系统思维的能力。

Syllabus

  • 0-初识C程序
    • 0.1 计算机与程序
    • 0.2 C语言基本元素
    • 0.3 变量与数据的输入/输出
  • 1-流程控制方法(判断与推理)
    • 1.1 分支流程的控制方法
    • 1.2 循环流程的控制方法
    • 1.3 循环流程的嵌套与优化
    • 1.4 循环流程的折断与接续
    • 1.5 流程控制方法的应用
  • 2-模块设计方法(抽象与封装)
    • 2.1 单模块程序的设计-子程序与C函数实现抽象与封装
    • 2.2 单模块程序的设计-C函数间的通讯方式
    • 2.3 单模块程序的设计-C函数的嵌套与递归调用
    • 2.4 单模块程序的设计-递归调用的应用
    • 2.5 多模块程序的设计-模块/接口及标识符的作用域属性
    • 2.6 多模块程序的设计-标识符的链接、名空间及存储期属性
    • 2.7 模块设计相关的优化-宏定义与内联函数
    • 2.8 模块设计相关的优化-条件编译的作用与程序的调试
  • 3-操作表达方法(表达与转换)
    • 3.1 基本操作及其运用
    • 3.2 位操作及其应用
    • 3.3 表达式的有关问题
  • 4-数据描述方法(表达与转换)
    • 4.1 补充-计算机中的信息表示-二进制、原码与补码
    • 4.2 补充-计算机中的信息表示-浮点数、BCD码与ASCII码(补充-浮点数、BCD码与ASCII码
    • 4.3 整型与字符型
    • 4.4 浮点型与逻辑型
    • 4.5 基本数据类型的转换
  • 测试1
    • 5-数组(构造与访问)
      • 5.1 一维数组及其应用
      • 5.2 二维数组及其应用
      • 5.3 数组上的操作
    • 6-指针(构造与访问)
      • 6.1 地址与传址调用1
      • 6.2 传址调用1'与函数的副作用
      • 6.3 指针的操作
      • 6.4 动态变量
      • 6.5 函数指针
    • 7-字符串(构造与访问)
      • 7.1 字符数组与字符指针
      • 7.2 字符串处理库函数及多个字符串的处理
    • 8-结构(构造与访问)
      • 8.1 结构类型
      • 8.2 指针与结构
    • 9-链表(构造与访问)
      • 9.1 链表的创建与输出
      • 9.2 链表的插入与删除
      • 9.3 链表操作的注意事项与应用
    • 10-文件(构造与访问)
      • 10.1 文件的基本操作
      • 10.2 文件操作的异常情况
    • 11-枚举与联合(构造与访问)
      • 12-程序与程序设计的本质(归纳与推广)
        • 12.1 程序与程序设计的本质
        • 12.2 程序设计范型
        • 12.3 程序设计语言与程序设计过程
      • 测试2

        Taught by

        Qizhi LIU

        Tags

        Reviews

        Start your review of C程序设计训练

        Never Stop Learning.

        Get personalized course recommendations, track subjects and courses with reminders, and more.

        Someone learning on their laptop while sitting on the floor.