C语言从入门到项目实战 全程视频版
作者:王一萍
出版时间:2019年版
丛编项:软件开发百家讲坛
内容简介
《C语言从入门到项目实战(全程视频版)》是一本C语言从入门、进阶到项目实战的计算机语言编程类图书,详细介绍了C语言程序设计中的核心技术和编程技巧。全书分3篇共24章,其中第一篇为基础篇,详细介绍了C语言程序设计概述,数据存储与运算,简单程序的设计,循环结构程序的设计,函数,数组,指针,结构、联合与位字段,文件;第二篇为进阶篇,主要介绍了内存问题、简单计算问题、数制转换问题、日期相关问题、数组进阶、字符串处理、高精度计算问题、位运算问题、递推与递归、链表;第三篇为项目篇,介绍了有声有色文本库、开源图形库EGE、编程访问网络、编程访问数据库、综合实践应用。在知识点的介绍过程配以大量的示例案例代码及注释解析,在“提示”“注意”等模块中融入了各种实战经验小技巧,可让读者在学习过程中少走弯路,并快速掌握C语言技术精髓,快速提升C语言程序开发技能。 《C语言从入门到项目实战(全程视频版)》还是一本视频教材,全书共配备了174集同步视频讲解,跟着视频学C语言,高效、快捷。另外,本书还配套了丰富的教学资源,如实例源代码、PPT教学课件,方便教师教学和读者自学。 《C语言从入门到项目实战(全程视频版)》适合C语言从入门到精通层次的读者参考学习。所有C语言初学者、C语言编程爱好者、C语言工程师等均可选择本书作为软件开发的实战指南和参考工具书,应用型高校计算机相关专业、培训机构也可选择本书作为C语言算法、C语言程序设计和面向过程编程的教材或参考书。
目录
第一篇 基 础 篇
第1章 C语言程序设计概述
视频讲解:70分钟 12集
1.1 C语言相关知识概述
1.1.1 C语言的历史沿革
1.1.2 C语言的重要性
1.1.3 C语言的特点
1.2 C语言程序设计入门三要素
1.2.1 安装软件并开发HelloWorld程序
例1-1】第一个简单的C程序
1.2.2 掌握基本的输入/输出手段
【例1-2】一个完整的输入/输出示例
【例1-3】计算输入的两个整数的和的程序
【例1-4】计算两个浮点数的乘积
【例1-5】改进例1-4中的输出格式
1.2.3 理解C语言程序的基本结构
【例1-6】两个函数构成的C程序示例
1.2.4 C语言程序的简单调试
【例1-7】利用Dev-C++进行程序的调试
1.3 案例分析
1.3.1 动画效果的HelloWorld程序
【例1-8】动画效果的HelloWorld程序1
【例1-9】动画效果的HelloWorld程序2
1.3.2 带声音的HelloWorld程序
【例1-10】带声音的HelloWorld程序1
【例1-11】带声音的HelloWorld程序2
1.3.3 功能强大的system库函数
【例1-12】利用system库函数实现关机
小结
习题与实践
第2章 数据存储与运算
视频讲解:53分钟 13集
2.1 示例程序
【例2-1】计算圆的面积
2.2 数据类型与变量
2.2.1 数据类型
2.2.2 常量
2.2.3 变量
【例2-2】计算1~n的和
2.2.4 标识符
2.3 整数类型
2.3.1 基本整数类型int
【例2-3】定义int变量
【例2-4】以十进制、八进制、十六进制打印
十进制数1000
2.3.2 有符号整数类型
【例2-5】5种有符号整数类型所占字节数及
数据范围
2.3.3 无符号整数类型
2.3.4 char类型
【例2-6】字符变量定义并用字符常量赋值
2.3.5 整型变量的溢出
【例2-7】数据溢出示例
2.3.6 整数常量
2.4 浮点类型
2.4.1 定义浮点型变量
2.4.2 浮点常量
2.4.3 输出浮点值
【例2-8】浮点类型定义、初始化及输出
2.5 枚举类型
2.6 void类型
2.7 运算符和表达式
【例2-9】运算符优先级示例
【例2-10】运算符的结合性示例
2.7.1 算术运算符
【例2-11】应用整除和求模运算符输出3位
整数的每一位
2.7.2 自增自减运算符
【例2-12】自增运算符编程实例
2.7.3 赋值运算符
【例2-13】赋值运算符编程实例
2.7.4 关系运算符
【例2-14】关系运算符示例程序
2.7.5 逻辑运算符
【例2-15】逻辑运算符示例程序
2.7.6 其他运算符
【例2-16】sizeof运算符获取int空间大小
的三种方式
【例2-17】显式强制类型转换与自动类型
转换示例
【例2-18】条件运算符示例
小结
习题与实践
第3章 简单程序的设计
视频讲解:98分钟 19集
3.1 算法概述
3.1.1 算法的概念
【例3-1】求两个变量值交换的算法流程
【例3-2】求分段函数值的算法流程
【例3-3】求两个数最大公约数的算法流程
3.1.2 算法的特征
3.1.3 算法的表示
3.2 顺序结构程序设计
3.2.1 赋值语句
3.2.2 表达式语句
3.2.3 函数调用语句
3.2.4 空语句与复合语句
3.3 顺序结构的实例
【例3-4】编程实现交换两个变量的值
【例3-5】求ax2+bx+c=0方程的根
【例3-6】输入三角形的三条边的长,求三角形的面积
【例3-7】已知一个四位数的整数,求其逆转后对应的整数并输出
3.4 选择结构程序设计
3.4.1 条件语句
【例3-8】输入一个年份,判断其是否为闰年
【例3-9】求给定整数x的绝对值
【例3-10】求两个整数a,b较大者的值
【例3-11】输入一个整数成绩,判断是否通过
【例3-12】求分段函数的值
【例3-13】 输入一个学生成绩(0~100),输出其对应的等级(A~E)
【例3-14】 输入年份y和月份m的值,输出y年m月的天数
【例3-15】简单四则运算:编写形如“A op B”的加减乘除四则运算的程序
3.4.2 开关语句
【例3-16】 用switch语句实现例3-13成绩等级输出程序
小结
习题与实践
第4章 循环结构程序的设计
视频讲解:114分钟 16集
4.1 循环结构概述
【例4-1】用goto语句编程实现求1~100 之间整数和的程序
4.2 条件控制循环语句
4.2.1 while语句
【例4-2】阅读程序理解while的使用
【例4-3】用while语句实现求1~100之间整数和的程序
【例4-4】已知两个正整数,求它们的最大公约数及最小公倍数
【例4-5】计算一个不足10位数整数的位数
4.2.2 do…while语句
4.3 计数控制循环语句(for语句)
【例4-6】求n个分数的和
4.4 循环的中断
4.4.1 break语句
4.4.2 continue语句
【例4-7】编程实现输出100以内的偶数
【例4-8】编程实现判断一个整数m是否为素数(质数),并输出判断结果
4.5 循环嵌套
【例4-9】编写程序,输出图4-7所示的
图形
【例4-10】编程实现输出2~100之间的素数,要求每行输出5个素数
4.6 循环结构的简单应用
4.6.1 枚举问题
【例4-11】输出所有水仙花数
【例4-12】找零钱问题
【例4-13】推理问题
4.6.2 递推问题
【例4-14】Fibonacci Sequence
(斐波那契数列)
小结
习题与实践
第5章 函数
视频讲解:56分钟 12集
5.1 函数概述
【例5-1】符号函数sign
【例5-2】绝对值函数myabs
【例5-3】求两数中的最大值函数max
【例5-4】计算1+2+3+…+n的和的函数sum
【例5-5】判断正整数n是否为质数的函数isPrime
【例5-6】输出1~n的和
【例5-7】演示函数定义在调用前,不需要声明
【例5-8】利用传值的方式能交换两个实参的值吗
【例5-9】函数嵌套调用示例
【例5-10】利用递归求1+2+3+…+n的和
【例5-11】利用递归求an
5.2 变量的生存期与作用域
【例5-12】全局变量和局部变量
【例5-13】演示在代码块内定义的局部变量
【例5-14】演示全局变量和局部变量同名时的情况
【例5-15】演示静态局部变量与非静态局部变量
5.3 编译预处理
【例5-16】宏定义中的“#”运算符
【例5-17】宏定义中的“##”运算符
【例5-18】演示#undef取消宏定义
【例5-19】条件编译指令示例
【例5-20】条件编译指令示例
【例5-21】嵌套条件编译指令示例
【例5-22】条件编译指令的用法
【例5-23】编译预处理中的特殊符号
【例5-24】演示#line的用法
5.4 模块化编译链接
【例5-25】分别编译并链接的示例
小结
习题与实践
第6章 数组
视频讲解:137分钟 13集
6.1 数组的引入
【例6-1】输入一组学生的年龄,求平均
年龄,要求保留小数点后两位
6.2 一维数组的初识
【例6-2】将一组整数逆置
【例6-3】求平均年龄及大于平均年龄的
学生数
【例6-4】输入n(n≤10)及n个整数,
输出最大整数及其位序
【例6-5】选择排序
【例6-6】顺序查找
6.3 二维数组的初识
【例6-7】多个班级某课程的成绩管理
6.4 字符串
【例6-8】字符串的简单加密
【例6-9】系统登录验证的实现
小结
习题与实践
第7章 指针
视频讲解:81分钟 13集
7.1 指针概述
【例7-1】指针就是内存地址,指针变量
用于存储地址
【例7-2】交换两个整型变量的值
7.2 空指针和void指针
【例7-3】随机生成指定长度的字符串
【例7-4】与指定数字相同的数的个数
7.3 const指针常量
【例7-5】函数形参是常量指针
7.4 指针与数组
【例7-6】通过指针操作数组
【例7-7】在数组中查找元素
【例7-8】数组指针访问二维数组
【例7-9】指针数组编程示例
7.5 指向函数的指针
【例7-10】函数指针简单示例
【例7-11】对用户输入的两个数字,进行
加减乘除计算
【例7-12】使用qsort()函数完成数组排序
7.6 命令行参数
【例7-13】命令行参数的概念程序示例
【例7-14】求输入的若干个整数中的最大
者程序示例
小结
习题与实践
第8章 结构、联合与位字段
视频讲解:38分钟 6集
8.1 结构
【例8-1】计算两点间距离
【例8-2】计算结构体变量内存空间大小
并输出结构成员的起始地址
【例8-3】奖学金问题
【例8-4】单链表的创建与遍历
8.2 联合
【例8-5】联合union编程实例
8.3 位字段
【例8-6】位字段编程实例
小结
习题与实践
第9章 文件
视频讲解:36分钟 4集
9.1 文件概述
9.2 文件的打开与关闭
【例9-1】编程实现以只读方式打开文本
文件
9.3 文件的读写操作
【例9-2】从指定文件中读取数据
【例9-3】从键盘输入字符,并将其写入一个文本文件
【例9-4】编程实现将一个字符串追加到指定文件中
【例9-5】编程实现文件复制
【例9-6】用fscanf和fprintf函数实现商品信息输入
【例9-7】数据块读写函数的使用
【例9-8】输出第m个商品信息
9.4 文件检测函数
小结
习题与实践
第二篇 进 阶 篇
第10章 内存问题
10.1 程序运行需要内存
10.2 内存编址、寻址
10.3 C语言访问内存的方式
10.4 栈和堆内存管理
10.5 C程序的内存五区
第11章 简单计算问题
视频讲解:38分钟 2集
【例11-1】计算IPv6地址能分配多久
【例11-2】简单四则运算
【例11-3】表达式求值问题
【例11-4】多项式求值问题
小结
习题与实践
第12章 数制转换问题
视频讲解:32分钟 3集
【例12-1】八进制到十进制
【例12-2】十进制到八进制
【例12-3】N进制到M进制
【例12-4】确定进制问题
小结
习题与实践
第13章 日期相关问题
视频讲解:34分钟 3集
【例13-1】输出当前计算机系统的日期及时间
【例13-2】n天后日期问题
【例13-3】打印月历
【例13-4】确定母亲节
【例13-5】黑色星期五
小结
习题与实践
第14章 数组进阶
视频讲解:89分钟 7集
14.1 筛选法的应用
【例14-1】求1~n间的质数,每行输出5
个质数
【例14-2】反质数
14.2 循环数组的应用
【例14-3】机器翻译
【例14-4】约瑟夫环问题
14.3 排序与查找
【例14-5】冒泡排序
【例14-6】插入排序
【例14-7】快速排序
【例14-8】使用库函数qsort完成排序
【例14-9】在n个整数中,使用折半查找方法查找x,输出查找结果
14.4 二维数组的应用
【例14-10】同行同列同对角线的格子
【例14-11】鞍点问题
小结
习题与实践
第15章 字符串处理
视频讲解:73分钟 6集
【例15-1】统计字符数
【例15-2】被3整除
【例15-3】487-3279
【例15-4】删除单词后缀
【例15-5】字符串移位包含问题
【例15-6】查找文本串中的单词
【例15-7】字符串加密
【例15-8】过滤多余的空格
【例15-9】ISBN号码
【例15-10】提取数字
小结
习题与实践
第16章 高精度计算问题
视频讲解:57分钟 3集
【例16-1】高精度加法
【例16-2】高精度乘法
【例16-3】高精度阶乘
【例16-4】高精度除法
小结
习题与实践
第17章 位运算问题
视频讲解:42分钟 5集
【例17-1】给定一个整型数a,设置a二进制表示中的bit5为1, 其他位不变
【例17-2】给定一个整型数a,它的bit15清0,其他位不变
【例17-3】给定一个整型数a,求a的bit3~bit8对应的整数
【例17-4】用C语言给一个寄存器(32位)的bit7~bit17赋值937
【例17-5】用C语言实现将一个寄存器的bit7~bit17的值加17
【例17-6】使用位运算判断一个整数是奇数还是偶数
【例17-7】使用位运算计算一个 int整数 的二进制数中有多少个1
【例17-8】使用位运算完成两个变量值的交换
【例17-9】一组整数中只有一个数只出现一次,其余的数都是成对出现的,请找出这个只出现一次的数
【例17-10】已知一个含有N个整数集合,输出它的所有非空子集
小结
习题与实践
第18章 递推与递归
视频讲解:70分钟 5集
【例18-1】n!
【例18-2】青蛙过河
【例18-3】汉诺塔问题
【例18-4】分解因数
【例18-5】整数划分问题
【例18-6】扩号匹配问题
【例18-7】分书问题
【例18-8】红与黑
小结
习题与实践
第19章 链表
视频讲解:60分钟 3集
【例19-1】计算与指定数字相同的数的个数
【例19-2】生日相同
【例19-3】分数线划定
【例19-4】子串计算
【例19-5】猴子选大王
小结
习题与实践
第三篇 项 目 篇
第20章 有声有色文本库
视频讲解:107分钟 7集
20.1 mycon库的安装配置与基本使用
【例20-1】带声音的打字机动画版HelloWorld程序
20.2 mycon文本库的应用编程案例
小结
习题与实践
第21章 开源图形库EGE
视频讲解:91分钟 7集
21.1 EGE使用基础
【例21-1】图形打字机动画版的HelloWorld程序
21.2 EGE的应用编程案例
小结
习题与实践
第22章 编程访问网络
视频讲解:45分钟 6集
22.1 网络基础
22.2 Windows Sockets套接字编程基础
22.3 Windows Sockets套接字编程案例
小结
习题与实践
第23章 编程访问数据库
视频讲解:50分钟 4集
23.1 数据库基础
23.2 C语言数据库编程案例
小结
习题与实践
第24章 综合实践应用
视频讲解:67分钟 6集
24.1 英语单词标准化测试系统
24.2 软件产权保护系统
24.3 计算用户的月通信费用
24.4 实现Linux下的wc命令
24.5 24位BMP位图图像变换
24.6 “贪吃蛇”游戏外挂基本原理
小结
习题与实践
参考文献