扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

高级语言程序设计(C语言版)

综合评级:
★★★★★

定价:
¥48.00

作者:
揭安全 著

出版社:
人民邮电出版社

出版日期:
2015年8月

页数:
354

字数:
605000

ISBN:
9787115394606

书籍介绍

江西师范大学《高级语言程序设计(C语言版)》课程是江西省高等学校精品资源共享课程,本教材内容已用讲义形式经过3届学生的使用,达到了很好的教学效果。

本书特色:

(1)理论联系实际,强化计算思维能力培养。

语 言语法介绍以够用、实用和应用为原则,将C语言的语法融入到问题求题中;从实际应用案例中抽取教学要素,重点强化模块化程序设计方法与基本算法的学习。全 书从数据组织的维度介绍了基本数据类型以及数组、指针和结构体等构造数据类型在数据处理中的应用;从算法维度将“迭代”、“穷举”、“递归”、“分治”、 “检索”与“排序”等算法融入到实际应用问题的求解过程。让读者在学习的过程中潜移默化地提高计算思维能力。

(2)案例选取贴近生活,有助于提高学习兴趣。

全 书通过贴近生活的案例来分析问题的本质,如程序设计语言为何要区分不同的数据类型,如何在程序设计中选择正确的数据类型,如何存储大规模数据等,书中用了 通俗易懂的例子来进行说明。同时,从读者熟悉的应用软件中抽取教学案例,如网银认证的验证码,信息加密、计算器的进位制转换,手机通讯录查询等案例都贴近 生活,突出了应用导向,有助于提高学生学习兴趣。

(3)内容呈现直观、形象,知识点讲解深入浅出,通俗易懂。

全书以图文并茂的方式深入剖 析相关知识的底层原理,使读者对课程难点做到知其然,知其所以然。例如,通过递归调用图来说明递归程序的执行原理;通过详细的图示来说明指针、参数传递、 链表等难点,并拓展了指针在生成动态不规则二维数组等方面的高级应用,这可为学生今后深入理解Java等新型程序设计语言的引用数据类型奠定基础。

(4)内容编排体现“以学为中心”的教学思想。

随 着大规模在线教育课程(MOOC)和微课等新型教学媒体的出现,学生的学习呈现碎片化学习特点。本书在内容组织上进行了全新设计,将精选的相关练习与实验 穿插到章节中间,使读者在学习完相关内容后能够及时巩固并拓展所学知识,做到举一反三,满足“翻转课堂”等新型教学范式的教学需求。全书还以小贴士的形式 提供了大量的相关拓展知识,以丰富读者的视野。

(5)C标准与时俱进,程序代码规范统一。

引入部分C99与C11标准,提升编写C语言程序的灵活性。例如,引入C99的bool类型,使逻辑表达更加简洁,符合现代程序设计的规范。从第五章开始,大部分问题求解都以模块化的方式进行设计,有助于引导学生掌握模块化程序设计的思想。书中所有程序源码均通过了调试。

作者简介

揭安全,男,毕业于江西师范大学计算机系,获计算机软件与理论硕士学位,1997年参加工作,现任江西师大计算机学院副教授,计算机科学系系主任,2013年起低职高聘教授。主要承担《高级语言程序设计》、《数据结构》、《面向对象程序设计》等课程的教学工作,三门课程均被评为江西省高等学校精品资源共享课程。制作的《高级语言程序设计》教学课件获得江西省高校第四届多媒体课件大赛一等奖。获得江西省模范教师,江西省师德标兵,江西省高校中青年骨干教师,江西师范大学教学名师等荣誉称号。2014年3月~2014年8月California State University Fullerton 访学。

目录

第1章 程序设计引论

1.1 计算科学与问题求解

1.2 程序与程序设计

1.2.1 程序

1.2.2 程序设计

1.3 程序设计语言

1.3.1 程序设计语言分类

1.3.2 程序的执行方式

1.4 C语言简介

1.5 C语言程序开发工具

1.6 C语言程序开发步骤

本章小结

实验一

 

第2章 数据类型、运算符与表达式

2.1 C程序基本结构

2.2 C程序中常见的符号

2.3 数据类型

2.4 常量

2.4.1 整型常量

2.4.2 实型常量

2.4.3 字符常量

2.4.4 字符串常量

2.4.5 宏常量

练习2.1

2.5 变量

2.5.1 变量的声明

2.5.2 变量初始化

2.5.3 变量的访问与使用

练习2.2

2.6 运算符与表达式

2.6.1 算术运算符

2.6.2 运算符的优先级与结合性

2.6.3 关系运算符

2.6.4 复合赋值运算符

2.6.5 ++和--运算符

2.7 表达式的类型转换

2.7.1 赋值表达式的类型转换

2.7.2 强制类型转换

2.8 const常量

练习2.3

本章小结

实验二

 

第3章 算法与简单C程序设计

3.1 C语句

3.2 C程序输入/输出操作的实现

3.2.1 字符输入/输出

3.2.2 格式输入/输出

练习3.1

3.3 算法

3.3.1 问题求解过程中算法的作用

3.3.2 算法的特点

3.3.3 算法的描述

3.4 简单程序设计举例

练习3.2

本章小结

实验三

 

第4章 程序基本控制结构

4.1 逻辑运算符与逻辑表达式

4.1.1 逻辑运算符

4.1.2 逻辑表达式

练习4.1

4.2 选择控制结构

