注册 登录 进入教材巡展
#
  • #

出版时间:2015年11月

出版社:清华大学出版社

以下为《程序设计基础——从问题到程序(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302411802
  • 2-1
  • 45789
  • 0045168050-8
  • 平装
  • 16开
  • 2015年11月
  • 工学
  • 软件工程
  • TP311.1
  • 计算机
  • 本科
内容简介
胡明、王红梅编写的《程序设计基础--从问题到程序(第2版高等学校计算机基础教育规划教材)》以C语言为工具,以程序设计过程为主线,结合实际问题,基于计算思维,通过“问题→想法→算法→程序”的问题求解过程,带领读者分析问题、构造算法、设计程序,在潜移默化中掌握程序设计语言的基本知识,掌握程序设计的一般过程和基本方法,提高计算思维能力以及应用程序设计语言解决实际问题的能力。
本书适用于程序设计的初学者,主要面向没有任何编程知识和编程经历的读者。本书遵循初学者的认知规律和知识基础,科学安排知识单元之间的拓扑关系,概念清晰,实例丰富,深入浅出,是程序设计初学者的理想教材。
目录

第1章  绪论


  1.1  程序、程序设计与程序设计语言


    1.1.1  程序与程序设计


    1.1.2  程序设计语言


  1.2  程序的基本构成


    1.2.1  程序示例


    1.2.2  基本字符集


    1.2.3  词法单位


    1.2.4  语法单位


    1.2.5  程序


  1.3  程序的上机过程


    1.3.1  编程环境


    1.3.2  程序编辑


    1.3.3  程序编译


    1.3.4  程序连接


    1.3.5  运行调试


  1.4  程序风格


    1.4.1  标识符的命名规则


    1.4.2  注释


    1.4.3  缩进


    1.4.4  行文格式


  1.5  问题求解与程序设计


    1.5.1  程序设计的一般过程


    1.5.2  程序设计的核心——算法


    1.5.3  程序设计实例——鸡兔同笼问题


  习题


第2章  数据的存储表示


  引例2.1  计算圆的面积


  2.1  数据的存储


    2.1.1  二进制


    2.1.2  内存


  2.2  基本数据类型


    2.2.1  整型


    2.2.2  实型


    2.2.3  字符型


    2.2.4  逻辑型


  2.3  常量


    2.3.1  字面常量


    2.3.2  符号常量


  2.4  变量


    2.4.1  变量的概念


    2.4.2  变量的定义和初始化


    2.4.3  变量的赋值


  2.5  程序设计实例


    2.5.1  实例1——温度转换


    2.5.2  实例2——计算本息和


  习题


第3章  数据的运算处理


  3.1  算术运算


  引例3.1  求平均值


    3.1.1  算术运算


    3.1.2  运算符的优先级和结合性


  3.2  逻辑运算


  引例3.2  判断闰年


    3.2.1  关系运算


    3.2.2  逻辑运算


  3.3  赋值运算


    3.3.1  赋值运算


    3.3.2  自增/自减运算


  3.4  其他运算


    3.4.1  逗号运算


    3.4.2  取长度运算


    3.4.3  条件运算


  3.5  运算对象的类型转换


    3.5.1  自动转换


    3.5.2  强制转换


  3.6  程序设计实例


    3.6.1  实例1——通用产品代码


    3.6.2  实例2——疯狂赛车


  习题


第4章  程序的基本控制结构


  4.1  顺序结构


  引例4.1  整数的逆值


    4.1.1  简单的顺序结构


    4.1.2  复合语句


  4.2  选择结构


  引例4.2  水仙花数


    4.2.1  逻辑值控制的选择结构


    4.2.2  算术值控制的选择结构


  4.3  循环结构


  引例4.3  欧几里得算法


    4.3.1  当型循环


    4.3.2  直到型循环


    4.3.3  计数型循环


    4.3.4  循环结构的比较


    4.3.5  循环结构的嵌套


  4.4  其他控制语句


  引例4.4  素数判定


    4.4.1  break语句


    4.4.2  continue语句


  4.5  程序设计实例


    4.5.1  实例1——将三个整数由小到大输出


    4.5.2  实例2——今年已经过去多久了


    4.5.3  实例3——百元买百鸡问题


    4.5.4  实例4——哥德巴赫猜想


  习题


第5章  批量同类型数据的组织——数组


  5.1  一维数组


  引例5.1  舞林大会


    5.1.1  一维数组的定义和初始化


    5.1.2  一维数组的操作


  5.2  二维数组


  引例5.2  哥尼斯堡七桥问题


    5.2.1  二维数组的定义和初始化


    5.2.2  二维数组的操作


  5.3  程序设计实例


    5.3.1  实例1——折半查找


    5.3.2  实例2——合并有序数组


    5.3.3  实例3——对角线元素之和


    5.3.4  实例4——幻方问题


  习题


第6章  程序的组装单元——函数


  6.1  用户定义的函数——自定义函数


  引例6.1  欧几里得算法


    6.1.1  函数定义


    6.1.2  函数调用


    6.1.3  函数声明


  6.2  系统定义的函数——库函数


  引例6.2  素数判定


    6.2.1  头文件与文件包含


    6.2.2  标准输入输出函数


    6.2.3  随机函数


    6.2.4  其他常用库函数


  6.3  变量的作用域


  引例6.3  鸡兔同笼问题


    6.3.1  局部变量


    6.3.2  全局变量


  6.4  变量的生存期


  引例6.4  字数统计


    6.4.1  自动变量


    6.4.2  静态变量


  6.5  程序设计实例


    6.5.1  实例1——三角形的面积


    6.5.2  实例2——猜数游戏


  习题


第7章  变量的间接访问——指针


  7.1  指针


  引例7.1  答疑教室


    7.1.1  指针的概念


    7.1.2  指针变量的定义和初始化


    7.1.3  指针变量的操作


    7.1.4  指针所指变量的操作


  7.2  指针作为函数的参数


  引例7.2  鸡兔同笼问题


    7.2.1  值传递方式——函数的输入


    7.2.2  指针传递方式——函数的输出


    7.2.3  指针传递方式——函数的输入输出


  7.3  数组作为函数的参数


  引例7.3  顺序查找


    7.3.1  一维数组作为函数的参数


    7.3.2  二维数组作为函数的参数


  7.4  程序设计实例


    7.4.1  实例1——三个整数由小到大输出


    7.4.2  实例2——哥德巴赫猜想


    7.4.3  实例3——求一元二次方程的根


    7.4.4  实例4——简单选择排序


  习题


第8章  字符数据的组织——字符串


  引例8.1  恺撒加密


  8.1  字符串变量的定义和初始化


    8.1.1  字符数组


    8.1.2  字符串指针


  8.2  字符串的操作


    8.2.1  输入输出操作


    8.2.2  赋值操作


    8.2.3  字符串的比较


    8.2.4  常用字符串库函数


  8.3  程序设计实例


    8.3.1  实例1——字数统计


    8.3.2  实例2——字符串匹配


  习题


第9章  自定义数据类型


  9.1  可枚举数据的组织——枚举类型


  引例9.1  行走机器人


    9.1.1  枚举类型的定义


    9.1.2  枚举变量的定义与初始化


    9.1.3  枚举变量的操作


  9.2  不同类型数据的组织——结构体类型


  引例9.2  统计入学成绩


    9.2.1  结构体类型的定义


    9.2.2  结构体变量的定义和初始化


    9.2.3  结构体变量的操作


  9.3  批量不同类型数据的组织——结构体数组


  引例9.3  统计入学成绩


    9.3.1  结构体数组的定义和初始化


    9.3.2  结构体数组的操作


  9.4  为自定义数据类型定义别名


  9.5  程序设计实例


    9.5.1  实例1——荷兰国旗问题


    9.5.2  实例2——最近对问题


  习题


第10章  再谈函数


  10.1  函数的嵌套调用


  引例  10.1  字符串的循环左移


    10.1.1  函数——封装的小程序


    10.1.2  函数的嵌套调用


  10.2  函数的递归调用


  引例  10.2  求


    10.2.1  递归的定义


    10.2.2  函数的递归调用


  10.3  程序设计实例


    10.3.1  实例1——公共子序列


    10.3.2  实例2——弦截法求方程的根


    10.3.3  实例3——汉诺塔问题


    10.3.4  实例4——折半查找


  习题


第11章  再谈指针


  11.1  指针与数组


  引例11.1  判断回文串


    11.1.1  用指针访问一维数组


    11.1.2  用指针访问二维数组


    11.1.3  指针数组


  11.2  指针与结构体


    引例11.2  统计入学成绩


    11.2.1  指向结构体的指针


    11.2.2  结构体指针作为函数参数


  11.3  动态存储分配


    引例11.3  发纸牌


    11.3.1  申请和释放存储空间


    11.3.2  动态数组