本书学习C语言和C程序设计。全书共10章6个案例。第1章简介C语言92个字、6类基本词、4类组合词、1个词组和30个句子;第2章介绍数值型数据和4种程序设计方法: 直接、分支、循环、函数程序设计方法;第3章直接进入“小学生四则运算测试系统”的案例设计;第4章以C语言、英语、汉语为基础,介绍字符和字符串类型、指向数值型的指针、指向文件型的指针和文件程序设计方法;第5章介绍结构、联合、枚举、位结构4种组合类型的数据结构;第6章是“C程序基本词识别系统设计与实现”的案例,对C语言的关键字、标识符、常量、运算符、分隔符、注解符从语法上进行深入研究;第7章是“C语言试卷成绩分析系统”案例,对成绩进行定量和定性分析;最后3章是3个案例,分别对C的复合词、C的表达式、C的程序查错与纠错进行识别研究。
全书结构新颖,以C语言和C程序为领域知识,介绍C语言和C程序,内容由浅入深、案例新颖,非常适合于高等学校计算机专业的本科生、研究生阅读。
目前“C语言程序设计”出版的书很多,有适宜初学的、有实用的、有高级的、有案例的,更有大全的书。书被写得越来越厚,书的价格也越来越高。其实,“C语言程序设计”书的内容,不外乎4个方面: C语言的知识、程序设计的知识、C库函数的知识、例题或案例的领域知识。前两种知识是固定不变的,并不因为是初级的书就少一些,也不因为是高级的书就多一些;它们的差别在于内容排列次序不同、库函数使用的多少不同、例题或案例的领域知识不同,从而引出不同版本的书。初学者看了初学的、实用的和大全的书,感到难学;去看高级的和案例的书,因为没有前面的知识,就感到更难学。
结合自己多年的教学经验,我写过几本“C语言程序设计”的书,也没有跳出“老套路”: 先讲解基本概念、基本类型、表达式、基本语句;围绕这些C语言知识,选择案例讲解程序设计的知识: 输入、加工、输出的直接程序设计,具有判断的分支程序设计,重复多次的循环程序设计;再讲解复杂类型、指针类型和文件类型的知识;然后结合例题或案例讲解实用程序。领域知识不外乎数学、人工智能、各种管理、游戏程序等。用到的方法有累加法、累乘法、穷举法、递推法、迭代法、递归法等。我也误认为“学会了这样的C语言程序设计就会解决问题了”,其实不然,学会了“C语言程序设计”只是学会了人工语言的C和程序设计的基本方法,不能说“就会解决问题了”,因为解决问题要涉及具体领域。不懂具体领域的知识,怎么能解决这个领域的问题?或者说,单凭学会了“C语言程序设计”中个别的数学、人工智能、各种管理、游戏的程序,是不能解决具体领域问题的。
C语言的知识点不多: 92个字、6类基本词、4类组合词、1个词组和30个句子。
学C语言程序设计是为了编写程序,所以这本书名为“如何编写C程序”。学习编写程序,解决问题是目的,学C语言和程序设计是手段与工具。本书以C语言和C程序为领域,来学习C语言和C程序,没有了数学、人工智能的知识,而多了些处理语言信息的知识。
本书特点:
(1) 全书的例子与案例都围绕着语言、C语言和C程序取材,有利于更好地学习和理解C语言和C程序,有利于处理语言知识。
(2) 全书的内容安排,由浅入深、顺序渐进地介绍,边学边用。
(3) 全书由函数概念开始介绍C语言的语句,从介绍调用系统函数来学习编程;强调编写大程序的程序结构、调用关系的程序结构和数据传递的程序结构的编程方法。全书共10章6个案例,每个案例是1章。一般读者就学前3章;想学习C语言程序设计的读者,建议学习前7章;想研究C语言程序设计的读者,后3章中挑1、2章学会它、完善它。本书最适用于计算机专业的学生阅读,特别是书后的10个课题,适合于创业。
第1章C语言简介1
1.1C语言的字1
1.2C语言的词1
1.3C 语言的词组3
1.4C语言的句子4
第2章如何编写简单程序8
2.1编程四步法8
2.2C函数和与函数有关的语句9
2.2.1C函数模型9
2.2.2C函数调用9
2.2.3与函数有关语句10
2.3利用系统函数编写程序13
2.3.1指定位置显示指定信息的编程13
2.3.2开辟窗口技术的编程14
2.4常量、变量、基本类型说明语句17
2.4.1常量、变量17
2.4.2基本类型说明语句18
2.4.3变量的引用和初始化定值19
2.4.4人机对话技术的编程21
2.5算术表达式和赋值语句24
2.5.1算术表达式24
2.5.2赋值语句25
2.5.3直接程序设计举例26
2.6关系表达式、逻辑表达式和判断语句30
2.6.1关系表达式30
2.6.2逻辑表达式30
2.6.3判断语句31
2.6.4分支程序设计举例32目录如何编写C程序2.6.5计数器技术与if_goto程序设计38
2.7结构化循环语句40
2.7.1循环语句40
2.7.2与循环结缘的语句44
第3章案例一: “小学生四则运算测试系统”48
3.1系统功能分析48
3.2程序结构设计49
3.3用户使用手册设计51
3.4关键技术51
3.5主函数详细设计52
3.6加法函数详细设计53
3.7成绩显示函数详细设计54
3.8减法函数详细设计55
3.9乘法或除法函数详细设计56
3.10本系统源程序57
第4章文字信息处理61
4.1文字信息处理的对象61
4.1.1字符类型、字符函数和举例61
4.1.2字符串类型、字符串函数和举例70
4.2指针类信息处理的对象78
4.2.1指针类型、指针函数和举例78
4.2.2文件类型、文件函数和举例85
4.2.3文件格式化输入输出函数92
4.2.4数据块输入输出的文件操作93
4.3汉字处理94
4.3.1汉语文字机内表示94
4.3.2汉字文本字和标点符号统计95
4.4汉字词的处理97
4.5汉语文本词信息处理104
第5章复合类型114
5.1基本类型与数组类型的回顾114
5.2结构类型119
5.3联合类型125
5.4枚举类型130
5.5位与位段类型135
5.5.1位类型与位运算135
5.5.2位段类型与位段运算137
第6章案例二: C程序基本词识别系统设计与实现141
6.1C程序词识别的基本概念141
6.2基本词识别算法分析142
6.3基本词识别系统程序结构144
6.4各个基本词主要特征识别程序146
6.5基本词识别程序150
6.6基本词识别系统源程序155
第7章案例三: C语言试卷成绩分析系统161
7.1系统功能161
7.2系统模块一般功能叙述162
7.3试卷成绩分析系统的系统程序结构162
7.4系统功能模块的详细设计与程序设计163
7.4.1考试成绩输入模块函数kscjsrmk()的详细设计163
7.4.2定量分析模块函数dlfxmk()的详细设计与程序设计165
7.4.3填表模块函数tbmk()的详细设计与程序设计167
7.4.4题型和题量识别模块函数txtlsbmk()的详细设计与程序设计170
7.4.5卷面内容识别模块函数jmnrsb()的程序设计174
7.4.6模板填写模块mbtxmk程序182
7.5C语言试卷成绩分析系统的源程序185
第8章案例四: C语言复合词识别程序193
8.1复合词识别算法193
8.2标准句式的转换程序193
8.3标准词性句式的转换程序206
8.4复合词词性表示集207
8.5复合词匹配207
8.6复合词识别源程序209
8.6.1复合词的类别209
8.6.2复合词识别的知识表212
8.6.3复合词识别程序的组成213
第9章案例五: C语言表达式识别与计算程序223
9.1C语言表达式的基本概念223
9.2表达式计算的基本方法224
9.2.1单一运算符算术表达式计算的基本方法224
9.2.2混合运算符算术表达式计算的基本方法228
9.3扩大表达式运算对象的方法232
9.3.1递归函数编程法232
9.3.2递归下降编程法236
9.4扩大C表达式运算符的方法243
9.4.1C关系运算符的扩大方法244
9.4.2C赋值运算符的扩大方法248
9.4.3C语言表达式完整的语法定义252
9.4.4C语言表达式程序257
第10章案例六: C程序查错和纠错程序262
10.1C程序查错与纠错概念262
10.2特定int说明语句识别、查错与纠错程序探讨263
10.2.1特定int说明语句识别、查错程序263
10.2.2特定int说明语句纠错程序266
10.3放宽条件的特定int语句识别、查错与纠错程序268
10.3.1放宽条件的特定int语句分隔符识别、查错和纠错程序268
10.3.2放宽条件的特定int语句变量识别、查错和纠错程序271
10.4一般int说明语句识别、查错与纠错程序274
10.4.1一般int说明语句识别程序275
10.4.2一般int说明语句识别、查错程序277
10.4.3一般int说明语句变量查错程序282
10.5C 语言if语句识别、查错与纠错程序设计289
10.5.1if语句识别的程序设计289
10.5.2if语句查错的程序设计293
后语296