C程序设计导引

出版时间:2011-11  出版社:清华大学出版社  作者:孙燮华 编著  

前言

  C语言的编译环境已从传统的Turbo C 2.0变为Visual C++ 6.0。由于Turbo C 2.0中进行图形编程的Graphics.h与Visual C++ 6.0不相容,这一改变使大部分C语言教材没有图形编程一章,即使有C语言图形编程内容的教材,其编程环境仍然回到Turbo C 2.0中。这表明C语言编译环境不完全适应图形编程。另一方面,计算机的可视化,即图形化是当前的主流,Windows窗体化已经在计算机领域取得了统治地位。由于这些原因,作者在本书中引入了属于Windows编程的API,稍微向Windows跨出一步。对于不熟悉Windows编程的读者,只要输入本书的Windows.c程序,引用这个文件后,即可如通常编写C程序一样编写C图形图像程序了。  与目前出版的所有C语言教材相比,本书独具的三大特色是:  (1) 适应在Visual C++ 6.0环境中进行图形图像编程。本书引入了一个属于Windows编程的Windows.c程序,只要将这个程序输入或略作修改,就可以用通常的方法进行图形图像编程。  (2) 除专设第10章算法设计与分析外,有关算法和编程的内容贯穿全书,并结合高等数学的方法进行分析,以培养学生应用数学方法设计算法和编程的能力。  (3) 为扩大读者的知识面和提高学习C语言的兴趣,也为后续学习课程,如计算机图形学、图像处理、密码学、通信编码和游戏动画等作基础准备,本书提供了动态Bezier曲线、显示PGM图像、序列加/解密、通信GCD算法和动画小球碰撞等应用的实例。  本书在成书过程中得到了周永霞博士、姚伏天博士和吴永刚等老师的帮助,特此表示感谢。对本书引用的参考书的作者们表示感谢。  本书由王德林副教授撰写第1~8章,由孙燮华撰写第9~12章,全书由孙燮华定稿。由于作者的能力和水平有限,虽然经过了极大的努力,书中仍然难免还有一些错误,希望读者和同行专家批评指正。  作者  2011年5月

内容概要

  本书除了介绍c语言基础、基本数据类型、各种运算符与表达式、控制结构与语句、数组、函数、指针、结构体、文件等基本内容外,加强了算法的设计和编程能力的培养,还特别介绍c图形程序在visual
c++
6.0环境中的编译和运行。本书注意培养学生的编程和创新能力,尤其注重可视化的图形编程和算法设计能力的培养,为后续学习面向对象编程和图形学与图像处理等课程作基础准备。为提高读者对学习c语言的兴趣,本书还提供了c语言应用于图形图像处理、计算机密码学、通信、数据压缩、智能算法和动画等领域的应用实例。
  本书可作为高等学校理工科各专业c语言程序设计教材,也可作为计算机等级考试教学和自学用书。

书籍目录

第1章 概论
 1.1 c语言的发展与特点
  1.1.1 c语言发展简史
  1.1.2 c语言的特点
 1.2 第一个c程序
  1.2.1 第一个c程序及其编译与运行
  1.2.2 关于c程序的编写
  1.2.3 c程序的结构
 1.3 本书提供的c语言应用实例介绍
  1.3.1 概述
  1.3.2 本书部分应用举例
 习题
第2章 c语言基础
 2.1 字符集、标识符与关键词
  2.1.1 字符集
  2.1.2 标识符
  2.1.3 关键词
 2.2 数据类型
  2.2.1 基本数据类型
  2.2.2 其他数据类型
 2.3 常量与变量
  2.3.1 常量
  2.3.2 变量
 2.4 运算符与表达式
  2.4.1 赋值运算符与表达式
  2.4.2 算术运算符与表达式
  2.4.3 关系运算符与表达式
  2.4.4 逻辑运算符与表达式
 4.5 逗号运算符与表达式
  2.4.6 复合运算与表达式
  2.4.7 运算符优先级
 2.5 数据输入/输出函数与常用函数
  2.5.1 数据输入/输出函数
  2.5.2 字符输入/输出函数
  2.5.3 常用函数
 习题
第3章 程序控制流与程序算法设计
 3.1 顺序结构
  3.1.1 顺序结构的基本语句
  3.1.2 顺序结构应用举例
 3.2 选择结构
  3.2.1 if语句
  3.2.2 条件表达式
  3.2.3 switch语句
 3.3 循环结构
  3.3.1 while循环
  3.3.2 do-while循环
  3.3.3 for循环
  3.3.4 循环语句的嵌套
  3.3.5 break语句和continue语句
  3.3.6 goto语句
 3.4 算法
  3.4.1 算法概述
  3.4.2 算法描述方法
 3.5 程序设计方法
  3.5.1 程序设计的一般步骤
  3.5.2 结构化程序设计方法
 习题
第4章 函数
 4.1 函数声明与定义
  4.1.1 概述
  4.1.2 函数声明
  4.1.3 函数定义
 4.2 函数调用
  4.2.1 传值调用的特点
  4.2.2 函数调用方式
  4.2.3 函数嵌套调用
  4.2.4 函数递归和递推调用
 4.3 函数与变量
  4.3.1 全局变量和局部变量
  4.3.2 变量的生命期与存储类别
 习题4
第5章 数组与字符串
 5.1 一维数组
  5.1.1 一维数组定义
  5.1.2 一维数组引用
  5.1.3 数组元素的排序与查找
 5.2 二维数组
  5.2.1 二维数组定义
  5.2.2 二维数组引用
  5.2.3 二维数组程序举例
 5.3 字符串
  5.3.1 字符串的存储
  5.3.2 字符串的输入与输出
  5.3.3 常用字符串函数
 5.4 数组与函数
  5.4.1 数组元素作为函数参数
  5.4.2 数组名作为函数参数
 习题5
