C/C++程序设计教程
本店图书 都是正版图书 可开电子发票 需要发票的联系客服!
¥
68.01
7.6折
¥
89
全新
库存5件
作者黄永峰、孙甲松
出版社清华大学出版社
ISBN9787302526902
出版时间2019-04
装帧平装
开本16开
定价89元
货号27865261
上书时间2024-12-28
商品详情
- 品相描述:全新
- 商品描述
-
前言
前言
程序设计是每个科技工作者使用计算机的基本功。C/C 语言是目前使用非常广泛的一种程序设计语言,具有丰富的数据类型,它所提供的数据结构和控制结构适合于进行结构化程序设计,并且利用C/C 语言可以实现汇编语言的大部分功能,使用灵活,可移植性好。
本书不仅详细介绍了C/C 语言的语法规则,而且对某些功能的系统实现以及程序的执行过程也做了必要的分析。本书着重强调C/C 语言的基本概念,通过大量的例题分析和程序实例,使读者理解和掌握利用C语言进行程序设计的方法。
书中所有程序都经过实际调试。每章后面安排足够多的练习,并且在后几个练习中提出了编程的具体要求,通常也可以作为实验使用。
本书的特点是简明扼要,通俗易懂,例题丰富。
由于作者水平有限,书中难免存在错误和不妥之处,恳请读者批评指正。
后,在本书编写过程中得到了许多同事和同学的帮助,特别是陶怀舟博士和齐伊宁博士等。同时本书的编写内容也参考了多部国内相关的教材,由于篇幅限定,无法一一列出,在此,一并表示感谢。
作者2019年3月
导语摘要
本书是作者根据长期教学实践编写而成的。全书内容由浅入深,逐步介绍C/C 语言中的基本概念和语法,使读者全面而系统地理解和掌握用C/C 语言进行程序设计的方法。本书叙述简明扼要,通俗易懂,例题丰富,有利于读者自学。本书可作为各专业的学生学习C/C 语言程序设计的教材。
目录
上篇
第1章绪论
1.1程序设计概述
1.2程序设计语言
1.3简单的C语言程序
1.4C语言程序的上机步骤
练习1
第2章C语言基本数据类型
2.1数据在计算机中的表示
2.1.1计算机记数制
2.1.2计算机中数的表示
2.2常量与变量
2.3基本数据类型常量
2.3.1整型常量
2.3.2实型(浮点型)常量
2.3.3字符型常量
2.4基本数据类型变量的定义
2.4.1整型变量的定义
2.4.2实型变量的定义
2.4.3字符型变量的定义
练习2
第3章数据的输入与输出
3.1格式输出函数
3.1.1基本的格式输出语句
3.1.2printf()函数中常用的格式说明
3.1.3使用printf()函数时的注意事项
3.2格式输入函数
3.2.1基本的格式输入语句
3.2.2scanf函数中常用的格式说明
3.2.3通过scanf函数从键盘输入数据
3.3字符输出函数
3.4字符输入函数
练习3
第4章C语言表达式与宏定义
4.1赋值运算及其表达式
4.2算术运算及其表达式
4.3关系运算及其表达式
4.4逻辑运算及其表达式
4.5其他运算符
4.5.1增1与减1运算符
4.5.2sizeof运算符
4.5.3逗号运算符
4.6标准函数
4.7宏定义
4.7.1符号常量定义
4.7.2带参数的宏定义
4.7.3带#的宏定义
练习4
第5章选择结构
5.1语句与复合语句
5.2if语句
5.3if…else结构
5.4条件运算符
5.5switch结构
5.6程序举例
练习5
第6章编译预处理
6.1文件包含命令
6.2条件编译命令
6.3#pragma命令
6.4#line命令
第7章循环结构
7.1当型循环与直到型循环
7.2while语句
7.3do…while语句
7.4对键盘输入的讨论
7.5for语句
7.6循环的嵌套与其他有关语句
7.6.1循环的嵌套
7.6.2break语句
7.6.3continue语句
7.7程序举例
练习7
第8章模块(函数)设计
8.1模块化程序设计与C函数
8.1.1模块化程序设计的基本概念
8.1.2函数的定义
8.1.3函数的调用
8.2模块间的参数传递
8.2.1形参与实参的结合方式
8.2.2局部变量与全局变量
8.2.3动态存储变量与静态存储变量
8.2.4内部函数与外部函数
8.3模块的递归调用
8.4程序举例
练习8
第9章数组
9.1数组的基本概念
9.2数组的定义与引用
9.2.1一维数组
9.2.2二维数组
9.2.3数组的初始化
9.3字符数组与字符串
9.3.1字符数组的定义与初始化
9.3.2字符串
9.3.3字符数组与字符串的输入与输出
9.3.4字符串处理函数
9.4数组作为函数参数
9.4.1形参数组与实参数组的结合
9.4.2二维数组作为函数参数
9.5程序举例
练习9
第10章指针
10.1指针变量
10.1.1指针的基本概念
10.1.2指针变量的定义与引用
10.1.3指针变量作为函数参数
10.1.4指向指针的指针
10.2指针数组
10.3数组与指针
10.3.1一维数组与指针
10.3.2二维数组与指针
10.3.3数组指针作为函数参数
10.4动态内存的申请与释放
10.4.1malloc()函数
10.4.2calloc()函数
10.4.3realloc()函数
10.4.4free()函数
10.5字符串与指针
10.5.1字符串指针
10.5.2字符串指针作为函数参数
10.5.3strstr函数
10.6函数与指针
10.6.1用函数指针变量调用函数
10.6.2函数指针数组
10.6.3函数指针变量作为函数参数
10.6.4返回指针值的函数
10.7main函数的形参
10.8程序举例
练习10
第11章结构体与联合体
11.1结构体类型变量
11.1.1结构体类型变量的定义与引用
11.1.2结构体的嵌套
11.1.3结构体类型变量的初始化
11.1.4结构体与函数
11.2结构体数组
11.2.1结构体类型数组的定义与引用
11.2.2结构体类型数组作为函数参数
11.3结构体与指针
11.3.1结构体类型指针变量的定义与引用
11.3.2结构体类型指针作为函数参数
11.3.3结构体的大小与#pragma中pack的关系
11.4链表
11.4.1链表的基本概念
11.4.2链表的基本运算
11.4.3多项式的表示与运算
11.5联合体
11.6枚举类型与自定义类型名
11.6.1枚举类型
11.6.2自定义类型名
练习11
第12章文件
12.1文件的基本概念
12.1.1文本文件与二进制文件
12.1.2缓冲文件系统
12.1.3文件类型指针
12.2文件的基本操作
12.2.1文件的打开与关闭
12.2.2文件的读写
12.2.3文件的定位
12.2.4文件缓冲区的清除
12.2.5文件指针错误状态的清除
12.3程序举例
练习12
第13章位运算
13.1二进制位运算
13.2位段
13.3程序举例
练习13
下篇
第14章C 类与对象
14.1从C语言到C 语言
14.2面向对象的程序设计方法
14.3类与对象
14.3.1类和对象的概念
14.3.2类的声明方法
14.3.3对象的定义
14.3.4对象的引用
14.4类的成员函数
14.4.1成员函数的声明与定义
14.4.2inline成员函数
14.4.3成员函数的存储方式和this指针
14.5类的构造函数和析构函数
14.5.1对象的初始化与构造函数
14.5.2构造函数类型
14.5.3构造函数的重载
14.5.4使用默认参数的构造函数
14.5.5类的析构函数
14.6对象数组和对象指针
14.6.1对象数组
14.6.2对象指针
14.7共用数据的保护
14.7.1常对象及常成员函数
14.7.2对象的常数据成员
14.7.3指向对象的常指针和指向常对象的指针变量
14.7.4对象的常引用
14.7.5const型数据的小结
14.8同类对象间的数据共享及类的静态成员
14.8.1类的静态数据成员
14.8.2类的静态成员函数
14.9对象的动态构建和释放
14.10对象的赋值和复制
14.11友元和友元类
14.11.1友元函数
14.11.2友元类
14.12应用程序举例——公司人事管理系统
本章小结
练习14
第15章运算符重载
15.1运算符重载的一般方法
15.2运算符重载函数作为类的成员函数或友元函数
15.2.1双目运算符的重载应用举例
15.2.2单目运算符的重载举例
15.2.3流插入运算符和流提取运算符的重载
15.3类对象与标准类型数据之间的转换方法
15.3.1转换构造函数
15.3.2基于运算符重载机制的类型转换函数
15.3.3综合程序举例
15.4综合程序应用——某公司人事管理系统
本章小结
练习15
第16章继承与派生
16.1继承与派生的概念
16.2派生类的声明方式及其组成
16.2.1派生类的声明方式
16.2.2派生类的组成
16.3派生类成员的访问属性与继承方式
16.3.1公用继承方式
16.3.2私有继承方式
16.3.3保护成员和保护继承
16.3.4使用using声明来改变基类成员在派生类中的访问属性
16.4派生类的构造函数和析构函数
16.4.1单继承的派生类构造函数
16.4.2内嵌子对象的派生类的构造函数
16.4.3多级派生类的构造函数
16.4.4派生类构造函数的定义规则总结
16.4.5派生类的析构函数
16.5多重继承与虚基类
16.5.1多重派生类构造函数的定义方法
16.5.2多重继承中同名数据引起的二义性问题
16.5.3虚基类
16.6继承与组合
16.7综合程序应用——公司人事管理系统
本章小结
练习16
第17章多态性与虚函数
17.1基类与派生类的对象兼容关系
17.2多态性与虚函数
17.2.1多态性概念及类型
17.2.2虚函数
17.2.3虚析构函数
17.2.4多重继承中的虚函数
17.3纯虚函数与抽象类
17.3.1纯虚函数的概念
17.3.2抽象类
17.3.3应用实例
17.4综合程序举例
本章小结
练习17
第18章输入输出流
18.1C 的输入和输出流类
18.1.1C 输入输出的类别和特点
18.1.2C 输入输出流和流类
18.2标准的输出流输入流
18.2.1标准输出流
18.2.2标准输入流
18.3文件I/O操作与文件流
18.3.1文件类型和文件流
18.3.2文件流类与文件流对象
18.3.3ASCII文件的读写操作
18.3.4二进制文件的读写操作
18.4字符串流的输入和输出
18.5综合程序应用——公司人事管理系统
本章小结
练习18
第19章C 语言工具
19.1函数模板和类模板
19.1.1函数模板
19.1.2类模板
19.2异常处理
19.2.1异常处理的概念
19.2.2异常处理的方法
19.2.3函数声明中的异常情况指定
19.3命名空间
19.3.1命名空间的概念和作用
19.3.2同名冲突解决方法与命名空间
19.4C 语言的函数库
19.5C 标准模板库
19.5.1STL的组件以及关系
19.5.2容器
19.5.3迭代器
19.5.4算法与函数对象
19.6综合程序应用——某公司人事管理系统
本章小结
练习19
附录A基本ASCII码表
附录BC语言常用库函数
内容摘要
本书是作者根据长期教学实践编写而成的。全书内容由浅入深,逐步介绍C/C 语言中的基本概念和语法,使读者全面而系统地理解和掌握用C/C 语言进行程序设计的方法。
本书叙述简明扼要,通俗易懂,例题丰富,有利于读者自学。本书可作为各专业的学生学习C/C 语言程序设计的教材。
主编推荐
《C/C 程序设计教程》 是在清华大学电子工程系“计算机程序设计基础”课程教学改革经验和多年教学实践的基础上凝练而成。在介绍 C/C 语言及其程序设计的主要知识和方法的同时,重点围绕“实战编程”的教学理念来组织教学内容。其“实战编程”思想体现在以下三方面:
(1)面向“实战编程”来组织教学和教材内容。例如,加强程序调试训练,增加大型综合程序设计,提炼生活素材为编程实例等。
(2)制定以考核实际编程能力为主的课程考核方法。例如,在知识点要求上强调学以致用、有用则学;以测试实际编程能力为导向的教学等。
(3)采用以实际编程能力为主要培养目标的教学方法。例如,强化对比增量教学,注重归纳总结教学,加强理论联系实际,传“道”和练“技”并举等。
精彩内容
第3章数据的输入与输出
在编程解决实际问题时,一般都会有一些数据的输入以及结果的输出,即使没有输入也一定会有输出。因此,一个程序一般都要包含数据的输入与输出过程。
数据的输入与输出应包括以下几项。
(1) 用于输入或输出的设备。
(2) 输入或输出数据的格式。
(3) 输入或输出的具体内容。
C语言提供了用于输入与输出的函数,在这些函数中,键盘是标准输入设备,显示器是标准输出设备。因此,在没有特别指定输入或输出设备时,默认其输入设备是键盘,输出设备是显示器。
另外要注意,如果在程序中要使用C语言所提供的输入或输出函数,在程序的开头应该使用包含命令
#include <stdio.h>
将C语言中标准输入输出库函数包含进来。
本章将具体介绍一些C语言中的输入与输出函数。
3.1格式输出函数
3.1.1基本的格式输出语句
在C语言中,格式输出语句的一般形式为:
printf("格式控制",输出表);
其中printf()是C编译系统提供的格式输出函数。格式控制部分要用一对双引号括起来,用于说明输出项目所用的格式。输出表中的各项目指出了所要输出的内容。
在格式控制中,用于说明输出数据格式的格式说明符总是以%开头,后面紧跟的是具体的格式。用于输出的常用格式说明符有以下几种。
1. 整型格式说明符
整型格式说明符用于说明整型数据的输出格式。在C语言中,整型常量可以用十进制、十六进制以及八进制3种形式表示,因此,对于整型数据的输出也具有这3种格式。
1) 十进制形式
以十进制形式输出整型数据,其格式说明符为:
%d或%md用于基本整型。
%ld或%mld用于长整型。
%hd或%mhd用于短整型。
%u或%mu用于无符号基本整型。
%lu或%mlu用于无符号长整型。
%I64d或%lld用于64位超长整型。
2) 八进制形式
以八进制形式输出整型数据,其格式说明符为:
%o或%mo用于基本整型。
%lo或%mlo用于长整型。
3) 十六进制形式
以十六进制形式输出整型数据,其格式说明符为:
%x或%mx用于基本整型。
%lx或%mlx用于长整型。
在以上各种整型格式说明符中,m表示输出的整型数据所占总宽度(即列数),当实际数据的位数不到m位时,数据前面将用空格补满。如果在格式说明符中没有用m说明数据所占的宽度,则以输出数据的实际位数为准。如果在格式说明符中说明了宽度m,但实际输出的数据位数大于m,则也以输出数据的实际位数为准进行输出,不受宽度m的限制。
— 没有更多了 —
以下为对购买帮助不大的评价