从零开始学C

课程大纲

您想从头开始掌握基本的编程概念吗?您是否觉得有必要更好地理解这一切是如何运作的?好吧,你来对地方了。本课程概述了数据类型、控制流、函数、输入/输出、内存、编译…

课程内容

隐藏所有课程

1. 为什么用 C 语言编程?

什么是C?

优点与挑战

什么时候应该使用 C?

底线

参考

2. 基本类型、运算符和表达式

打印报表

变量

数据类型和大小

常数

声明

表达式

类型转换

使用 typedef 定义您自己的类型名称

递增和递减运算符

基本类型、运算符和表达式的练习

测验自己的基本类型、运算符和表达式

3. 控制流程

循环

条件句

转变

中断并继续

控制流练习

测验自己的控制流

4. 功能

基本原理

定义函数

输入参数

返回值

参数检查

变量范围

自动与静态变量

可变函数

函数练习

测验自己的功能

5. 复杂数据类型

数组

数组初始化和更新数组元素

多维数组

可变长度数组

命令行参数

结构

复杂数据类型练习

复杂数据类型测验

6. 内存:堆栈与堆

堆栈

堆栈与堆:优点和缺点

堆栈和堆的例子

什么时候使用堆?

链接

在堆栈和堆上测验自己

7. 指针

指针

指针和数组

将指针传递给结构

将指针传递给函数

动态分配的内存

链接

指针练习

测验自己的指针

8. 字符串

字符串

C 标准库中的字符串处理例程

字符串数组

链接

String练习

字符串测验

9. 输入输出

I/O 流

带文件的输入和输出

二进制文件(原始字节)

链接

输入输出练习

测验自己的输入和输出

10. 宏和 C 预处理器

C 处理器和`#define` 语句

条件编译

链接

测验

11.编译、链接、Makefile、头文件

将程序拆分为多个文件

GNU `make` 实用程序和 Makefiles

链接

12. 调试

GNU 项目调试器 gdb

断点

陷阱

棘手的代码

链接

测验

13. 加速你的代码

使用 `gprof` 分析您的代码

已知Slugs

使用优化器编译器标志

链接

14. 进阶主题 1:其他一些有用的 C 库的简要介绍

介绍

GLib

GNU 库 (GSL)

BLAS/LAPACK

阿波芬尼亚

GNU绘图

15. 进阶主题 2:C 中的并行编程

为什么要并行编程?

并行编程的种类

并行编程工具

开放式MP

MPI

链接

练习

测验

16. 杂项

此处未涵盖的主题(尚未)

链接

17. 设置你的计算环境

安装一些基本工具

练习