高等职业学校计算机案例教材

C语言基础教程

分享 推荐 0 收藏 0 阅读 2.4K
张晓蕾 (主编) 978-7-115-16267-0

关于本书的内容有任何问题,请联系 桑珊

通过83个案例的讲解,层层深入,全面讲解C语言的基础知识
¥27.00 ¥22.95 (8.5 折)
立即购买 申请样书
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

  本书采用任务驱动方式进行讲解, 以程序实例为主导,将知识点融入实例,以实例带动知识点的学习。在按实例进行讲解时,充分注意保证知识的相对完整性和系统性,使学生通过学习实例掌握软件的操作方法和操作技巧。
  全书共分9章,主要内容包括程序设计的基础知识、流程控制,以及指针、结构体、文件管理与编译预处理等。本书通过83个案例的分析讲解,再加上上百余道习题的练习,由浅至深,层层引导,能让学生快速掌握C语言,提高编程能力。
  本书内容丰富、结构清晰、图文并茂,程序实例有详细的讲解,容易看懂、易于教学与个人自学。
  本书可以作为高职高专院校计算机专业的教材,也适于作为初学者的自学用书。

目录

第 1章 C语言程序设计入门 1
1.1 C语言程序设计基础 1
1.1.1 C语言概述 1
1.1.2 C语言程序开发流程 2
1.1.3 程序案例 3
1.【案例1】第 一个C语言程序(在Turbo C 2.0环境下实现) 3
2.【案例2】第 一个C语言程序(在Visual C++ 6.0中实现) 7
1.2 程序语法错误的调试 13
1.2.1 程序设计中的错误 13
1.语法错误 13
2.运行错误 13
3.逻辑错误 13
1.2.2 语法错误的分类 13
1.致命错误 14
2.错误 14
3.警告 14
1.2.3 养成良好的编程习惯 14
1.文件的注释 14
2.语句行与语句块 15
3.程序代码缩进对齐 15
4.函数与变量 16
1.2.4 程序案例——【案例3】程序语法错误的简单调试 16
习题 19

第 2章 C语言程序设计基础 20
2.1 C语言程序的基本语法结构 20
2.1.1 主函数main() 20
2.1.2 单行语句与复合语句 21
1.单行语句 21
2.复合语句 22
2.1.3 空语句与分隔符 22
1.空语句 22
2.分隔符 22
3.注释 23
2.1.4 C语言程序的结构特点 24
2.1.5 程序案例 24
1.【案例4】进入C程序 24
2.【案例5】终止程序执行 25
2.2 C语言的基础元素 26
2.2.1 标识符与关键字 26
1.标识符 26
2.关键字 26
2.2.2 常量与变量 27
1.变量 27
2.常量 28
2.2.3 数据类型 30
1.整型 30
2.浮点型 31
3.双精度型 31
4.字符型 32
5.无值型 32
6.用户自定义类型 33
2.2.4 格式化输出函数printf() 33
1.printf()函数及其应用 33
2.指定输出宽度与小数位 35
3.设置前导0 35
4.输出长整型数与双精度浮点数 35
5.对齐方式 35
2.2.5 格式化输入函数scanf() 36
1.scanf()函数的基本用法 36
2.格式化字符串中非格式字符的处理 37
3.字符串输入与宽度控制 37
4.指定输入数据的范围 38
2.2.6 非格式化输入/输出函数 38
1.字符串输出函数puts() 38
2.字符串输入函数gets() 39
3.字符输出函数putchar() 39
4.字符输入函数getch()和getche() 40
5.getchar()函数 41
2.2.7 程序案例 41
1.【案例6】在屏幕上输出信息 41
2.【案例7】数据的格式化输出 42
3.【案例8】数据的输入 44
4.【案例9】学生成绩的输入 45
5.【案例10】电话号码的输入 46
6.【案例11】暂停程序 47
7.【案例12】大小写字母转换 47
2.3 C语言的运算符与表达式 48
2.3.1 运算符与表达式 48
2.3.2 算术运算、赋值运算与类型转换 49
1.算术运算符与算术表达式 49
2.赋值运算符与赋值表达式 51
3.类型转换运算符 51
2.3.3 关系运算、逻辑运算与条件运算 53
1.关系运算符与关系表达式 53
2.逻辑运算符与逻辑表达式 54
3.条件运算 56
2.3.4 sizeof 运算符 56
2.3.5 程序案例 56
1.【案例13】温度转换 56
2.【案例14】数据类型的强制转换 57
3.【案例15】字母转换 58
4.【案例16】 真值表 59
习题 59

