21世纪高等学校计算机规划教材——高校系列

C语言程序设计教程

分享 推荐 0 收藏 1 阅读 1.4K
杨治明 , 雷亮 (主编) 伍建全 , 焦晓军 (副主编) 978-7-115-27087-0

关于本书的内容有任何问题,请联系 武恩玉

全书以程序设计为主线,采用案例驱动模式展开讲解,通过案例和问题引入主要教学内容,重点讲解程序设计的思想和方法,并结合相关的语法知识。
¥39.00 ¥33.15 (8.5 折)
立即购买 申请样书

内容摘要

  本书定位于将C语言作为计算机编程入门语言,以帮助读者树立计算机程序设计的思想,培养学生程序设计基本能力为目标的教材。
  全书以程序设计为主线,采用案例驱动模式展开讲解,通过案例和问题引入主要教学内容,重点讲解程序设计的思想和方法,并结合相关的语法知识。全书主要包括3方面的内容:基本内容(数据表达、数据处理和流程控制)、常用算法和程序设计风格以及C语言应用中的一些处理机制(编译预处理和命令行参数等)。涉及数据类型、表达式、分支、循环、函数、数组、指针、结构、文件的概念、应用以及指针和各种构造类型的混合运用、基本算法等内容。
  本书可以作为高等院校和计算机等级考试的教学用书,也可作为对C语言程序设计感兴趣的读者的自学用书。

目录

目 录

第 1章 C语言概述 1
1.1 简单的C语言程序 1
1.2 C语言的发展历史与特点 3
1.2.1 C语言的发展历史 3
1.2.2 C语言的特点 4
1.3 C程序的开发步骤和上机调试流程 5
1.3.1 C程序的开发步骤 5
1.3.2 C程序的上机开发过程 6
习题1 12

第 2章 基本数据类型的输入/输出 13
2.1 C语言的输入/输出 13
2.2 整型数据的输入/输出 13
2.3 浮点型数据的输入/输出 14
2.4 字符数据的输入/输出 15
2.5 字符串数据的输入/输出 15
2.6 格式化输入/输出举例 17
2.7 阅读材料 18
2.7.1 格式化输出函数printf的格式说明和使用 18
2.7.2 格式化输入函数scanf的格式说明和使用 19
习题2 21

第3章 流程控制 22
3.1 算法 22
3.1.1 算法的概念 22
3.1.2 算法的表达方式 23
3.1.3 基本流程控制结构 25
3.1.4 案例3.1 求1+1/2+…+1/100的和 26
3.2 选择语句 26
3.2.1 案例3.2 求三个整数的**大值(if语句) 26
3.2.2 案例3.3 百分制成绩转换成五分制成绩(多分支if语句) 29
3.2.3 案例3.4 判断所输入的一个字符是数字、空白符还是其他字符(switch语句) 31
3.2.4 案例3.5 百分制成绩转换成五分制成绩(switch语句) 33
3.3 循环语句 34
3.3.1 案例3.6 求1+1/2+…+1/100的和(while语句) 34
3.3.2 案例3.7 求1+1/2+…+1/100的和(do...while语句) 35
3.3.3 案例3.8 求1+1/2+…+1/100的和(for语句) 37
3.4 转向语句 39
3.4.1 案例3.9 判断所输入的一个大于1的正整数是否是素数(break语句) 39
3.4.2 案例3.10 输出100~200之间能被3整除的数(continue语句) 41
3.5 应用举例 42
3.5.1 案例3.11 计算1! + 2! + … + 10!(并讨论溢出问题) 42
3.5.2 案例3.12 计算级数1-1/3+1/5-1/7+…的和 44
3.5.3 案例3.13 统计输入的数字字符、字母字符和其他字符的个数 45
3.5.4 案例3.14 求两个正整数的**大公约数和**小公倍数 45
3.5.5 案例3.15 将一个正整数逆序输出 46
3.5.6 案例3.16 输入日期并检查其合理性,直到输入合理为止 47
3.6 阅读材料 48
3.6.1 C语言的语句 48
3.6.2 goto语句简介 49
3.6.3 exit()函数 49
3.6.4 程序调试简介 50
习题3 51