4.2.1 if单分支语句

4.2.2 if双分支语句

4.2.3 if多分支语句

4.3 条件表达式

练习4.2

4.4 switch多分支语句

练习4.3

4.5 循环控制语句

4.5.1 while循环语句

4.5.2 for循环语句

4.5.3 do while循环语句

练习4.4

4.6 程序跳转语句

4.6.1 break语句

4.6.2 continue 语句

4.6.3 goto语句

练习4.5

4.7 多重循环及其应用

练习4.6

4.8 循环程序设计方法

4.8.1 迭代法

4.8.2 穷举法

本章小结

实验四

 

第5章 函数及其应用

5.1 C函数概述

5.2 C函数的定义和调用

5.2.1 C函数的定义

5.2.2 return语句

5.2.3 函数调用

5.2.4 函数声明

练习5.1

5.3 引用库函数与自定义函数

5.3.1 库函数分类

5.3.1 #include指令

5.4 函数参数传递方式

练习5.2

5.5 函数嵌套调用

5.5.1 嵌套调用的概念

5.5.2 模块化设计基本方法

练习5.3

5.6 递归函数及其应用

5.6.1 递归的概念

5.6.2 递归程序分析

练习5.4

5.6.3 递归程序应用

练习5.5

5.7 变量的作用域与生存期

5.7.1 局部变量

5.7.2 全局变量

5.7.3 变量的存储类型

练习5.6

5.8 函数综合应用--趣味算术游戏

练习5.7

本章小结

实验五

 

第6章 数组及其应用

6.1 一维数组

6.1.1 一维数组的定义与引用

6.1.2 一维数组的初始化

练习6.1

6.2 向函数传递一维数组

练习6.2

6.3 基于数组的常用算法及其应用

6.3.1 顺序查找

6.3.2 数据删除

6.3.2 数据插入

6.3.4 寻找最大值

练习6.3

6.3.5 数据排序

6.3.6 数据倒置

6.3.7 二分查找

6.3.8 一维数组应用实例

练习6.4

6.4 二维数组

6.4.1 二维数组的定义、引用及初始化

6.4.2 二维数组应用实例

练习6.5

6.5 向函数传递二维数组

练习6.6

6.6 字符串及字符数组

6.6.1 字符串

6.6.2 字符数组的初始化

6.6.3 字符数组的输入/输出

6.6.4 字符串处理函数

6.6.5 字符串应用实例

练习6.7

6.7 基于数组的递归算法

练习6.8

本章小结

实验六

 

第7章 指针及其应用

7.1 指针的本质

7.2 指针变量的定义与初始化

7.3 间接寻址运算符

练习7.1

7.4 指针与函数

7.4.1 传值调用与传地址调用

7.4.2 指针作函数参数的应用实例

练习7.2

7.5 指针和一维数组

7.5.1 指针的算术运算与关系运算

7.5.2 应用指针访问一维数组

7.5.3 深入理解一维数组作函数参数的本质

练习7.3

7.6 字符指针

7.6.1 使用字符指针指示字符串常量

7.6.2 利用字符指针访问字符串变量

练习7.4

7.7 指针和二维数组

7.7.1 列指针

7.7.2 行指针

7.7.3 深入理解二维数组作函数参数的本质*

7.7.4 巧用列指针设计通用二维数组处理函数*

练习7.5

7.8 指针的高级应用

7.8.1 指针数组其应用

7.8.2 动态内存分配

7.8.3 二级指针*

7.8.4 指向函数的指针及其应用*

练习7.6

本章小结

实验七

 

第8章 结构体及其应用

8.1 为何要用结构体

8.2 结构体类型与结构体变量

8.2.1 结构体类型的声明

8.2.2 结构体变量的定义

8.2.3 对结构体变量的操作

8.2.4 结构体变量的初始化

练习8.1

8.3 指向结构体的指针

练习8.2

8.4 向函数传递结构体

8.4.1 值传递

8.4.2 地址传递

练习8.3

8.5 结构体数组

8.5.1 结构体数组的定义

8.5.2 结构体数组的初始化与引用

8.5.3 结构体数组的应用

练习8.4

8.6 动态数据结构--单链表

8.6.1 单链表的定义

8.6.2 在单链表插入新结点

8.6.3 建立单链表

8.6.4 单链表的遍历

8.6.5 在单链表中查找结点

8.6.5 在单链表中删除结点

练习8.5

本章小结

实验八

 

第9章 文件与数据存储

9.1 引例--学生文件信息的创建

9.2 文件概述

9.2.1 流的概念

9.2.2 文件的分类

9.2.3 文件指针

9.3 文件的打开和关闭

9.3.1 文件的打开

9.3.2 文件的关闭

练习9.1

9.4 文件检测函数

9.4.1 检测文件末尾函数

9.4.2 检测出错函数

9.5 文件的读/写操作

9.5.1 字符读/写函数

9.5.2 字符读/写函数应用实例

9.5.3 字符串读/写函数

9.5.4 字符串读/写函数应用实例

9.5.5 格式化读/写函数

9.5.6 格式化读/写函数应用实例

 ……

第10章C综合性程序设计案例分析

附录A C语言中的关键字

附录B 常用字符与ASCH代码对照表

附录C运算符的优先级和结合性

附录D常用的C语言库函数

附录E 全国计算机等级考试二级c语言程序设计考试大纲

附录F visual C++6.0使用指南

参考文献