C/C++语言是程序设计的入门语言,也是理工类大学生必修的一门程序设计课程。本书针对初学者的特点,对内容做了精心安排,分解难点,用通俗易懂的语言和丰富的例题引导读者轻松地学习。在实例的选择上从易到难,循序渐进,使读者能够逐步了解C/C++语言的精髓,掌握结构化程序设计的方法,并初步了解面向对象的程序设计方法。
本书可作为大学本科、专科学生学习C/C++语言程序设计课程的教材,也可作为C/C++语言自学者的教材或参考书。
本书特点
●面向初学者
●内容精炼得当
●实践易于上手
●讲解图文并茂
●教学体系完整
本书提供实例的源代码和电子课件,读者可联系 “教学支持联系人”获取。
无
计算机应用能力是新世纪人才不可缺少的基本素质。程序设计是高等院校工科各专业计算机应用能力培养的重要技术基础。C/C++是目前国内外广泛使用的一种程序设计语言,也是国内外大学讲授程序设计方法的首选语言。
本书主要讲授C语言的语法及程序设计方法。由于TC 20的集成调试环境是DOS系统界面,因此不支持鼠标操作。计算机软、硬件技术发展到今天的水平,输入设备、输入方法很多,已经有许多读者不太适应这种环境了。C++是在C语言的基础上发展起来的,是C语言的超集,因此在C++集成环境下,调试C语言程序是完全可以实现的,为此我们编写了C/C++程序设计教程。第1~9章介绍C语言的知识,所有程序分别在TC 30和Visual C++60集成环境下调试两遍;第10~12章介绍C++程序设计的知识,所有程序在Visual C++60集成环境下经过调试。通过本书的学习,不仅可掌握C语言的知识,也可了解C++程序设计的思想和熟悉C++程序调试的环境。在学习C程序设计时,同时了解C++语言是一种非常好的学习程序设计的方法,可为今后进一步深入学习和自学Visual C++程序设计打下良好的基础。
本书内容丰富、注重实践,由浅入深、便于理解,案例广泛、图文并茂,通俗易懂、便于自学。全书共分12章,5个附录。第1章介绍程序设计的基本概念,算法的描述和C/C++程序的结构以及上机的基本操作;第2章介绍C语言的数据;第3章介绍结构化程序设计方法;第4章介绍数组的概念和实例;第5章介绍函数的概念和实例;第6章介绍指针的概念和实例;第7章介绍结构体与共用体;第8章主要介绍位运算;第9章介绍文件的概念和从文件中输入/输出数据;第10~12章介绍C++面向对象程序设计的基本概念,类的继承与多态和C++I/O流。附录介绍了C语言的预编译命令,Visual C++集成环境的使用方法,C/C++常用的库函数,运算符的优先级与结合性等。
C/C++是一门实践性很强的课程,实践是学好本课程的重要环节。为此我们同时编写了《C/C++程序设计实验教程》一书,给出了每章的知识结构、学习要点、上机实训、习题及参考答案。供读者学习时借鉴和参考。本书还提供实例源代码和电子课件,需要者可登录华章网站下载。
本书由秦维佳组织编写。其中第1~3章由秦维佳编写;第4~5章由孟艳红编写;第6~9章由侯春光编写;第10~12章由伞宏力编写。秦维佳对全书进行了统编、程序调试与定稿。在教材编写过程中寿业勇、于彤彤、赵翠红、赵爽等阅读了初稿,并提出了许多宝贵意见,在此表示衷心感谢。
本书可作为大学本科、专科学生学习C/C++语言程序设计课程的教材,也可作为C/C++语言自学者的教材或参考书。
由于编者水平有限,错误在所难免,请广大读者批评指正。
编者
2006年10月
C/C++语言是程序设计的入门语言,也是理工类大学生必修的一门程序设计课程。本书针对初学者的特点,对内容做了精心安排,分解难点,用通俗易懂的语言和丰富的例题引导读者轻松地学习。在实例的选择上从易到难,循序渐进,使读者能够逐步了解C/C++语言的精髓,掌握结构化程序设计的方法,并初步了解面向对象的程序设计方法。 本书可作为大学本科、专科学生学习C/C++语言程序设计课程的教材,也可作为C/C++语言自学者的教材或参考书。 本书特点 面向初学者 内容精炼得当 实践易于上手 讲解图文并茂 教学体系完整 本书提供实例的源代码和电子课件,读者可登录华章网站下载。
第1章C语言及程序设计初步
11C/C++历史及特点
111C语言的历史
112C语言的特点
12程序与程序设计
121程序
122程序设计语言
123程序设计
13算法与算法的表示方法
131算法的概念
132算法的特性
133算法的常用表示方法
14C语言程序的基本结构
141程序的组成
142程序中的数据描述
143程序功能及注释
144C源程序的结构特点
15C程序的调试
151调试步骤
152Turbo C集成开发环境
16习题
第2章数据类型、运算符和表达式
21基本符号和标识符
211基本符号
212标识符
22数据类型
221C语言数据类型
222基本数据类型
23常量与变量
231常量
232变量
24数据的输出
241用printf输出数据
242用scanf输入数据
243用putchar输出字符
244用getchar输入字符
25运算符
251赋值运算符
252算术运算符
253关系运算符
254逻辑运算符
255条件运算符
256自增/自减运算符
257其他运算符
26表达式
261表达式的分类
262表达式的类型转换
27习题
第3章程序设计基础
31结构化程序设计概述
311结构化程序设计的原则
312结构化程序的基本结构与特点
313结构化程序设计的方法
314C语言程序的结构
32C的基本语句
321表达式语句
322空语句
323函数调用语句
324控制语句
325复合语句
33顺序结构
34分支结构
341if形式
342if else形式
343else if形式
344if语句的嵌套
345switch语句
35循环结构
351while循环语句
352dowhile循环语句
353for语句
354跳出循环体
355循环嵌套
356综合程序应用举例
36习题
第4章数组
41数组的概念
42一维数组
421一维数组的定义
422一维数组的初始化
423一维数组的引用
424一维数组应用举例
43二维数组和多维数组
431二维数组的定义
432二维数组的初始化
433二维数组的引用
434二维数组应用举例
435多维数组
44字符数组与字符串
441字符数组的定义
442字符数组的初始化
443字符数组的引用
444字符数组的输入输出
445字符串处理函数
446字符数组应用举例
45数组应用综合举例
46习题
第5章函数
51函数的概念
52函数的定义
521函数的定义形式
522函数的返回值
53函数的调用
531函数的声明
532函数调用的形式
533函数的参数传递
534函数的嵌套调用
535函数的递归调用
54函数与数组
541数组元素作实参
542数组名作实参
543字符数组作函数的参数
55局部变量和全局变量
551局部变量
552全局变量
56变量的存储类别
561自动变量
562静态变量
563外部变量
564寄存器变量
57内部函数和外部函数
571内部函数
572外部函数
58函数综合举例
59习题
第6章指针
61指针的概念
611指针与地址
612指针变量的定义与初始化
613与指针有关的运算符
614指针的运算
62指针与数组
621指针与一维数组
622指针与二维数组
623指针数组
63指针与字符串
64指针与函数
641指针作为函数参数
642数组指针作为函数参数
643字符串指针作为函数参数
644指向函数的指针
645返回指针值的函数
646main()函数中的参数
65指向指针的指针
66习题
第7章结构体与共用体
71结构体类型的定义
72结构体变量的定义与初始化
721结构体变量的定义
722结构体变量的初始化
73结构体变量的引用
731引用结构体变量的成员
732两个相同类型的结构体变量之间相互赋值
733结构体变量在函数间的传递
74结构体数组
741结构体数组的定义
742结构体数组的初始化
743结构体数组的引用
75结构体指针
751结构体指针变量的定义
752结构体指针变量的引用
753指向结构体数组的指针
754结构体指针作函数参数
76链表
761链表的定义
762实现动态内存分配的函数
763链表的操作
77共用体
771共用体数据类型及变量的定义
772共用体变量的引用
773共用体的应用
78枚举类型
79用typedef定义类型
710习题
第8章位运算
81位运算概述
82位运算符的使用方法
821按位“与”运算符(&)
822按位“或”运算符(|)
823按位“取反”运算符(~)
824按位“异或”运算符(∧)
825“左移”运算符(<<)
826“右移”运算符(>>)
83位段
831位段的定义
832位段的引用方式
84位运算应用举例
85习题
第9章文件
91文件概述
911文件的基本概念
912缓冲文件系统和非缓冲文件系统
913文件类型指针
92文件的打开与关闭
921文件的打开
922文件的关闭
93文件的顺序读写
931输入和输出一个字符
932输入和输出一个字符串
933格式化的输入和输出
934按数据块的形式输入和输出
94文件的定位与随机读写
941文件的定位
942文件的随机读写
95文件操作的出错检测
96习题
第10章面向对象程序设计及C++基础
101面向对象程序设计概述
1011面向过程程序设计
1012面向对象程序设计
1013对象与类
1014数据的封装性
1015继承性
1016多态性
102C++对C的扩充
1021变量的定义
1022C++的注释语句
1023用const定义常量
1024新的I/O操作
1025作用域运算符
1026带缺省参数的函数
1027函数重载
1028内联函数
1029引用
10210动态内存分配
103C++中的类与对象
1031类的声明
1032类成员函数的定义
1033对象的定义与访问
1034this指针
104构造函数与析构函数
1041构造函数
1042缺省参数的构造函数
1043析构函数
105静态成员
1051静态数据成员
1052静态成员函数
106友元
1061友元函数
1062友元成员函数
1063友元类
107习题
第11章类的继承与多态
111继承与派生
1111类的层次结构
1112派生类对象结构
1113继承基类成员
112继承的访问控制
1121类内的访问控制
1122继承访问控制
113派生类的构造函数与析构函数
1131派生类构造函数与析构函数的执行顺序
1132派生类构造函数构造规则
114多重继承
1141多重继承的声明
1142多重继承的构造函数
1143二义性问题
1144虚基类
115多态性概述
116编译时的多态性与运行时的多态性
117运算符重载
1171用成员函数重载运算符
1172用友元函数重载运算符
118虚函数
119纯虚函数和抽象类
1110习题
第12章C++的输入输出流
121C++的IO系统概述
122输入输出的格式控制
1221使用控制符控制输出格式
1222用ios类的成员函数实现格式化IO
123用户自定义类型的输入输出
1231重载插入运算符“<<”
1232重载提取运算符“>>”
124文件的输入输出
1241打开与关闭文件
1242读写文件
1243二进制文件的读写
125习题
附录AASCII码表
附录B编译预处理
B1宏定义
B2文件包含
B3条件编译
附录C运算符与结合性
附录DC语言库函数
附录EVisual C++使用方法简介
E1Visual C++开发环境
E2C++程序开发过程
参考文献