第4章 函数 54
4.1 模块化程序设计 54
4.1.1 模块化程序设计的基本思想 54
4.1.2 C语言程序设计的基本结构 55
4.2 函数定义和调用 55
4.2.1 案例4.1 求3个整数的**大值(函数定义和调用) 57
4.2.2 案例4.2 验证哥德巴赫猜想(在1000以内验证) 57
4.2.3 案例4.3 计算1k+2k+…+nk(函数原型、函数的嵌套调用) 59
4.3 标识符的作用域 60
4.3.1 案例4.4 块作用域 60
4.3.2 案例4.5 文件作用域 61
4.3.3 函数原型作用域 61
4.3.4 函数作用域 62
4.4 变量的存储种类 62
4.4.1 自动变量 62
4.4.2 寄存器变量 62
4.4.3 案例4.6 外部变量 63
4.4.4 案例4.7 静态变量 64
4.5 指针基础 64
4.5.1 地址和指针的概念 64
4.5.2 指针变量 65
4.5.3 案例4.8 两数交换(指针做参数) 65
4.5.4 案例4.9 输入10个整数求它们的**大值、**小值和总和(指针做参数) 66
4.5.5 案例4.10 统计百分制成绩各分数段的人数(指针做返回值) 67
4.6 递归函数 68
4.6.1 案例4.11 计算4!(递归函数的定义和递归调用过程分析) 68
4.6.2 案例4.12 计算整数各位数字之和 69
4.6.3 案例4.13 计算 70
4.6.4 案例4.14 汉诺塔问题 70
习题4 71

第5章 编译预处理 74
5.1 宏 74
5.1.1 案例5.1 无参宏 75
5.1.2 案例5.2 有参宏 75
5.2 文件包含 76
5.3 条件编译 77
5.3.1 条件编译命令 77
5.3.2 案例5.3 头文件设计 78
5.4 阅读材料 80
5.4.1 程序的多文件组织方法 80
5.4.2 多文件程序的编译和链接 80
习题5 81

第6章 数组 83
6.1 一维数组 83
6.1.1 一维数组的定义、初始化和使用 83
6.1.2 **大值、**小值和平均值 86
6.1.3 一维数组作为函数的参数 88
6.1.4 数组排序 90
6.1.5 数组查找 95
6.2 二维数组 98
6.2.1 二维数组的定义、初始化和使用 98
6.2.2 矩阵转置 100
6.2.3 二维数组的本质 101
6.3 字符串 104
6.3.1 字符数组和字符串 104
6.3.2 字符串的输入和输出 105
6.3.3 字符串处理 107
习题6 111

第7章 指针 120
7.1 简介 120
7.2 什么是指针 120
7.2.1 变量、变量的值与变量的地址 120
7.2.2 指针 122
7.2.3 定义指针变量 123
7.2.4 间接运算符 123
7.2.5 指针赋值 125
7.2.6 指针作为函数的参数 126
7.2.7 返回指针的函数 130
7.3 指针与一维数组 131
7.3.1 使指针指向数组 131
7.3.2 指针算术运算 131
7.3.3 指针关系运算 138
7.3.4 一维数组名与指针 140
7.3.5 向函数传递数组实际上是传递指针 142
7.4 指针与二维数组 145
7.4.1 二维数组的本质 145
7.4.2 指向数组的指针与二维数组名 146
7.4.3 用指向元素的指针访问二维数组 151
7.5 指针数组 153
7.6 带参数的main函数 154
7.7 指向指针的指针 155
7.8 指向函数的指针 156
7.8.1 指向函数的指针的定义和使用方法 156
7.8.2 指向函数的指针作函数参数 157
7.9 字符串处理函数 159
7.9.1 字符串的输入输出(gets和puts) 159
7.9.2 求字符串长度(strlen) 160
7.9.3 字符串复制(strcpy、strncpy)和字符串连接(strcat) 160
7.9.4 字符串比较(strcmp) 163
7.9.5 字符串中字符的大小写转换(strlwr和strupr) 164
7.10 动态内存分配 164
7.10.1 C语言的程序内存空间 165
7.10.2 用malloc函数分配一块内存 165
7.10.3 用calloc函数分配连续的内存空间 167
7.10.4 用realloc函数改变内存块的大小 168
习题7 170

