新書推薦:
《
亚洲戏剧史·南亚卷
》
售價:HK$
143.4
《
中国历代竹器图谱与数字活化
》
售價:HK$
557.8
《
EDA技术与设计(第2版)
》
售價:HK$
85.0
《
揉碎浪漫(全两册)
》
售價:HK$
70.3
《
古籍善本
》
售價:HK$
537.6
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
87.4
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
143.4
《
清俗纪闻
》
售價:HK$
98.6
|
編輯推薦: |
本书在讲授C 语言基础和编程知识部分的每一章*后,都有一个典型而且实用的编程案例,内容涉及计算机、信息安全、网络安全等领域的经典算法和管理系统设计中的基础用例,从而使读者在解决实际问题中有所借鉴。在*后一章融入了大型企业开发经验,作者结合在全球EDA主导企业Synopsys的研发经历,在项目开发的角度对各项流程、要求、模式和规范总结成文,可以帮助广大的初学者运用C 知识轻松步入研发岗位。本书的组织吸纳了MOOC的教育思想,融合了多个课程建设项目(如C 校精品课程,C 上海市重点课程建设(结题优秀))和教学研究课题的成果,以本书内容为主导的C 课程获上海市精品课程称号。
|
內容簡介: |
C 程序设计语言同时支持面向过程和面向对象编程,全书以C 标准为蓝本,以实际案例为支撑来阐释学生学习过程中晦涩难懂的概念,并将多年来教学过程中学生遇到的难以掌握的知识点以重点突出或错误解释的方式列出。整本书的语言通俗易懂,每个章节的开始都以一个短小有趣的引发好奇心的说明引导学生进入本章节内容的学习。整个内容按照循序渐进的方式展开,引领学生从C 的面向过程编程逐步过渡到C 的面向对象编程,实现学习点上的由易到难的顺利过渡。本书内容包括绪论、数据类型与基本输入输出、控制语句、函数与预处理、数组、指针与引用、自定义数据类型、类、静态成员与友元、继承与派生、多态性、输入输出流、模板、链表、异常处理和项目开发指南。
在书中每一章的最后,都有一个较为大型和完整的编程实例,涉及网络、密码学、计算机病毒、数据结构、算法设计、图形学等各门课程的一些入门知识,在巩固所学知识的同时,也让学生对这些课程有了初步的感性认识,以便后继课程的学习。
本书适用于高校计算机专业程序设计课程教学,也适用于自学成才的读者,在本书的指导下,读者可以逐步由不入门到初级程序员到高级程序员,并从中体会到学习编程的无限乐趣,为成为一名真正的程序员打下坚实的基础。
|
目錄:
|
第1章绪论
1.1计算机程序设计语言
1.1.1程序设计语言的演变
1.1.2C 程序设计语言的发展
1.2程序设计方法
1.2.1面向过程程序设计
1.2.2面向对象程序设计
1.3计算机信息的存储与表示
1.3.1数据在计算机中的表示
1.3.2数据单位
1.3.3不同形式数据的表示方法
1.4C 程序结构与开发过程
1.4.1C 程序的开发流程
1.4.2第一个C 程序
1.4.3C 程序设计环境
1.4.4带命令行参数的程序
1.5C 的词和规则
1.5.1C 的字符集
1.5.2词与词法规则
1.6编程实例程序设计方法比较
习题1
第2章数据类型、表达式与基本输入输出
2.1数据类型基本概念
2.1.1C 数据类型的种类
2.1.2整型和实型
2.1.3数值的范围
2.1.4有符号数和无符号数
2.1.5有符号数和无符号数的范围区别
2.1.6本章用到的关键字
2.2C 基本数据类型
2.2.1整型、实型和字符型
2.2.2布尔型和无类型
2.2.3为数据类型起别名
2.2.4sizeof的使用
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.4.6地址常量
2.5符号常量
2.5.1为什么需要符号常量
2.5.2const与#define的比较
2.6基本输入输出
2.6.1cout输出流
2.6.2cin输入流
2.7运算符和表达式
2.7.1C 语言运算符的种类
2.7.2算术运算符
2.7.3赋值运算符
2.7.4关系运算符
2.7.5逻辑运算符
2.7.6位运算符
2.7.7条件运算符
2.7.8逗号运算符
2.7.9运算符的优先级及结合性
2.8编程实例获取IP地址并计算网络号等信息
2.8.1背景
2.8.2源代码及程序解释
习题2
第3章语句和控制结构
3.1顺序结构
3.1.1表达式语句
3.1.2函数调用语句
3.1.3复合语句
3.1.4空语句
3.1.5赋值语句
3.2选择结构
3.2.1ifelse语句和if语句
3.2.2多路分支
3.2.3程序应用举例
3.3循环结构
3.3.1while语句
3.3.2dowhile语句
3.3.3for语句
3.3.43种循环语句的选用
3.3.5循环的嵌套
3.4控制转移
3.4.1break语句
3.4.2continue语句
3.4.3goto语句
3.4.4return语句
3.5编程实例凯撒加解密和维吉尼亚加解密
3.5.1背景
3.5.2源代码及程序解释
习题3
第4章函数
4.1函数概述
4.2预定义函数
4.3自定义函数
4.3.1函数的定义
4.3.2函数的返回值
4.3.3函数参数和传值调用
4.3.4函数定义和函数声明的区别
4.4函数的重载
4.5带默认参数的函数
4.6内联函数
4.7函数的嵌套调用
4.8函数的递归调用
4.9局部变量与全局变量
4.10变量的存储类别
4.10.1自动变量
4.10.2静态局部变量
4.10.3寄存器变量
4.10.4外部变量和静态外部变量
4.11预处理命令
4.11.1文件包含
4.11.2条件编译
4.12编程实例Hanoi(汉诺)塔问题
习题4
第5章数组
5.1一维数组
5.1.1定义和引用一维数组
5.1.2数组的初始化
5.1.3数组下标越界
5.1.4一维数组和循环
5.1.5一维数组的应用
5.2多维数组
5.2.1定义和引用二维数组
5.2.2二维数组的初始化
5.2.3二维数组的应用
5.2.4多维数组简单介绍
5.3字符数组
5.3.1定义和引用一维字符数组
5.3.2一维字符数组的初始化
5.3.3多维字符数组
5.3.4字符数组的输入与输出
5.3.5字符数组处理函数
5.4string类型
5.4.1定义和初始化string类型变量
5.4.2string对象的使用
5.5数组在函数中的应用
5.5.1数组元素作为函数参数
5.5.2整个数组作为函数参数
5.6编程实例大整数加减运算
5.6.1设计思路
5.6.2源代码和程序解释
习题5
第6章指针和引用
6.1指针与指针变量
6.1.1指针的概念
6.1.2定义指针变量
6.1.3引用指针变量
6.1.4无名变量
6.1.5指针作为函数参数
6.2数组与指针
6.2.1指向数组元素的指针
6.2.2指针变量作为函数参数接收数组地址
6.3字符串与指针
6.4const修饰指针
6.4.1指向常量的指针
6.4.2指针常量
6.5引用
6.5.1引用的基本概念
6.5.2引用的应用
6.6动态数组
6.7其他指针
6.7.1函数指针
6.7.2指向指针的指针
6.7.3指针数组
6.8编程实例选择法排序
习题6
第7章自定义数据类型
7.1结构体类型
7.1.1结构体类型的声明
7.1.2结构体变量的定义、初始化及使用
7.1.3结构体数组的定义、初始化及使用
7.1.4结构体作为函数参数
7.2共用体
7.2.1共用体变量的定义与初始化
7.2.2共用体变量的使用
7.3枚举类型
7.3.1枚举类型变量的定义与初始化
7.3.2枚举类型变量的使用
7.4typedef声明
7.5编程实例递归下降语法分析器
7.5.1算法介绍
7.5.2程序源代码
习题7
第8章类
8.1类的声明
8.1.1类类型的声明
8.1.2对象的定义
8.1.3类的访问属性
8.1.4取值函数和赋值函数
8.1.5内联成员函数
8.1.6this指针
8.2构造函数和析构函数
8.2.1构造函数
8.2.2拷贝构造函数
8.2.3析构函数
8.3组合对象
8.3.1组合对象概述
8.3.2构造函数和析构函数在组合对象中的使用
8.4对象数组
8.4.1对象数组的定义
8.4.2对象数组的初始化
8.5对象指针
8.5.1对象指针的定义与使用
8.5.2指向对象成员的指针
8.6编程实例学生成绩排名
8.6.1算法介绍
8.6.2程序源代码
习题8
第9章静态成员与友元
9.1变量的使用
9.1.1作用域
9.1.2可见性
9.1.3生存期
9.2类的静态成员
9.2.1静态数据成员
9.2.2静态成员函数
9.3类的友元
9.3.1友元函数
9.3.2友元类
9.4const修饰符
9.4.1const修饰变量
9.4.2const修饰引用
9.4.3const修饰对象
9.4.4const修饰类中的成员
9.5编程实例缓冲区溢出
9.5.1背景
9.5.2程序源代码
习题9
第10章运算符重载
10.1重载二元运算符
10.1.1成员函数实现运算符重载
10.1.2友元函数实现运算符重载
10.2重载一元运算符
10.3和运算符重载
10.3.1运算符重载
10.3.2运算符重载
10.4重载运算符限制与设计规则
10.5编程实例矩阵及向量间的运算
10.5.1背景
10.5.2程序源代码
习题10
第11章继承与派生
11.1类的继承与派生
11.1.1继承与派生的概念
11.1.2派生类的声明
11.1.3继承方式
11.1.4派生类中的构造函数和析构函数
11.1.5重定义成员函数
11.1.6构造函数和析构函数的调用顺序
11.2二义性问题
11.3虚基类
11.3.1虚基类的声明
11.3.2虚基类的构造函数
11.4编程实例银行账户管理系统
11.4.1需求分析与数据结构设计
11.4.2程序源代码
习题11
第12章多态
12.1upcast
12.2后期绑定与虚函数
12.3重新定义和超载
12.4VPTR和VTABLE
12.5关于运算效率的考虑
12.6纯虚函数与抽象类
12.7纯虚函数的定义
12.8编程实例虚函数实现求不同图形的面积
习题12
第13章输入输出流
13.1流的概念
13.1.1与IO流类库有关的头文件
13.1.2iostream头文件中的重载运算符
13.2输入输出格式控制
13.2.1ios类中的枚举常量
13.2.2ios类中的成员函数
13.2.3iomanip头文件中的控制符
13.3字符IO
13.3.1get函数
13.3.2put函数
13.3.3getline函数
13.4其他成员函数
13.4.1ignore函数
13.4.2eof函数
13.4.3peek函数
13.4.4putback函数
13.5文件和文件IO
13.5.1文件的概念
13.5.2文件流类与文件流对象
13.5.3文件的打开与关闭
13.5.4IO对象的条件状态
13.5.5ASCII文件的访问
13.5.6二进制文件的访问(选读)
13.6编程实例ini文件的读写
13.6.1ini文件结构
13.6.2源代码和程序解释
习题13
第14章模板
14.1函数模板
14.1.1函数模板的定义
14.1.2函数模板的应用
14.2类模板
14.2.1类模板的定义
14.2.2类模板的应用
14.3编程实例复数类的定义和实现
习题14
第15章链表
15.1链表概述
15.2单链表类的定义
15.3链表结点的访问
15.4链表结点的插入
15.5链表结点的删除
15.6链表实例简单的链表操作
习题15
第16章异常处理
16.1C 错误处理
16.2C 异常处理机制
16.2.1异常处理机制的3个部分
16.2.2异常处理的语法
16.2.3自定义异常类
16.2.4多个throw和catch
16.2.5catch
16.2.6异常规范
16.3编程实例病毒的自我复制
习题16
第17章项目开发指南
17.1项目管理基础
17.1.1项目与项目管理
17.1.2项目流程
17.1.3项目实施管理
17.2项目开发团队
17.2.1项目团队组成
17.2.2项目团队要求
17.3项目的研发
17.3.1软件版本控制
17.3.2程序编写规范
17.3.3功能设计说明书的撰写
17.3.4程序设计与实现
17.3.5单元测试
17.3.6提交代码
17.3.7功能维护
习题17
参考文献
|
|