《C语言程序设计(第3版)》在延续二版编写风格的基础上,根据计算机技术的发展,结合作者多年教学实践与研发经验,并考虑到读者的反馈信息,对各个章节的内容、结构等进行了修订、调整、完善和补充。全书分为12章,主要内容包括:C语言概述、数据类型、运算符和表达式、简单程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体、共用体与枚举,位运算,文件,面向对象程序设计及C++简介。《C语言程序设计(第3版)》采用“案例驱动”的编写方式,以程序设计为中心,语法介绍精炼,内容叙述深入浅出、循序渐进,程序案例生动易懂,具有很好的启发性。每章均配备教学课件和精心设计的习题。《C语言程序设计(第3版)》配套的《C语言程序设计实训与考试指导(第三版)》附有光盘和C语言题库及练习软件系统,以方便读者复习考试和上机操作,其中大容量题库及练习软件系统经过长期的测试和验证,对教学具有很高的参考价值。 《C语言程序设计(第3版)》既可以作为本专科院校C语言程序设计的教材,又可以作为自学者的参考用书,同时还可供各类考试人员复习参考。
《C语言程序设计(第3版)》特色: 紧扣教学(考试)大纲,精心设计教学内容,适合教学 采用“案例驱动”编写方式,有助于激发学习兴趣 以程序设计为中心,语法介绍循序渐进,文叙精炼 结合主要知识点,精选180多个经典程序实例,并有程序运行结果 运行结果兼容TurboC2.0和VistJaIC++6.0,若有区别分别给出,并有详细分析 配有300多道习题(选择、填空、阅读程序、程序设计等),供读者练习与自测 配套《C语言程序设计实训与考试指导(第三版)》的光盘中含有C语言题库及练习软件系统,可以自动组卷(100套测试题)和评分 提供相关教学资源 研发了集组卷、机考、评分等于一体的机上考试系统
80年代以来,信息革命的浪潮席卷全球,电子计算机的广泛应用是这场革命的标志和先导。和发达国家相比,我国虽起步稍晚,但来势之猛、发展速度之快、成就之大,举世瞩目。如今,计算机已成为人们进行各种社会活动不可缺少的工具。其应用范围早己起出了传统意义上的“计算”和“控制”范畴,进入了非数值处理乃至社会交往、家庭生活的各个领域,可以毫不夸张地说,凡是一切有人类思维存在的地方,计算机就有它的用武之地。因此,了解计算机科学,掌握计算机技术,已成为社会对人才的基本要求。换而言之,学会使用计算机是面向21世界青年人才所必备的技术技能,也是提高我们伟大民族整体科学技术水平的象征。 在普及计算机知识,推广计算机应用方面,各类计算机图书起到了不可估量的作用。但在琳琅满目的计算机书架上,真正着眼于大专及其以下各类中等专业学校、技术学校以及相关职业学校学生的计算机教材尚显不足。中国科学技术大学出版社和安徽省大、中专计算机教学研究会认真抓了此项工作,组织编写了这套大、中专计算机系列教材,以适应相应层次读者的需要,无疑值得称赞。
第一版序再版前言第1章 C语言概述1.1 程序设计的基本概念1.1.1 程序的概念1.1.2 程序设计的一般过程1.1.3 程序设计的方法1.2 C语言概况1.2.1 C语言的发展1.2.2 C语言的特点1.3 简单的C语言程序1.4 算法1.4.1 算法概述1.4.2 算法的表示1.5 C语言编程环境1.5.1 Turbo C 2.0编程环境1.5.2 Visual C++6.0编程环境本章小结习题一第2章 数据类型、运算符和表达式2.1 数据类型2.1.1 数据类型概述2.1.2 整数类型2.1.3 实型2.1.4 字符型2.2 标识符、常量与变量2.2.1 标识符2.2.2 常量2.2.3 变量2.2.4 溢出与舍入误差2.3 运算符与表达式2.3.1 算术运算符与算术表达式2.3.2 赋值运算符与赋值表达式2.3.3 算术表达式的书写2.3.4 逗号运算符与逗号表达式2.4 数据类型转换2.4.1 类型转换概述2.4.2 自动类型转换2.4.3 赋值类型转换2.4.4 强制类型转换2.4.5 小结2.5 程序举例本章小结习题二第3章 简单程序设计3.1 C语言语句3.2 程序结构3.2.1 程序结构简介3.2.2 顺序结构3.3 赋值语句3.3.1 基本赋值语句3.3.2 复合赋值语句3.4 数据输入与输出3.4.1 格式化输出函数printf3.4.2 格式化输入函数scanf3.4.3 字符数据的输入与输出.3.5 程序举例本章小结习题三第4章 选择结构程序设计4.1 关系运算符与关系表达式4.1.1 关系运算符4.1.2 关系表达式4.2 逻辑运算符与逻辑表达式4.2.1 逻辑运算符4.2.2 逻辑表达式4.3 if语句4.3.1 单分支if语句4.3.2 双分支if语句4.3.3 多分支选择结构4.3.4 if语句的嵌套4.3.5 条件运算符和条件表达式4.4 switch语句4.5 程序举例本章小结习题四第5章 循环结构程序设计5.1 循环的基本概念5.1.1 方法的探索5.1.2 循环结构语句5.2 while循环5.3 do-while循环5.4 for循环5.5 循环嵌套5.6 break语句、continue语句和goto语句5.6.1 break语句5.6.2 continue语句5.6.3 goto语句5.7 程序举例本章小结习题五第6章 数组6.1 数组的基本概念6.2 一维数组6.3 二维数组和多维数组6.4 字符数组与字符串6.4.1 字符数组的定义、初始化和引用6.4.2 字符串函数6.5 程序举例本章小结习题六第7章 函数7.1 函数的定义和调用7.1.1 函数定义7.1.2 函数调用7.1.3 参考传递7.1.4 函数声明7.4 标识符作用域7.5 存储类型7.5.1 自动(auto)类型7.5.2 寄存器(register)类型7.5.3 静态(static)类型7.5.4 外部(extern)类型7.6 递归函数7.7 程序示例本章小结习题七第8章 指针8.1 指针的概念8.2 指针变量的定义和初始化8.3 指针运算8.3.1 t运算符和取地址运算符8.3.2 指针变量的引用8.3.3 指针的算术运算和关系运算8.4 指针与数组8.4.1 指针与字符数组8.4.2 指针与其他类型数组8.4.3 指针与二维数组8.5 指针与函数8.5.1 指针作为函数的参数8.5.2 函数指针8.5.3 返回指针的函数8.6 程序示例本章小结习题八第9章 结构体、共用体与枚举9.1 结构体9.1.1 结构体类型的定义9.1.2 结构体变量的定义和初始化9.1.3 结构体变量的引用9.1.4 结构体数组9.1.5 结构体指针9.1.6 结构体与函数9.2 共用体9.2.1 共用体类型的定义9.2.2 共用体变量的说明和引用9.3 枚举类型9.3.1 枚举类型的定义9.3.2 枚举变量的定义和引用9.4 用户定义类型9.5 程序举例本章小结习题九第10章 位运算10.1 几个基本概念10.1.1 字节与位10.1.2 原码10.1.3 反码10.1.4 补码10.2 位运算符和位运算10.2.1 按位取反10.2.2 按位与10.2.3 按位或10.2.4 按位异或10.2.5 左位移10.2.6 右位移10.3 程序举例本章小结习题十第11章 文件11.1 文件概述11.1.1 文件的概念11.1.2 文件的分类11.2 文件操作11.2.1 FILE文件类型指针11.2.2 文件的打开操作11.2.3 文件的关闭操作11.2.4 文件的读写操作11.3 文件的定位11.3.1 置文件位置指针于文件开头位置的函数rewind11.3.2 改变文件位置指针位置的函数fseek11.3.3 取得文件当前位置的函数ftell11.3.4 文件的错误检测11.4 编译预处理11.4.1 宏定义11.4.2 文件包含11.4.3 条件编译11.5 程序举例本章小结习题十一第12章 面向对象及C++简介12.1 C++概述12.1.1 C++语言的发展12.1.2 C++语言的特点12.1.3 面向对象程序设计概述12.2 C++程序结构12.2.1 几个简单的C++程序12.2.2 C++程序的基本组成12.2.3 数据的输入和输出本章小结习题十二附录A 常用字符与ASCII码对照表附录B turbo C 2.0常用库函数附录C turboC2.0和VisualCl++在编辑C程序州的区别参考文献
计算机系统由硬件系统和软件系统构成,其中软件系统主要由程序组成,没有软件的计算机系统几乎做不了任何事情。软件来源于程序开发,而程序开发的平台是各种计算机程序设计语言。 1.1.1程序的概念 日常词汇中,“程序”是事情进行的先后次序,例如“工作程序”、“法律程序”等。计算机程序指的是存储在计算机中的可以被计算机识别并运行的一系列指令。 人们为了完成某种任务而编写一系列指令的过程就是程序设计。由于任务的复杂性和多样性,程序设计一般很难做到一次就能达到要求,程序设计过程中还需要不断地修改和完善,这个过程称为调试和测试。 1.1.2程序设计的一般过程 程序设计的过程通常包括:问题分析与描述、编写程序代码、运行与调试。 问题分析与描述是在对问题理解的基础上进行数据描述和功能描述,进而为编写代码提供依据,指定任务。 编写代码阶段是问题在计算机上实现的过程,就像把人的思想写成有条理的文字一样。 运行与调试的过程是验证代码正确与否的过程,也是代码和计算机硬件契合的过程。软件毕竟需要在硬件系统上执行,其运行过程与结果是否符合需求还需要进一步的验证。 C语言程序的设计过程可以用框图描述,如图1.1所示。