大学程序设计教程(C)
书 号:9787113107895
丛 书 名:高等学校计算机精品课程系列教材
作 者:夏 耘 臧劲松 吉顺如
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:26元
-
内容简介
本书第1至第5章以属于基础篇,每章设置编程活动,将该章应掌握的基本算法融入活动中,基础该篇中主要将学生引进门(程序设计入门)。第6至第9章属于提高篇分4章,分别介绍了递归、指针、链表、和文件,。通过提高篇,读者能独立编写完整的程序,可以结合实际生活创作属于自己(或项目开发组)的作品。 -
前言
计算机已成为社会生活的主旋律,通过编写计算机程序可以真正进入计算机世界,能直接与计算机沟通,提高解决实际问题的效率。因此,多年来程序设计课程一直是大学生的计算机基础课程。
C语言以其小巧、灵活、高效等特点成为当今软件开发的主流语言之一。近年来不少高校将C语言作为大学生的入门语言,教育部考试中心及大部分省市也将C语言纳入计算机等级考试的科目。
本书将实际问题作为程序切入点,旨在倡导基于DIY的程序设计教学法,使读者动手学程序。读者通过本书,可以体验程序、调试程序、编写部分程序,并逐步达到独立编写完整的程序之目标;在学习中会遇到不少问题,本书提供了配套素材文件(可从中国铁道出版社网站http://edu.tqbooks.net下载),对每章教学中可能出现的问题进行归纳、总结,倡导在学习中发现问题—解决问题—归纳总结的教学法,解决学生长期以来的课上能听、课下不能解题,谈编程色变的问题。
本书注重基本概念的系统化,叙述简明扼要。本书内容精练,结构合理,重点突出,对读者可能遇到的难点做了详细的阐述。
本书第1~5章为基础篇,每章设置编程活动,将该章应掌握的基本算法融入活动中,主要将学生引进门(程序设计入门);第6~9章为提高篇,分别介绍了递归、指针、结构体和共用体、动态数据组织,通过提高篇读者能独立编写完整的程序,并可以结合实际创作属于自己(项目开发组)的作品。在本书第10章中,包括例题、练习及思考与解答,可以帮助读者巩固所学知识。
本书在编者整理课堂教案基础上编写而成,注重训练环节,体现了在理论指导下让学生动手、动脑的基本思想方法,引导学生进行理性思维和理性实践。按照建构主义的学习理论,学生作为学习的主体在与客观环境(指所学内容)的交互过程中构建自己的知识结构。本书引导学生在解题编程中探索其中带规律性的认识,将感性认识升华到理性高度,这样学生就能举一反三。
本书由上海理工大学光电与计算机工程学院、上海电机学院计算机基础教学的一线教师共同编写,由夏耘、臧劲松、吉顺如老师任主编,共同策划、统稿,由黄小瑜、黄春梅老师任副主编,在编写过程中,组织了集体统稿、定稿,并得到了清华大学、交通大学、复旦大学、华东师范大学、华东理工大学、上海理工大学、上海大学等校计算中心各位老师的帮助。在此一并致谢。
由于时间仓促和水平有限,本书难免存在一些不妥之处,请广大读者批评指正。 -
目录
第1章 程序设计综述 1
1.1 体验编程 1
1.1.1 使用C编写应用程序 1
1.1.2 编程语言 2
1.2 数据类型及基本运算 5
1.2.1 基本数据类型 5
1.2.2 数据的表示 6
1.2.3 常用的运算符和表达式 9
1.3 顺序结构程序设计 15
1.3.1 基本语句 15
1.3.2 输入和输出 16
1.4 编程活动 22
1.5 本章小结 23
第2章 逻辑思维与程序设计 25
2.1 关系运算符与关系表达式 25
2.2 逻辑运算符与逻辑表达式 26
2.3 分支结构控制语句 28
2.3.1 条件运算符和条件表达式 29
2.3.2 if语句 29
2.3.3 多分支的switch语句和break中断跳转语句 33
2.4 编程活动 36
2.5 本章小结 38
第3章 枚举法与程序设计 39
3.1 循环问题 39
3.2 循环结构控制语句 40
3.2.1 while语句 40
3.2.2 do…while语句 41
3.2.3 for语句 42
3.3 循环嵌套 44
3.3.1 嵌套问题 44
3.3.2 循环控制的辅助语句 47
3.4 编程活动 47
3.5 本章小结 52
第4章 数组 53
4.1 一维数组 54
4.1.1 一维数组的声明 54
4.1.2 一维数组的存储 55
4.1.3 一维数组元素的引用 56
4.1.4 一维数组的初始化 57
4.2 二维数组 58
4.2.1 二维数组的声明 59
4.2.2 二维数组的存储 59
4.2.3 二维数组元素的引用 60
4.2.4 二维数组的初始化 62
4.3 字符数组与字符串 63
4.3.1 字符数组的声明与初始化 63
4.3.2 字符串 64
4.4 编程活动 70
4.5 本章小结 84
第5章 函数 85
5.1 模块化设计与函数 85
5.1.1 函数定义 86
5.1.2 函数调用 88
5.1.3 return语句 89
5.1.4 函数调用时的参数传递 89
5.1.5 函数调用声明 90
5.2 变量的作用域和存储类型 91
5.2.1 变量的作用域 91
5.2.2 变量的存储类型 92
5.3 编程活动 93
5.4 本章小结 96
提 高 篇
第6章 递归 97
6.1 用程序解决Hanoi塔问题 97
6.2 递归 99
6.2.1 递归的定义 99
6.2.2 递归条件 99
6.2.3 递归的说明 100
6.2.4 递归的实现 100
6.2.5 递推 103
6.3 编程活动 103
6.4 本章小结 105
第7章 指针 106
7.1 什么是指针 106
7.1.1 内存与地址 106
7.1.2 指针与指针变量 106
7.1.3 指针符号“*”和地址符号“&” 107
7.1.4 指针初始化与空指针 108
7.2 指针运算 109
7.2.1 算术运算 109
7.2.2 关系运算 110
7.3 数组和指针 111
7.3.1 指向一维数组的指针变量 112
7.3.2 指针与二维数组(数组指针) 114
7.4 指针作为函数参数 116
7.4.1 为什么用指针参数 116
7.4.2 指针参数与数组参数 117
7.5 动态内存分配 119
7.6 指针与字符串 120
7.7 指针数组 122
7.8 指针与函数 124
7.8.1 函数返回指针值 124
7.8.2 指向函数的指针 125
7.9 编程活动 127
7.10 本章小结 134
第8章 结构体和共用体 135
8.1 结构体 137
8.1.1 结构体类型的定义和变量的声明 137
8.1.2 结构体变量的存储与成员的引用 139
8.1.3 结构体数组 142
8.1.4 在函数中使用结构体 144
8.2 共用体 146
8.2.1 共用体类型的定义和变量的声明 147
8.2.2 共用体变量的存储和成员的引用 148
8.3 编程活动 151
8.4 本章小结 156
第9章 动态数据组织 158
9.1 线性链表 158
9.2 链表的基础操作 160
9.3 抽象数据类型 165
9.3.1 堆栈 165
9.3.2 队列 167
9.3.3 二叉树 170
9.4 文件 172
9.4.1 文件指针 173
9.4.2 常用文件函数 174
9.5 编程活动 177
9.6 本章小结 184
第10章 例题与练习 185
10.1 例题 185
10.1.1 简答题 185
10.1.2 单选题 196
10.1.3 填空题 213
10.1.4 程序填空题 218
10.2 练习 219
10.2.1 填空题 219
10.2.2 程序调试题 222
10.2.3 程序填空调试题 223
10.2.4 编程题 227
10.3 思考与解答 227 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1夏耘 本科 副教授 程序设计工作单位上海理工大学现代教育中心计算机教研室邮政编码200093 电话021-62801072 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 -
编辑推荐
本书整理了课堂的教案,注重训练环节,体现了在理论指导下,让学生动手、动脑的基本思想方法,提出理性思维和理性实践。按照建构主义的学习理论,学生作为学习的主体在与客观环境(指所学内容)的交互过程中构建自己的知识结构。本书引导学生在解题编程中探索其中带规律性的认识,将感性认识升华到理性高度,这样学生就能举一反三。本书可供各层面学生、教师、自学应试者阅读。 -
书评书荐
-
附件下载
图书推荐