第3章 程序流程控制 62
3.1 程序流程与算法基础 62
3.1.1 程序与算法 62
1.算法 62
2.算法的实现 62
3.1.2 算法流程图 64
1.流程图 65
2.N-S图 66
3.算法的图形描述 66
3.1.3 顺序结构 67
3.1.4 程序案例 67
1.【案例17】大写字符 67
2.【案例18】程序提示框 68
3.【案例19】字符图形 69
3.2 选择结构语句 70
3.2.1 选择结构概述 70
3.2.2 if语句 71
1.if语句 71
2.if…else… 语句 72
3.if…else if…语句 73
4.使用if语句时的注意事项 74
3.2.3 switch语句 75
1.switch语句 75
2.switch语句中的break 77
3.2.4 选择结构的嵌套 79
3.2.5 程序案例 80
1.【案例20】密码检查 80
2.【案例21】多人密码程序 82
3.【案例22】判断闰年 83
4.【案例23】用户登录程序 84
5.【案例24】数值比较 86
6.【案例25】成绩评定 87
7.【案例26】计算天数 88
3.3 循环结构语句 90
3.3.1 循环结构概述 90
3.3.2 while循环语句 91
3.3.3 do…while循环语句 92
3.3.4 for循环语句 93
1.for语句 93
2.特殊的for循环 94
3.3.5 循环的嵌套及注意事项 95
3.3.6 程序案例 96
1.【案例27】输入字符统计 96
2.【案例28】成绩分析 97
3.【案例29】循环选择菜单 99
4.【案例30】奇数与偶数 101
5.【案例31】乘法表 102
6.【案例32】改进的乘法表 103
7.【案例33】字符塔 104
3.4 流程转向语句 105
3.4.1 流程转向语句概述 105
3.4.2 break语句 106
3.4.3 continue语句 106
3.4.4 goto语句 107
3.4.5 程序案例 109
1.【案例34】百鸡问题 109
2.【案例35】百鸡问题优化算法 110
3.【案例36】素数 111
习题 113

第4章 数组与字符串 119
4.1 一维数组与数据排序 119
4.1.1 数组的基本概念 119
4.1.2 一维数组 120
1.一维数组的定义 120
2.一维数组的初始化 120
3.一维数组的应用 121
4.1.3 数组应用的注意事项 122
4.1.4 程序案例 123
1.【案例37】数组逆置 123
2.【案例38】完数 124
3.【案例39】成绩排序 126
4.【案例40】学生成绩分类统计 128
5.【案例41】顺序插入数据 129
4.2 二维数组与矩阵 131
4.2.1 二维数组 131
1.二维数组的定义 132
2.二维数组的赋值 132
3.二维数组的引用 133
4.二维数组的存储 133
4.2.2 多维数组 135
4.2.3 程序案例 135
1.【案例42】求矩阵对角线上元素之和 135
2.【案例43】数字三角 137
4.3 字符数组与字符串 139
4.3.1 字符数组 139
1.字符数组的定义 139
2.字符数组的引用 139
4.3.2 字符串与字符串数组 140
1.字符串 140
2.字符串数组 141
4.3.3 字符串处理函数与字符处理函数 142
1.字符串处理函数 142
2.字符处理函数 143
4.3.4 程序案例 144
1.【案例44】字符分类 144
2.【案例45】字符串长度的比较 145
3.【案例46】字符串转换 147
4.【案例47】字符统计 148
习题 149

第5章 指针 154
5.1 指针的基本概念 154
5.1.1 指针 154
5.1.2 指针的定义与引用 155
1.指针的定义 155
2.指针的引用 157
3.空指针NULL 158
4.使用指针的注意事项 158
5.1.3 程序案例——【案例48】变量、指针与存储空间 159
5.2 指针运算 160
5.2.1 指针与数组 160
5.2.2 指针的运算 161
5.2.3 程序案例 162
1.【案例49】指针运算与数组 162
2.【案例50】指针与二维数组 163
3.【案例51】指针访问二维数组 164
5.3 指针与字符串操作 166
5.3.1 字符串指针 166
5.3.2 字符指针与字符数组 167
1.字符指针与字符数组的关系 167
2.字符指针和字符数组的区别 167
5.3.3 指针数组 169
5.3.4 程序案例 169
1.【案例52】用指针进行字符串比较 169
2.【案例53】月份转换 171
习题 171

第6章 函数 176
6.1 数值比较 176
6.1.1 函数的定义 176
1.函数定义 176
2.定义函数的注意事项 176
6.1.2 函数的声明 177
1.标准库函数的声明 177
2.自定义函数的声明 177
6.1.3 函数的调用 179
1.在单行语句中调用 179
2.在表达式中调用 179
3.作为参数调用 179
6.1.4 函数的返回 180
6.1.5 程序案例 181
1.【案例54】数值比较 181
2.【案例55】计算代数式 182
6.2 函数的参数 184
6.2.1 函数参数概述 184
6.2.2 赋值调用 184
6.2.3 传址调用 185
6.2.4 数组参数与字符串参数 186
1.数组参数的传递 186
2.字符串参数的传递 189
6.2.5 程序案例 190
1.【案例56】字符串处理 190
2.【案例57】验证歌德巴赫猜想 191
3.【案例58】数据排序 193
4.【案例59】字符串的复制 195
5.【案例60】字符串排序 196
6.3 函数嵌套与递归 198
6.3.1 函数嵌套 198
6.3.2 函数递归 199
1.递归调用 199
2.函数递归的条件 199
3.递归算法与循环算法 200
6.3.3 程序案例 200
1.【案例61】递归算法求阶乘 200
2.【案例62】递归算法求菲波那契数列 201
3.【案例63】循环算法求菲波那契数列 202
6.4 变量的作用域与存储类型 204
6.4.1 变量的作用域 204
1.局部变量 204
2.全局变量 205
6.4.2 变量的存储类型 206
1.静态变量 206
2.动态变量 207
3.寄存器变量 207
4.外部变量 208
6.4.3 程序案例——【案例64】程序计数 209
6.5 main函数的参数 210
6.5.1 main()函数的参数 210
6.5.2 程序案例 212
1.【案例65】main()函数的参数 212
2.【案例66】命令行计算器 213
6.6 C语言的库函数 215
6.6.1 C语言函数库 215
1.标准输入/输出函数 215
2.字符处理函数与字符串处理函数 215
3.数学函数 216
4.其他函数库 216
6.6.2 程序案例 216
1.【案例67】三角函数表 216
2.【案例68】算术测试程序 217
习题 219