第8章 自定义数据类型 178
8.1 结构体 178
8.1.1 案例8.1 复数的四则运算 183
8.1.2 案例8.2 学生成绩统计 184
8.2 单向链表 186
8.2.1 案例8.3 单向链表的建立和基本操作 186
8.2.2 案例8.4 猴子选大王 189
8.3 共用体 192
8.3.1 案例8.5 共用体类型及其变量的定义和使用 192
8.3.2 案例8.6 学生、教职工基本信息管理 193
8.4 枚举 200
8.4.1 案例8.7 枚举类型及其变量的定义和使用 201
8.4.2 案例8.8 枚举类型数据的输入和输出 201
8.5 自定义数据类型举例 202
8.6 阅读材料 204
8.6.1 位域 204
8.6.2 无名共用体类型的使用 205
8.6.3 类型别名 206
习题8 206

第9章 文件 209
9.2 文件概述 209
9.1.1 文件的概念 210
9.1.2 文本文件与二进制文件 210
9.1.3 缓冲文件系统 211
9.1.4 文件类型指针 211
9.2 文件的打开与关闭 212
9.2.1 打开文件(fopen()函数) 212
9.2.2 关闭文件函数(fclose函数) 214
9.3 文本文件的读写 214
9.3.1 案例9.1 复制文件(fputc函数和fgetc函数) 214
9.3.2 案例9.2 复制文件(fgets函数和fputs函数) 216
9.3.3 案例9.3 学生基本信息的顺序读/写(fprintf函数和fscanf函数) 218
9.4 二进制文件的读写 220
9.4.1 案例9.4 学生基本信息的顺序读/写(fread函数和fwrite函数) 220
9.4.2 案例9.5 学生基本信息的随机读/写(fseek函数) 222
9.5 阅读材料 224
9.5.1 ferror()函数 224
9.5.2 clearerr()函数 224
9.5.3 feof()函数 224
习题9 224

第 10章 课程设计 226
10.1 课程设计的目的和要求 226
10.2 课程设计举例——学生成绩管理系统 226
10.3 课程设计选题 233

实验一 C语言编译环境与程序开发 235
实验二 输入/输出程序设计 236
实验三 选择结构 238
实验四 循环结构 241
实验五 函数 244
实验六 递归 245
实验七 数组的使用 246
实验八 字符串处理 248
实验九 指针与数组 250
实验十 指针与函数 251
实验十一 结构体与单向链表 253
实验十二 文件 255

附录A 常用字符与ASCII码对照表 257
附录B C语言的32个关键字 259
附录C C语言常用标准库函数 260
附录D Turbo C 2.0程序调试技术 266
附录E Visual C++ 6.0程序调试技术* 270
附录F 推箱子游戏源代码 272
附录G 贪吃蛇游戏源代码 275
附录H 扫地雷游戏源代码 279
附录I 速算24源代码 288

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • VB语言程序设计教程(第2版)

    杨忠宝 刘向东 康顺哲 官宇哲

    本书作者在多年教学经验基础上,并根据学生的认知规律精心组织了本教材内容,并通过大量有现实意义的例题,深入浅出地...

    ¥39.80
  • 微机原理、汇编语言与接口技术

    周杰英 张萍 郭雪梅 黄方军

      本书全面系统地论述了Intel 80x86系列机中16位微型计算机的基本原理、汇编语言程序设计和接口技术,...

    ¥39.50
  • Windows系统编程

    李晓黎

      Windows是个人计算机上最流行的操作系统,在国内外拥有众多家庭和商务用户,因此Windows系统编程可...

    ¥45.00
  • C语言程序设计

    宋万干 肖建于

    本书主要介绍C语言程序设计的相关知识。针对没有程序设计基础的读者,本书详细介绍了C语言的基本概念、语法及编程技...

    ¥39.80
  • 数据库系统原理与应用

    孟彩霞

      本书主要介绍数据库系统的基本概念和基本理论、应用技术和设计方法。内容包括数据模型和数据库系统结构、关系代数...

    ¥26.00

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部