图书简介:
第1章 C语言基础 / 1
1.1 程序设计概述 / 1
1.1.1 程序与程序设计 / 1
*1.1.2 二进制和十六进制 / 2
1.1.3 程序设计语言的发展简史 / 4
1.2 C程序设计及上机操作 / 6
1.2.1 最简单的C程序 / 6
1.2.2 C程序的上机操作步骤 / 7
1.2.3 程序易错点分析 / 10
1.2.4 标准输入/输出函数 / 12
1.3 数据类型 / 15
1.3.1 常用的数据类型 / 15
1.3.2 整型数据 / 16
1.3.3 浮点型数据 / 17
1.3.4 字符型数据 / 17
1.4 常量与变量 / 19
1.4.1 常量 / 19
1.4.2 变量 / 20
1.4.3 标识符 / 20
1.5 运算符和表达式 / 21
1.5.1 算术运算符和算术表达式 / 22
1.5.2 赋值运算符和赋值表达式 / 22
1.6 习题 / 24
第2章 结构化程序设计 / 25
2.1 结构化程序设计的算法描述 / 25
2.1.1 算法 / 25
2.1.2 算法描述 / 26
2.1.3 结构化程序设计的三种基本结构 / 26
2.2 选择结构 / 28
2.2.1 if语句 / 28
2.2.2 关系运算符和关系表达式 / 30
2.2.3 逻辑运算符和逻辑表达式 / 32
2.2.4 switch语句 / 33
2.3 循环结构 / 36
2.3.1 while语句 / 36
2.3.2 do…while语句 / 37
2.3.3 for语句 / 39
2.3.4 break语句和continue语句 / 43
2.3.5 几种循环结构的比较及选择 / 45
2.4 习题 / 45
第3章 用函数实现模块化程序设计 / 47
3.1 函数 / 47
3.1.1 函数的定义与调用 / 47
3.1.2 函数的参数与变量的作用域 / 53
*3.1.3 函数的递归调用 / 57
3.2 C程序的构成与运行 / 61
3.2.1 C程序的构成 / 61
3.2.2 多个源程序文件的C程序 / 62
3.2.3 C程序中的语句 / 65
3.3 综合实例—控制台程序设计 / 66
3.3.1 通过菜单选择生成几何图案 / 66
3.3.2 简单的射击游戏—飞弹和爆炸效果 / 70
3.4 习题 / 72
第4章 复杂数据类型及文件操作 / 73
4.1 数组 / 73
4.1.1 一维数组的定义与调用 / 73
*4.1.2 二维数组的定义与调用 / 78
*4.1.3 字符数组与字符串 / 80
*4.1.4 字符串数组 / 85
4.2 指针 / 87
4.2.1 变量、地址(指针)与指针变量 / 87
4.2.2 指针变量作为函数参数 / 90
*4.2.3 指向一维数组的指针 / 92
*4.2.4 指向二维数组的指针 / 94
*4.2.5 指向字符数组的指针 / 96
4.2.6 指向函数的指针 / 98
4.3 结构体 / 99
4.3.1 定义和引用结构体 / 99
4.3.2 结构体指针 / 102
4.4 文件 / 104
4.4.1 文件的基本知识 / 104
4.4.2 文件的基本操作 / 105
4.5 习题 / 108
第5章 C++程序设计基础 / 109
5.1 类和对象 / 109
5.1.1 从结构体到类 / 109
5.1.2 面向对象程序设计的几个重要概念 / 112
5.1.3 使用类和对象的实例 / 113
5.1.4 面向对象程序设计的主要特征 / 116
5.2 构造函数和析构函数 / 118
5.2.1 构造函数 / 118
5.2.2 析构函数 / 121
5.3 类的继承与派生 / 122
5.3.1 派生类 / 122
*5.3.2 多重继承 / 125
*5.4 多态性与抽象类 / 128
5.4.1 函数重载 / 128
5.4.2 运算符重载 / 129
5.4.3 纯虚函数 / 131
*5.5 基本的输入/输出 / 132
5.5.1 标准输入/输出流 / 133
5.5.2 输入/输出流中的函数 / 134
5.5.3 数据文件的操作 / 137
5.5.4 字符串的处理方法 / 138
5.6 习题 / 140
第6章 创意图形的可视化程序设计 / 141
6.1 Windows编程基础 / 141
6.1.1 基本概念 / 141
6.1.2 编程方法 / 143
6.1.3 Windows编程的数据类型 / 144
6.2 MFC应用程序 / 145
6.2.1 MFC应用程序向导 / 145
6.2.2 MFC应用程序框架 / 149
6.2.3 MFC类的组织结构 / 152
6.3 GDI绘图 / 153
6.3.1 GDI和CDC / 153
6.3.2 基本绘图工具 / 154
6.3.3 常用绘图函数 / 155
6.4 科学与艺术的融合—创意图形编程 / 163
6.4.1 渐变色的圆形与方形嵌套图案 / 163
6.4.2 绘制玫瑰线图案 / 164
6.4.3 摆线 / 167
6.4.4 自定义大小随机色长方形 / 170
6.4.5 斐波那契螺旋线 / 174
6.5 习题 / 177
第7章 常用控件和游戏编程 / 179
7.1 创建MFC对话框应用程序 / 179
7.1.1 使用MFC应用程序向导 / 179
7.1.2 添加对话框资源 / 181
7.2 控件的使用方法 / 184
7.2.1 控件和控件工具栏 / 184
7.2.2 添加/删除控件和控件布局 / 185
7.3 几个常用的控件 / 187
7.3.1 静态文本控件 / 187
7.3.2 按钮控件 / 192
7.3.3 单选按钮控件 / 196
7.3.4 图像控件 / 200
*7.4 创意编程实例—诗词汇 / 206
7.4.1 游戏规则 / 206
7.4.2 游戏设计 / 206
7.4.3 数据文件的格式 / 208
7.4.4 创建游戏的步骤和运行结果 / 209
7.4.5 小结 / 218
7.5 习题 / 218
附录A 常用字符与ASCII代码对照表 / 220
附录B C语言的关键字 / 221
附录C 运算符和结合性 / 223
附录D C语言常用标准库函数 / 225
参考文献 / 229
展开
在信息化时代,几乎所有的艺术都建构于科学技术的基础上,科技与艺术的融合已成为创新的重要途径和方法。这里的创新,不仅包括艺术形态的创新,还包括科技产品的创新。目前,艺术生学习程序设计的必要性和重要性已无须多言,其中问题的关键是如何学,此时一本适合的教材对学好程序设计来说至关重要。
与工科生相比,艺术生的数学基础稍显薄弱,二者思维方式也不尽相同。因此,为艺术生编写的程序设计教材,在内容的选择和编排上都必须进行调整。这种适应性的调整也就形成了本书的特色,具体如下所述。
首先,选择C语言作为基本的程序设计语言。
从诞生之日开始,C语言就是最受程序员欢迎的程序设计语言之一。C语言既是编写应用程序的重要工具,又是设计计算机系统软件的重要工具,同时还是C++语言和Visual C++的基础。C语言只有很少的关键字和控制语句,用C语言编写的程序具有结构简单、层次清晰的特点,易于被初学者理解。学习C程序设计,可以比较深入地了解程序设计的基本原理和结构化程序设计的基本方法,并为学习C++和Visual C++程序设计打下基础。
其次,写得好理解一点、有趣一点,让初学者容易上手、愿意学。
一个人不可能一口吃成一个胖子,学习也是如此。本书选取程序设计的要点,由浅入深、一点一点地将其介绍给读者,避免一下子将大量的新知识堆积到读者面前。例如,在第1章介绍数据类型时,只介绍基本整型、字符型和浮点型,方便初学者理解和消化吸收。如果学习伊始就“消化不良”,初学者很可能会因为畏难而失去学习的兴趣,而兴趣是最好的老师。
如果板着面孔告诫读者不可急于求成,无异于拒许多原本有兴趣学习的人于知识的大门之外。在学习上花了大量的时间和精力,却没有明显的学习效果,除了“励志哥”,谁都会觉得郁闷,甚至打退堂鼓。电子游戏之所以能吸引许多年轻人,是因为它的娱乐性和挑战性。电子游戏不过是一种程序。学会了编程,不仅能知其然,还能知其所以然,读者自己也能编写出游戏程序。本书强调人性化“设计”,尽可能满足读者的成就感。读者每完成一章的学习,都会有明显的收获和提高,在学习中享受“过五关、斩六将”的胜利喜悦。
最后,贯通C、C++语言和Visual C++,保证学有所成、学有所用。
C语言是面向过程的程序设计语言。C程序的基本组成单元是具有特定功能的函数(过程)。虽然C语言的功能十分强大,但使用C语言编写程序需要按照功能需求一步一步设计好程序的执行方式和步骤,工作量非常大。
C++语言又称为带类的C语言。它既可以像C语言一样进行面向过程的程序设计,又可以进行面向对象的程序设计,是混合式编程语言。本书只介绍C++语言的基本概念,重点是类的继承。运用类的继承机制,可以实现代码重用,从而减少编程的工作量。然而,使用C++语言设计界面美观、功能相对完整的程序,不仅需要熟练掌握C++语言本身的所有特性,还需要掌握数据结构等知识。通常,艺术生仅通过几十学时的学习是难以完成这样的学习任务的。
Microsoft Visual C++(简称Visual C++)是微软公司的软件产品之一,是一个Windows应用程序集成开发环境,可用来编写C和C++程序,并进行编译和调试。很多院校、培训机构、企业都使用Visual C++进行软件开发。本书后两章主要介绍基于MFC的Visual C++绘图程序设计和对话框程序设计,还详细介绍了一个游戏开发的全过程。
MFC(Microsoft Foundation Classes)是微软基础类库的简称,以C++类的形式封装了Windows应用程序接口(API),并且包含一个应用程序框架。如果不站在MFC这个巨人的肩膀上,初学者难以在较短的时间内设计出功能相对完整的游戏。
本书介绍的Visual C++为6.0版。虽然Visual C++ 6.0是一个早期的版本,但这个经典的版本能提供书中全部实例所需的功能,而且比新版本更加简捷。设计界有一句耳熟能详的金句—少即多,够用就好。本书选择Visual C++ 6.0版,正是基于这一理念。
本书是为高等院校数字媒体、动画、艺术类专业程序设计课程而编写的教材。目录中加星号的章节所包含的内容难度稍大,如果课时少于40学时,可以不讲授这部分内容。而且,去掉加星号的章节,书中的内容也自成体系。自学者也可以先跳过加星号的章节,学习完后面的章节后再回过头来学习这部分内容。
编写本书的目的,不仅是帮助读者编写出简单实用的程序,还希望能够帮助读者掌握现代信息技术蕴含的科学思想,如结构化程序设计思想、面向对象程序设计思想。这些思想可以拓展开来,运用到科学研究、艺术设计、工程管理和企业营销等工作中。
由于编写时间仓促,错漏之处在所难免,望读者不吝赐教,以便作者拾遗补漏、更正错误。
展开