本书是对《C语言开发入门教程》一书的全新改版,本次改版结合了广大师生近4年来的真实反馈,与第一版教程相比,本书具有以下亮点:
(1)采用更加便捷小巧的开发工具Dev-C++作为教材环境,降低师生下载、安装和使用工具的难度;
(2)对原书中的简单代码进行精简,并添加了大量进阶案例,既能保证读者充分理解、吸收所讲内容,又能帮助读者巩固所学知识,提高个人能力;
(3)语言描述更加精炼、更合乎逻辑,且又通俗易懂;内容安排更加合理,体系结构亦更加完善。内容更加丰富翔实,结构层次更加清晰合理。
本书共分为12个章节,第1章主要介绍了C语言整体概况、开发环境与编译过程;第2章主要介绍了C语言基础知识,包括数据类型、运算符、表达式等;第3~10章主要介绍了C语言的核心知识,包括流程控制、数组、函数、指针、字符串、结构体、预处理、文件等;第11章介绍了基本的数据结构(链表、栈、队列);第12章是带领学生开发了一个综合项目——贪吃蛇控制台游戏,让学生融会贯通前面所学知识,并了解实际项目开发流程。
本书附有配套视频、源代码、题库、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑,希望得到更多读者的关注。
本书作为C语言入门教材,可作为高等院校本、专科计算机相关专业的C语言程序设计技术的教材,也可作为C语言技术基础的培训教材,是一本适合广大计算机编程爱好者的优秀读物。
第1章 程序设计和C语言 1.1 计算机语言 1.2 程序设计与算法 1.2.1 算法-程序的灵魂 1.2.2 算法的表示 1.3 C语言概述 1.3.1 C语言发展史 1.3.2 C语言标准 1.3.3 C语言应用领域 1.4 开发环境搭建 1.4.1 主流开发工具介绍 1.4.2 Dev-C++安装 1.5 编写HelloWorld 1.5.1 编写第一个程序HelloWorld 1.5.2 C程序编译过程 1.6 阶段案例——我的名片 1.7 本章小结 1.8 习题 第2章 数据类型与运算符 2.1 关键字和标识符 2.1.1关键字 2.1.2标识符 2.2 常量与变量 2.2.1常量 2.2.2变量 2.3 数据类型 2.3.1基本类型 2.3.2构造类型 2.3.3指针类型 2.3.4类型转换 2.4 运算符与表达式 2.4.1运算符与表达式的概念 2.4.2算术运算符与算术表达式 2.4.3关系运算符与关系表达式 2.4.4逻辑运算符与逻辑表达式 2.4.5赋值运算符与赋值表达式 2.4.6条件运算符与表达式 2.4.7位运算符 2.4.8sizeof运算符 2.5 运算优先级 2.6 阶段案例——加密 2.7 阶段案例——数字反转 2.8 本章小结 2.9 习题 第3章 流程控制 3.1 程序流程图 3.2 顺序结构 3.3 选择结构 3.3.1if条件语句 3.3.2switch条件语句 3.4 阶段案例——自动贩卖机 3.5 循环结构 3.5.1 while循环 3.5.2 do-while循环 3.5.3 for循环 3.5.4 循环嵌套 3.5.5 跳转语句 3.6 阶段案例——薪水问题 3.7 本章小结 3.8 习题 第4章 数组 4.1 什么是数组 4.2 一维数组 4.2.1一维数组定义与初始化 4.2.2一维数组的访问 4.2.3数组元素排序 4.3 阶段案例——双色球 4.4 二维数组 4.4.1二维数组定义与初始化 4.4.2二维数组的访问 4.5 阶段案例——杨辉三角 4.6 多维数组 4.7 本章小结 4.8 习题 第5章 函数 5.1 初识函数 5.1.1函数的定义 5.1.2格式化输入输出 5.2 函数调用 5.2.1函数调用方式 5.2.2嵌套调用 5.2.3递归调用 5.3 阶段案例——汉诺塔 5.4 外部函数与内部函数 5.4.1外部函数 5.4.2内部函数 5.5 局部变量与全局变量 5.5.1局部变量 5.5.2全局变量 5.6 阶段案例——体测成绩判定 5.7 本章小结 5.8 习题 第6章 指针 6.1 指针的概念 6.2 指针运算 6.2.1取址运算符 6.2.2取值运算符 6.2.3常用指针运算 6.3 指针与数组 6.3.1指针与一维数组 6.3.2指针与二维数组 6.4 阶段案例——幻方 6.5 指针与函数 6.5.1指针变量作为函数参数 6.5.2函数指针 6.5.3回调函数 6.6 指针数组 6.6.1定义指针数组 6.6.2指针数组的应用 6.7 二级指针 6.8 阶段案例——天生棋局 6.9 指针与const 6.10 本章小结 6.11 习题 第7章 字符串 7.1 字符数组和字符串 7.1.1字符数组 7.1.2字符串 7.1.3字符串与指针 7.2 字符串的输入输出 7.2.1常见的输入函数 7.2.2常见的输出函数 7.3 字符串操作函数 7.3.1字符串比较 7.3.2字符串查找 7.3.3字符串连接 7.3.4字符串复制 7.4 数字与字符串转换 7.5 阶段案例——回文字符串 7.6 本章小结 7.7 习题 第8章 结构体 8.1 结构体类型 8.1.1结构体类型声明 8.1.2结构体变量定义 8.1.3结构体变量的大小 8.1.4结构体变量初始化 8.1.5结构体变量访问 8.2 结构体数组 8.2.1结构体数组的定义 8.2.2结构体数组的初始化 8.2.3结构体数组的访问 8.3 结构体与指针 8.3.1结构体指针 8.3.2结构体数组指针 8.4 结构体与函数 8.4.1结构体变量作为函数参数 8.4.2结构体数组作为函数参数 8.4.3结构体指针作为函数参数 8.5 typedef的使用 8.6 阶段案例——学生成绩管理系统 8.7 本章小结 8.8 习题 第9章 预处理 9.1 宏定义 9.1.1不带参数的宏定义 9.1.2带参数的宏定义 9.2 文件包含 9.2.1文件包含命令的格式 9.2.2多文件包含实例 9.3 条件编译 9.3.1#if/#else/#endif指令 9.3.2#ifdef 9.3.3#ifndef指令 9.4 断言 9.4.1断言的作用 9.4.2断言与debug 9.5 本章小结 9.6 本章习题 第10章 文件操作 10.1 文件概述 10.1.1流 10.1.2文件 10.1.3文件指针 10.1.4文件位置指针 10.2 文件的打开和关闭 10.3 文件的读写 10.3.1单字符读写文件 10.3.2单行读写文件 10.3.3二进制形式读写文件 10.4 阶段案例——文件加密 10.5 文件随机读写 10.6 阶段案例——个人日记本 10.7 本章小结 10.8 习题 第11章 常见的数据结构 11.1 链表 11.1.1链表概述 11.1.2链表的结构 11.1.3链表的实现 11.2 栈 11.2.1什么是栈 11.2.2栈的链式存储与实现 11.3 队列 11.3.1什么是队列 11.3.2链式队列的存储与实现 11.4 阶段案例——机器运算 11.5 本章小结 11.6 习题 第12章 综合项目—贪吃蛇控制台游戏 12.1 项目分析 12.1.1项目需求分析 12.1.2效果显示 12.1.3项目设计 12.2 项目实现 12.2.1项目创建 12.2.2snake.h文件定义 12.2.3界面管理模块的实现 12.2.4贪吃蛇初始化模块的实现 12.2.5食物模块的实现 12.2.6游戏规则设计模块的实现 12.2.7贪吃蛇移动控制模块的实现 12.2.8信息管理模块的实现 12.2.9main()函数实现 12.3 程序调试 12.3.1设置断点 12.3.2单步调试 12.3.3观察变量 12.3.4条件判断 12.3.5项目调试 12.4 项目心得 12.5 本章小结