Skip to content

ZZy979/TCPL-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCPL-code

《C程序设计语言》(The C Programming Language)(第2版)书中代码和练习题解答

图书链接:https://book.douban.com/subject/1139336/

笔记:https://zzy979.github.io/posts/tcpl-note-index/

运行方式

Windows

方式一:复制到Visual Studio运行

方式二:在命令行中使用gcc编译,例如:

> cd ch1
> gcc -o hello_world.exe -ansi hello_world.c
> hello_world.exe

Linux

方式一:使用gcc编译,例如:

$ cd ch1
$ gcc -o hello_world.out -ansi hello_world.c
$ ./hello_world.out

方式二:使用make构建

构建单个目标

$ cd ch1
$ make hello_world.out
$ ./hello_world.out

构建所有目标

$ make

既可以在根目录下运行,也可以在每章目录下运行

删除输出文件

$ make clean

单元测试

每章目录下的testdata/tests.txt文件配置要运行的单元测试,每行的格式为

target [output_file] [input_file] [args]

例如:

foo_test.out testdata/foo_output.txt testdata/foo_input.txt -x -y

其中,如果指定了output_file,则通过比较程序的标准输出和指定的文件内容进行测试,否则仅判断程序的返回码是否为0。

单元测试运行方式

$ make test

既可以在根目录下运行,也可以在每章目录下运行

代码目录

第1章 导言

1.1 入门

1.2 变量与算术表达式

1.3 for语句

1.4 符号常量

1.5字符输入/输出

1.5.1 文件复制

1.5.2 字符计数

1.5.3 行计数

1.5.4 单词计数

1.6 数组

1.7 函数

1.8 参数——传值调用

1.9 字符数组

1.10 外部变量与作用域

第2章 类型、运算符与表达式

2.2 数据类型及长度

2.3 常量

2.7 类型转换

2.8 自增运算符与自减运算符

2.9 按位运算符

2.10 赋值运算符与表达式

2.11 条件表达式

第3章 控制流

3.3 else-if语句

3.4 switch语句

3.5 while循环与for循环

3.6 do-while循环

3.7 break语句与continue语句

第4章 函数与程序结构

4.1 函数的基本知识

4.2 返回非整型值的函数

4.3 外部变量

4.10 递归

4.11 C预处理器

第5章 指针与数组

5.2 指针与函数参数

5.3 指针与数组

5.4 地址算术运算

5.5 字符指针与函数

5.6 指针数组以及指向指针的指针

5.7 多维数组

5.9 指针与多维数组

5.10 命令行参数

5.11 指向函数的指针

5.12 复杂声明

第6章 结构

6.2 结构与函数

6.3 结构数组

6.4 指向结构的指针

6.5 自引用结构

6.6 表查找

第7章 输入与输出

7.1 标准输入/输出

7.2 格式化输出——printf

7.3 变长参数表

7.4 格式化输入——scanf

7.5 文件访问

7.6 错误处理——stderr和exit

7.7 行输入和输出

About

《C程序设计语言》书中代码和练习题解答

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published