第6章 指针与动态内存分配
 6.1 指针基础
  6.1.1 指针变量定义
  6.1.2 指针变量初始化
  6.1.3 指针的间接引用
  6.1.4 指针基本运算
 6.2 指针与数组
  6.2.1 指向数组元素的指针
  6.2.2 通过指针引用数组元素
  6.2.3 数组名作函数参数
  6.2.4 指针数组
  6.2.5 指向指针的指针
  6.2.6 指针数组与二级指针的等价性
 6.3 指针与字符串
  6.3.1 字符串的表示形式
  6.3.2 字符串指针作函数参数
  6.3.3 常用字符串函数
 6.4 指针与函数
  6.4.1 指针作函数的参数
  6.4.2 指针作函数返回值
  6.4.3 指向函数的指针
  6.4.4 函数指针作函数的参数
 6.5 const指针
  6.5.1 指向常量的指针
  6.5.2 指针常量
  6.5.3 指向常量的指针常量
 6.6 动态内存分配
  6.6.1 用malloc()分配内存空间
  6.6.2 动态数组的实现
 习题6
第7章 结构体、共用体和枚举类型
 7.1 结构体类型
  7.1.1 结构体类型及其变量的定义
  7.1.2 结构体变量的使用
  7.1.3 结构体变量的初始化
 7.2 结构体数组
  7.2.1 结构体数组的定义
  7.2.2 结构体数组的初始化
 7.3 结构体指针变量
  7.3.1 指向结构体的指针
  7.3.2 指向结构体数组的指针
  7.3.3 结构体变量和结构体指针变量作函数参数
 7.4 链表
  7.4.1 链表概述
  7.4.2 链表的基本操作
 7.5 共用体
  7.5.1 共用体类型的定义
  7.5.2 共用体类型变量的定义
  7.5.3 共用体变量的使用
 7.6 枚举类型
 习题7
第8章 输入/输出与文件
 8.1 概述
  8.1.1 c语言文件的概念
  8.1.2 文本文件和二进制文件
  8.1.3 文件类型指针
 8.2 文件打开与关闭
  8.2.1 打开文件
  8.2.2 关闭文件
  8.2.3 文件缓冲区的控制
  8.2.4 文件状态检测
 8.3 文本文件读/写
  8.3.1 按字符读/写
  8.3.2 按字符串读/写
  8.3.3 格式化读/写
 8.4 二进制文件读/写
  8.4.1 写入二进制文件
  8.4.2 读出二进制文件
 8.5 文件定位与随机存取
  8.5.1 文件定位
  8.5.2 随机读/写
 习题8
第9章 位运算及其应用
 9.1 概述
  9.1.1 位与字节
  9.1.2 位序列的输出
 9.2 位运算符及其使用方法
  9.2.1 按位取反运算
  9.2.2 按位左移运算
  9.2.3 按位右移运算
  9.2.4 按位与运算
  9.2.5 按位或运算
  9.2.6 按位异或运算
  9.2.7 复合位运算符
 9.3 位运算应用举例
  9.3.1 位运算用于分离ip地址
  9.3.2 均匀二分查找
  9.3.3 二进制gcd算法
  9.3.4 在计算机密码学中的应用
  9.3.5 在数据压缩中的应用
 习题9
第10章 算法设计与分析
 10.1 穷举法
  10.1.1 百钱百鸡问题
  10.1.2 提高穷举效率
  10.1.3 局部穷举
  10.2 分治法
  10.2.1 二分法求解方程
  10.2.2 快速排序法
 10.3 回溯法
  10.3.1 递归回溯法
  10.3.2 非递归回溯法
 10.4 贪心算法
  10.4.1 旅行商问题
  10.4.2 删数问题
 10.5 再论递归与递推算法
  10.5.1 递归和递推的效率
  10.5.2 递归算法非递归化
 10.6 大整数相加算法
  10.6.1 大整数相加算法设计与实现
  10.6.2 大fibonacci数的计算
 习题10
第11章 图形与图像编程
 11.1 概述
  11.1.1 win32 api简介
  11.1.2 windows应用程序的数据类型
 11.2 windows应用程序结构
  11.2.1 winmain函数
  11.2.2 wndproc窗口函数
 11.3 图形编程
  11.3.1 创建图形编程空工程
  11.3.2 编写窗口程序
  11.3.3 编写图形程序
  11.3.4 常用图形函数介绍
  11.3.5 图形编程实例
  11.3.6 图形动画
 11.4 图像编程
  11.4.1 raw图像数据及其显示
  11.4.2 pgm和ppm图像显示和存储
 习题11
第12章 编译预处理与程序调试
 12.1 编译预处理概述
  12.1.1 预处理指令
  12.1.2 文件包含
 12.2 宏定义与宏替换
  12.2.1 对象式宏
  12.2.2 函数式宏
 12.3 条件编译
  12.3.1 条件指令#if、#else、#elif、#endif的使用
  12.3.2 条件指令#ifdef、#ifndef的使用
 12.4 调试语法错误
  12.4.1 常见语法错误与警告的英文解释
  12.4.2 常见语法错误
 12.5 调试连接错误
 12.6 调试逻辑算法错误
  12.6.1 调试方法
  12.6.2 常见逻辑错误
  12.6.3 调试方法总结
 12.7 运行错误
 习题12
附录a ascii字符代码
附录b c语言常用库函数
参考文献

图书封面

评论、评分、阅读与下载


    C程序设计导引 PDF格式下载


用户评论 (总计0条)

 
 

 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7