资 源 简 介
王桂林老师零基础入门C语言pdf文档。可以百度搜索对应的视频,B站上也有上传,直接搜索王桂林就可以。原创作者:王桂林技术交流:QQ3299731691. Hello world1.1.源程序111.C语言版11.2.C++版1.1.3 hello word collection12.注释.11111121.3.从源程序到可执行程序131.集成开发环境:13.2.手动编译14.致敬大师.22352. Linux常用基础命令.…21.版本选择211.内核版木…21.2.发行版本22.目录结构221.系统目求…55668222.分区与目录23.常用命令.10231.命令格式.···+······10232.目录切换233.文件操作…10234.用户管11235.网络命令11236. Ubuntu下软件安装…1124.ⅶim文本编辑11241.vim编辑器中有三种状态模式242.vim编辑器的启动与退出.243.文件操作244.光标移动操作12245.编辑操作1324.6.查找与替换操作.1324.7.学习工具 vimtutor248.vm最简易配置14249.vm与HHKB143C语言与自然语言163.1.语法规则.32.稈序与流稈.1621.程序16322.流程和流程图.323.常用制图工4.常/变量与数据类型( Data Type).·······::·191.C语言中的关键字192.变量 Variable421.变量的定义…原创作者:王桂林技术交流:QQ3299731694.2.2.变量的命名规则:…19423.交换两个变量的内容2042.4.驼峰命名法.2043.内存模型4.3.1.物理基础432.CPU读写内存..2243.3.读写流程:22434.代码演示.234.4.计算机的基石补码..2444.1.计算机编码基础..2444.2.补码的编码规则2444.3.小结264.5.数据类型.∴264.5.1.类型总揽27452.基本类型之数值类型,27453.基本类型之字符类型46.常量( Constant33461.常量类型.462.常量的人小344.7.格式输入与输出4.7. 1. printf.354,7.2 scanf384.7.3. putchar & getchar4.7.4.输入输出缓冲垂,中4··中·;,48.类型转化( Type Cast41481.隐式转化…482.强制转化483.浮点数跟0值比较4.9.练习.44491. printf返回值有意义吗?445.运算符与表达式( Operato&& Express,)··*455.1.运符符的优先级和结合性:455.2.常见运符算符及构成的表达式475.2.1.赋值运算符与赋值表达式..….….…4752.2.算术运算符与算术表达式52.3.关系运算符与关系衣达式52.4.逻辑运算符与逻辑表达式50525.条件运算符与条件表达式525.2.6.逗号运算符与逗号表达式52.7.5 izeof运算符及其表达式5.2.8.小结………………………15453.运算符综合练习5.3.1.f(x==y)与fx=y)之间的区别532.表达式3--3--3的值是多少?原创作者:王桂林技术交流:QQ3299731695.33.表达式100<=a<=300,能表达[100,300这样的区间吗?534.如何判断,我们输入的字符在[a,z]之间。55535.求[100999]内的水仙花数…·+····5553.6.判断输入的年份,是否为润年。537.判断数字是否是回文数6.程序结构设计*·…···*·∴5661.选择6.1.1.| felse...∴566.1.2 switch59613.小结61614.练习判断按键6162.循环62621.循坏三要素.6262.2. while“当”型循环63623. do while“直到”型循环.624.for“列表”型循环62.5.循环小结…6962.6.循环的嵌套…7062.7.循环建议….···+······72628.练习63.跳转7!6.3, 1 break76.3.2. continue766.3.3 return6. 3.4. goto了635.练习7864.练习17641.打印如下图形7.数组( Array)∴………807.1.一维数组711.逻辑与声明.··*7.1.2.初始化713.一维数组的存储837.14.数组三要素847.15.关于变长数组8471.6.课堂练习…857.2.二维数组.897.21.逻辑与声明7.22.二维数组的存储7.2.3.初始化72.4.误堂练习947.3.数组名的二义性…97731.一维数组名7.32.二维数组名原创作者:王桂林技术交流:QQ32997316974.练习…741.写出冒泡排序的逻辑,并实现冒泡排序742.无序数组查找,返回卜标(线性查找)74.3.有序数组查找(折半查找)744.合并两个有序数组到第三个中去,并使其依然保持有序7.45.求出矩阵两条对角线上的元素之和.10074.6.有序数组去重,并返回去重后数组元素新个数。··++++747.二维数组按刎移位.10074.8.五子棋判输嬴1008.指针( Pointer.10181.认识内存811.线性的内存101812.变量的地址与大小.∴4102813.间接访问内存10382.指针常量.∴103821.指针是有类型地址常量∴……10383.指针变量831.定义……832.解析.…··+::·+105833.指针变量大小10583.4.初始化及间接访问106835.指向/被指向/更改指向.106836.NULL(色即空)…837.练习84.指针运算109841.赋值运算.109842.算术运算…109843.关系运算110844.小结………11085.数组遇上指针111851.一维数组的访问方式111852.二维数组的访问方式86.练习116861.用指针法逆序打印一个数组。.116862.往指定内存写入数据116863.判判是否是回文串1169.函数( Function).…11791.c标准库及库函数117911.库存在的意义91.2.如何使用库函数913.示例118914.常用厍函数.12392.自定义函数.124921.语法格式124原创作者:王桂林技术交流:QQ329973169922.调用方法…12592.3.前向声明924.函数返回值…12693.传值与传址1269.3.1.传值与传址的比较126932.图解传值与传址……128933.如何来传递一个一维数组…12993.4.如何来传递一个二维数组131935.小结94.函数调用131941.实参与形参131942.普通调用13194.3.递归调用13295.函数递归133951.递归定义…·,,,,133952.递归小结.953.递归与循环论述1359.54.递归练习.1379.6.练习.961.如何产生[m,n以内的随机数962.产生30个不重复的随札数137963.请用函数封装基于数组的冒泡排序,选择排序,…964.用函数的思想来支解选择法排序..1379.65.请用函数封装基于数组的二分查找。966.求中位数13810.变量作用域/生命周期/修饰符··13910.1.作用域( Scope1391011.作用域1391012.变量之分13910.1.3.图示作用域1401014.作用域叠加1015.全局作用域……141102.生命周期( Duration142102.1.局部变量.∴14210.22.全局变量14210.3.修饰符( Storage Description)14210.31.auto(人将车)1421032. register((小太监)142033. extern(通关文牒)14310.34 static(柱国老臣限离出境)145104.小结··4··14711.字符串( String)14811.1.引入148112.字符串常量148原创作者:王桂林技术交流:QQ3299731691121.字符串大小.…1122.字符串存储1491123.C语言是如何处理字符串常量………1503.字符串与字符数组.1131.常量字符串不可更改1132.字符串与字符数组比较1501.3.3.字符数组存储字符串1511134.小结114.字符串的输入与输出.153114.1.输山…153114.2.输入…153115.字符串操作函数1541151.字符数组原生操作1541152.库函数操作15511.6.字符串操作函数自实现116.1. mystrlen……15811.6.2. my Strc15911.7.多文件编程.…1601171.函数声明(h)1601172.函数实现(c)1601173.头文件包含 include161118.指针数组1611181.定义1611182.应用1183.思考164119.你所追过的那些“零”164119.1.零所代表的意义.164119.2.实例分析11.10.作业…1651101.自实现 mystrcat16511102.自实现 myStrcmp11.103.以下代码能打印什么?12.内存管理( Memory).167121.进程空间∴167121.1.进程vs程序….1671212.进程空间图167122.栈内存( Stack)…∴……1671221.栈存储的内容1671222.栈存储的特点122.3.栈大小1224.常见栈溢出案例168123.堆内存(Heap)1231.堆内存特点1232.堆大小1698原创作者:王桂林技术交流:QQ32997316923.3.堆內存的中请与释放12.34.应用模型1731235.常见错误案例剖析.……1731236.VLD工具使用124.开放的地址空间17125.堆与栈空间的返回…1761251.栈空间不可以返回252.堆空间可以返回17613.结构体( Struct!131.引例177132.为什么要引入结构体∴1781321.开放类型定义…1781322.从单变量->数组->结构体178133.结构体类型定义1791331.无名构造类型1801332.有名构造类型1333.别名构造体类型1811334.小结81134.结构体变量初始化及成员访问.,1811341.初始化及访问821342.成员运算符木质184134.3.赋值185135.结构体数组186135.1.定义及初始化…1352.内存存储形式187135.3.实战…188136.结构体嵌套……13.6.1.结构体中可以嵌套结构体13.6.,2.嵌套结构体变量定义和初始化.…18913.7.结构体类型作参数和返回值.1901371.结构体变量作参数和返回值.37.2.结构体指针作参数190137.3.获取当前时问函数的使用191138.结构体类型的大小4··44·······1921381.结构体成员内存分布…1382.内存对齐1921383.结构体中嵌套构造类型成员的对齐193139.结构体使用注意事项.1931391.向结构体内未初始化的指针拷贝…1392.未释放结构体内指针所指向的空间…139.3.深拷贝与浅拷贝1951310.练习3101.栈的自实现13.11 typedef类型重命名196原创作者:王桂林技术交流:QQ32997316913111. typedef作用13112.定义新类型19613113. typed和# define的区别.·;“····*19713114.小结1981312.类型大总结19814.共用( Union)与枚举(Enum199141.共用体…1991411.类型定义与变量定义.141.2.内存分析1991413.共用体小结…2021414.应用∴202142.枚1421.枚举类型定义2044.2.2.枚举变量与初始化2051423.枚举常量2061424.应用206143.练习20714.31.输山·个整型数握的字符形式…2071432.实现 short类型变量高低位互换….2071433.将下面程序中case分支常量用宏和枚举米实现20715.单向链表List)20915.1.链表价值152.静态链衣.2091521.链表节点定义1522.图示节点2091523.图示链表结构21524.代码实现.210153.动态链衣…2101531.链表图示….2111532.链表名字解释…211533.创建(尾插法)21115.34.创建(头插法)2121535.遍历213153.6.求长度.21315.37.插入2131538.查找1539.删除..21415310.排序21515311.链表反转.21615.3.12.链表销毁21715313.环形链衣……217154.作业.…218541.输入一字符串,用链表形式储存218154.2.用选择法实现单向链袤的排序。2