《C程序设计案例与提高教程(第2版)/高等院校信息技术规划教材》共分3部分。第1篇共7章,是基本C编程精要,概括基本C语言中最重要的一些知识点,总结大量的编程技巧和经验,并指出编程中易犯的错误;第2篇共8章,讲述扩展C语言的一些实用编程知识:内存管理机制、DOS和BIOS调用、I/O接口的输入输出、中断处理程序的编写、鼠标和键盘操作、C作图、汉字处理以及数据结构基础等;第3篇共7章,是实例解析,汇集了大量典型实例,并对这些实例进行分析讲解,给出了源代码。
《C程序设计案例与提高教程(第2版)/高等院校信息技术规划教材》既可作为深入学习C语言的教材,也可作为基本C语言学习的辅助教材和参考书。
ForewordC语言是高等学校计算机及相关专业的必修专业课,是培养学生编程思想、动手能力的主要课程和工具,也是面向对象程序设计、数据结构等后续课程的先导课。对C语言的掌握情况将很大程度上决定着学生大学4年的学习情况。
鉴于C语言的重要地位,优秀的C语言教材层出不穷,广泛用于课堂教学。但限于篇幅,绝大多数教材都只列出了基本语法规则和基本知识点,对于实际编程中用到的一些编程技巧和经验涉猎不多,而对于基本C语言(即一般C语言教材介绍的内容)之外的扩展知识和实用技术则更少提及,这使得学生在学完C语言后,在面对实际问题时依然感觉无从下手。针对这种情况,我们编写了本书。
本书共分3篇。第1篇是对基本C语言中一些重要内容的总结和补充,概括基本C语言的精要和编程经验,指出编程中易出现的问题并介绍一些编程技巧;第2篇讲述扩展C语言的一些实用编程技术: 内存管理机制、DOS和BIOS调用、I/O接口的输入输出、中断处理程序的编写、鼠标和键盘操作、C作图、汉字处理以及数据结构基础等;第3篇是实例解析,汇集大量典型实例,并对这些实例进行讲解,给出源代码。
编写本书的目的是培养编程思想,扩展知识面,提高编程能力,为后续课程的学习和今后的工作打下坚实的基础。
本书适用对象: 一是已经学过C语言,想继续深入学习,以更好地掌握C语言的读者,可将本书作为深入学习的教材;二是正在学习C语言的读者,可将本书作为辅助教材或学习参考书。
关于本书有以下几点说明。
1. 内容
本书是面向有C语言基础的读者编写的,所以对第1篇基本C语言的内容不再系统地、面面俱到地讲述,而是根据多数人的掌握情况,针对学习中出现的问题,只归纳其中的重点和要点,介绍编程经验,指出常犯的错误。对于第2篇扩展C语言的一些实用编程知识,因多数人比较陌生,故做了较详细的叙述。第3篇是实例解析,对其中简单的例子,本书在正文中讲解算法和思路;而对于较大的程序,限于篇幅,仅在代码中用注释的方式解释。代码在本书配套资源中,可从清华大学出版社网站下载。
◆C程序设计案例与提高教程(第2版)前言2. 编译器
目前课堂教学常用的编译器有Turbo C 2.0(简称TC)和Visual C++ 6.0(简称VC)、CodeBlocks等,这些编译器各有优缺点。本书选择的是TC,因为它小巧、简单,对于学习C语言的知识来讲已经足够。书中的例子在TC下全部调试通过,大部分都可以在VC下运行(程序中的clrscr和getch需要去掉),但少量程序的运行结果可能会与在TC下不同。还有一些程序(如作图程序等)因使用了VC所没有的库函数,故只能在TC中运行。有一点需要注意:部分程序在TC下可能不需要包含相应的头文件,而在VC中则需要包含。
3. 例题和源代码
书中的所有例题和实例都在本书配套资源中提供了源代码,例题编号与源代码文件的编号一一对应。比如,例2.1的代码对应配套资源中的源文件s2_1.c,若该例题有3种解法,则对应的源文件分别是s2_1_1.c、s2_1_2.c、s2_1_3.c。
4. 代码的书写格式
(1)对于缩进格式中的大括号位置,书中的代码采用了国外教材通用的写法:for(i=1; i<=10; i++) {//左大括号的位置在本行最后
}//右大括号与for对齐而多数读者更习惯下面这种写法:for(i=1; i<=10; i++)
{
}为了照顾部分读者的习惯,便于调试程序,我们在配套资源的源代码中采用了后一种写法。
(2) 对于注释,本书多采用“//注释内容”的方式,主要是为了方便书写;而在配套资源的源代码中使用“/*注释内容*/”的方式,以便能在TC中运行。
(3) 对于输出结果中的提示性语言,如:printf("输出结果是%d\\n",result),书中多使用中文,是为了便于阅读,但TC本身不支持中文,因此运行时输出的不是汉字,而是乱码。这些提示性文字对理解程序影响并不大,读者若不希望出现这种乱码,可以先调用中文DOS再运行TC,或者将其中的汉字改为英文,如改为: printf("The result is %d\\n",result)。
本书第18、19、21章的全部以及第17章的实例12~19、第22章的实例3由肖进杰编写,其余部分由王金鹏编写。全书由王金鹏统稿。
在本书编写过程中,得到了原达教授的热情指导与大力支持,杜萍、程大鹏两位老师给了我们很大的帮助并参与了部分内容的编写,石艳荣老师提供了很多有价值的素材,在此一并向以上几位老师致谢。此外,本书的编写参考了大量的文献资料,谨向这些文献资料的作者表示感谢。
由于时间仓促和编者水平所限,书中难免疏漏和欠妥之处,恳请各位专家、读者不吝指正。
编者2015年3月
第一篇 基本C语言编程精要
第1章 C语言标准及常用编译器介绍
1.1 C语言标准介绍
1.1.1经典C语言
1.1.2 C89
1.1.3 C99
1.2 Turbo C 2.0编程环境及常用操作简介
1.2.1 TC的安装和配置
1.2.2 TC的调用
1.2.3 在TC中编辑、运行程序并查看结果
1.2.4 在DOS命令行中运行程序
1.2.5 在TC中调试程序
1.2.6 多文件程序的创建和运行
1.3 Visual C十十6.0编程环境及常用操作简介
1.3.1 工程及源文件的建立
1.3.2 程序的编译、连接和运行
1.3.3 程序的调试
习题1
第2章 输入输出
2.1 printf()和scanf()的常见问题
2.1.1 printf()函数
2.1.2 scanf()函数
2.2 输入数据时的回车换行问题
2.3 输出时常用的几个函数
2 3.1 clrscr()
2.3.2 getch()和getche()
2.4 输入输出重定向
习题2
第3章 程序的流程控制
3.1 选择结构
3.1.1 if语句和if—else语句
3.1.2 嵌套的if语句
3.1.3 if语句常见错误
3.1.4 if语句中的短路效应
3.1.5 switch语句
3.1.6 选择结构程序举例
3.2 循环结构
3.2.1 3种循环语句
3.2.2 计数器控制循环和其他条件控制循环
3.2.3 break和continue
3.2.4 循环结束时循环变量的值
3.2.5 循环举例
习题3
第4章 数组与指针
……
第二篇 扩展C编程技术
第三篇 实例解析
附录A 常用的视频BIOS调用
附录B INT 21H常用功能调用一览表
附录C ASCII码表
参考文献