这是一本适合C语言零基础,但对C编程有强烈兴趣,想探求其奥秘和精髓的学员阅读学习的书。
起名为《新概念C语言》是希望借鉴《新概念英语》教材的写法,不着重强调语法和词汇(知识点),而是以范文和场景(应用)来构建课程(Lesson)。
全书分为 4个 Unit,每个 Unit 包含 24 个 Lesson,一共 96 个 Lesson。
其中每个 Lesson 对应一段可编译执行的典型代码,解决一个有趣的计算机问题,例如约瑟夫环。
这些代码范例的编写,作者将力求做到句法经典,内涵丰富,适合初学者模仿和扩展。
全书内容大纲如下:
-
Unit 1 : C Foundmentals
覆盖基本C语法结构--变量,表达式,语句,函数,数组,结构体,位操作,指针等,学会使用递归和状态机思想编程。 -
Unit 2 : C Essentials
覆盖常用算法和数据结构--链表,队列,栈,二叉树,排序查找,压缩算法,库函数等 -
Unit 3 : C Classicals
覆盖经典计算机问题的解法--汉诺塔,迷宫,八皇后,表达式求值等 -
Unit 4 : C Compiler
用C语言实现一个类C语言的编译器,最后能够编译生成 ARM 开发板上的二进制驱动程序。
(作者注: 目前仅完成 Unit 1 部分,希望能够有更多优秀的老师参与编写,请和我联系。)
- Lesson 1 What is a simplest C program? 最简单的C程序
- Lesson 2 Let's say hello to world 打印输出
- Lesson 3 Count how many fingers do you have? 循环打印
- Lesson 4 Judge a number odd or even 判断奇偶
- Lesson 5 Summarize all numbers from 1 to 100 从1加到100求和
- Lesson 6 Print 9*9 multiplication table 乘法表
- Lesson 7 Find a max prime number within 100 求100以内的最大素数
- Lesson 8 Josephus ring 约瑟夫环
- Lesson 9 Calculate the distance between 2 point 求两个坐标点之间的距离
- Lesson 10 Find how many 9 in number 1 to 100 1到100有多少个9
- Lesson 11 Convert a number to a string 整型转字符串
- Lesson 12 Does your machine use little-endian? 判断机器存储是否小尾端
- Lesson 13 Sorry, your car is restricted today 对不起,你的车今天限行
- Lesson 14 Is there a way out? 判断地图上某点是否有出路
- Lesson 15 Count bit 1 in a number 统计一个数二进制表示中1的个数
- Lesson 16 How to strcpy 字符串拷贝
- Lesson 17 Find how many words in an artitle 统计单词个数
- Lesson 18 My printf 实现 printf
- Lesson 19 Shell command parser 命令解释器
- Lesson 20 RECTANGULAR and POLAR 直角坐标和极坐标互换
- Lesson 21 Is this number a float? 浮点数判别
- Lesson 22 Guess what number in my hand 猜数游戏
- Lesson 23 Five-Chess game 五子棋
- Lesson 24 Build a simple Search Engenine 简单搜索引擎
- Lesson 25 正在规划中
- Lesson 26
- Lesson 27
- Lesson 28
- Lesson 29
- Lesson 30
- Lesson 31
- Lesson 32
- Lesson 33
- Lesson 34
- Lesson 35
- Lesson 36
- Lesson 37
- Lesson 38
- Lesson 39
- Lesson 40
- Lesson 41
- Lesson 42
- Lesson 43
- Lesson 44
- Lesson 45
- Lesson 46
- Lesson 47
- Lesson 48
- Lesson 49
- Lesson 50
- Lesson 51
- Lesson 52
- Lesson 53
- Lesson 54
- Lesson 55
- Lesson 56
- Lesson 57
- Lesson 58
- Lesson 59
- Lesson 60
- Lesson 61
- Lesson 62
- Lesson 63
- Lesson 64
- Lesson 65
- Lesson 66
- Lesson 67
- Lesson 68
- Lesson 69
- Lesson 70
- Lesson 71
- Lesson 72
- Lesson 73
- Lesson 74
- Lesson 75
- Lesson 76
- Lesson 77
- Lesson 78
- Lesson 79
- Lesson 80
- Lesson 81
- Lesson 82
- Lesson 83
- Lesson 84
- Lesson 85
- Lesson 86
- Lesson 87
- Lesson 88
- Lesson 89
- Lesson 90
- Lesson 91
- Lesson 92
- Lesson 93
- Lesson 94
- Lesson 95
- Lesson 96