第7章 结构体、共用体与枚举 226
7.1 结构体 226
7.1.1 信息的表示 226
7.1.2 结构体定义与初始化 227
1.结构体的定义 227
2.结构体变量的初始化 229
3.结构体变量的存储形式 230
7.1.3 结构体变量的引用 230
1.引用结构体变量 231
2.引用结构体指针 231
7.1.4 自定义数据类型 231
7.1.5 程序案例 233
1.【案例69】学生成绩分析 233
2.【案例70】职工工资统计 234
7.2 链表及其应用 237
7.2.1 链表 237
1.链表的定义 237
2.动态分配存储空间 238
7.2.2 程序案例 238
1.【案例71】学生信息记录 238
2.【案例72】学生信息系统 241
7.3 共用体 247
7.3.1 共用体的定义与引用 247
1.共用体的定义 247
2.共用体的引用 248
3.结构与共用体的区别 249
7.3.2 程序案例——【案例73】共同使用存储空间 250
7.4 枚举 251
7.4.1 枚举 251
1.枚举的定义与引用 251
2.使用枚举的注意事项 252
7.4.2 程序案例——【案例74】月份与天数 253
习题 254

第8章 C语言对文件的操作 260
8.1 文本文件的访问 260
8.1.1 文件的基本概念 260
1.文本文件 260
2.二进制文件 260
8.1.2 文件与指针 260
1.文件指针 261
2.设备文件 261
8.1.3 文件系统 261
1.流(Stream) 261
2.文件系统 262
8.1.4 文件的访问 262
1.文件的打开 262
2.文件的关闭 263
3.文件访问函数 263
4.文件检测函数 264
8.1.5 程序案例 264
1.【案例75】修改文本文件 264
2.【案例76】文件的复制 266
8.2 二进制文件的访问 267
8.2.1 二进制文件的访问 267
1.格式化输入/输出函数 268
2.数据块访问函数 268
8.2.2 程序案例 268
1.【案例77】存储成绩信息记录 268
2.【案例78】访问成绩信息记录 270
8.3 随机文件的访问 272
8.3.1 文件的随机访问 272
8.3.2 程序案例 273
1.【案例79】记录的随机访问 273
2.【案例80】成绩筛选 274
习题 276

第9章 编译预处理 278
9.1 宏定义 278
9.1.1 编译预处理的概念 278
9.1.2 宏定义 278
1.不带参数的宏定义 278
2.带参数的宏定义 279
3.宏的作用范围 279
4.宏定义与函数调用 280
9.1.3 程序案例——【案例81】字符分类 280
9.2 文件包含 282
9.2.1 文件包含的意义 282
9.2.2 程序案例——【案例82】文件包含 283
9.3 条件编译 284
9.3.1 条件编译 284
1.#if,#elif,#else和#endif 284
2.#ifdef和#ifndef 285
9.3.2 程序移植与调试 285
1.程序移植 285
2.程序调试 286
9.3.3 程序案例——【案例83】条件编译 286
习题 288

附录 291
附录1 ASCII码对照表 291
附录2 运算符的优先级与结合性 292
附录3 标准库函数 293
附录4 Turbo C 2.0的菜单命令 296

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • Java 语言基础教程

    沈昕 张晓蕾 刘雯 陈炜 姜铁增 王锦 王爱赪

      本书共为10章,包括Java语言基础知识、面向对象编程、图形用户界面设计、数据的输入输出以及网络编程等内容...

    ¥27.00
  • C语言基础教程

    张晓蕾

      本书采用任务驱动方式进行讲解, 以程序实例为主导,将知识点融入实例,以实例带动知识点的学习。在按实例进行讲...

    ¥27.00
  • 高等职业院校计算机类课程基于工作过程教学案例集

    北京市高等教育学会计算机教育研究会

      本书是在总结北京市高等职业院校计算机类课程开展案例(项目)教学成功经验的基础上汇编而成的。全书共收集24个...

    ¥40.00
  • 高等职业院校计算机类课程基于工作过程教学案例集(第二册)

    北京市高等教育学会计算机教育研究会

      本书是在总结北京市高等职业院校计算机类课程开展案例(项目)教学成功经验的基础上汇编而成的。全书共收集29个...

    ¥58.00

相关图书

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