
编程语言公开课
用视频公开课讲述C/C++等编程语言的入门与提高知识
取次花丛懒回顾
一个爱玩儿爱生活的技术宅;
毕业于上海大学通信与信息工程学院,从事流媒体和视频编解码的研究与开发工作;
研究领域包括视频编解码标准、视频处理和流媒体技术、移动互联网技术等。
展开
-
理解C语言——从小菜到大神的晋级之路(15)——完结篇:C编程风格
本期视频链接:点击这里 有人说过:“程序源代码其实是跟人阅读的,只是恰好机器可以编译而已”。编程初学者常常会有这样一个观念,就是我的程序只要编译通过了,运行没有问题那就万事大吉了。至于代码的编写规不规范,完全就是无关紧要的小事情。如果是处于学习阶段,比如为了完成在学校的C语言课的作业,那么花心思在代码规范上的确没有特别的必要,因为这些代码基本不会进入实用工程,也不会被很多人阅读到。 但是,如果应原创 2016-03-28 21:03:18 · 2754 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(14)——C编程常见错误
本期视频:点击这里1、混淆变量的作用域和生存期 变量的作用域和生存期实际上是两个完全不同的概念。变量的作用域:可以应用这个变量的范围,强调变量使用的空间范围;变量的生存期:变量的生命周期,强调变量有效的时间; 这两个概念中,作用域更强调变量可以被引用,而生存期更强调其本身是否存在,这二者实际上并没有必然联系。通常情况下,如果原创 2016-03-20 16:27:51 · 1376 阅读 · 1 评论 -
理解C语言——从小菜到大神的晋级之路(13)——进一步讨论函数与指针
本期视频:点击这里1、main函数的参数 在我们编写的简单程序中,main函数常常是不带参数的。比如这样一个简单的程序,给main函数添加参数似乎也没什么意义:int main(){ printf("Hello world!\n");} 而实际上,main函数是可以添加参数的,而且在实际应用中也非常普遍。m原创 2016-03-08 22:22:41 · 1156 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(12)——动态内存管理
在前面的内容中,我们通常使用数组来利用一段连续的内存空间来保存数据。我们前面用到的数组基本保存在栈内存中,其内存空间由系统自动分配和释放,使用非常方便,也不用担心内存管理的问题。但是在栈中分配的数组存在一个严重的问题,就是它的长度必须在建立时明确指定,且无法再运行时修改。为了防止运行时出现内存空间不够的问题,在编程时就必须定义一个非常大的数组来容纳理论上可能的最多个的元素,这样就会导致内存利用率底原创 2016-03-01 20:57:45 · 1225 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(11)——文件输入输出
本节视频地址:点击这里 在我们先前的程序中,所处理的数据或者在代码中预先指定,或者通过命令行窗口手动输入。事实上这两种方法都是效率不高的方法,相对更常用的是通过文件读写操作处理以文件形式保存的数据。C语言中的文件操作主要包括文件数据的读、写和定位等辅助操作。1、文件 C语言中定义了FILE这一结构用于文件操作,这一结构定义原创 2016-02-25 20:57:53 · 1316 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(10)——结构体、联合体
本节视频链接:点击这里上篇中讲述的数组是复合数据类型中最简单的一种,一个数组使用一段连续的内存保存了若干个类型相同的数据元素。由于类型和长度相同,数组的每个元素通过数组下标和指针变量访问。如果我们希望一个结构保存多个不同类型的数据元素,那么数组将无能为力。为了实现这样的功能,C语言提供了结构体和联合体。1、结构体基本概念(1)结构体的定义原创 2016-02-20 23:36:41 · 1384 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(9)——多维数组
本节视频链接:点击这里1、多维数组的定义和结构 一个数组中可以支持各种数据类型,那么一个数组中的每一个元素同样也可以是一个数组。对于上次提到的一维数组,其每个元素都是一个简单数据类型的对象,其结构如同一个一维的数据排列;对于一个二维数组,它的每一个元素都是一个一维数组,其形式如同一个二维的表格,表格的宽度是其中作为数据元素的一维数组的长度,高度是这样的一维数组的个原创 2016-02-18 20:00:08 · 1456 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(8)——数组、指针和字符串
本期视频点击这里 在前面几次我们接触的数据类型都是简单数据类型,使用一个数据个体表示一个元素。C语言中还提供了多种复杂数据类型,其中最简单的一种就是数组。数组这一结构使用内存中一段连续的内存空间保存一组相同类型的变量,这些变量通过数组的下标/索引的不同相互区分。数组与指针有着十分紧密的联系,通常使用数组下标能实现的操作都可以使用指针完成,而且使用指针的程序通常效率更高。但是指针和数原创 2016-02-06 11:26:38 · 1909 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(7)——指针变量
指针是C语言中极为重要的部分,在实际的开发中也有着非常广泛的应用,甚至是实现某些计算的唯一途径。想要熟练使用C语言,必须对指针这一类型有较为深刻的理解。总体上来讲,所有的指针类型数据保存的都只有一种数据类型,就是内存的地址。1、内存和地址 我们知道,内存条是计算机内部一个极为重要的部分,是计算机想要运行所必须的组件。内存条中根据其容量的不同包含数目不等的存储单原创 2016-01-30 23:56:29 · 1512 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(6)——函数与调用
视频观看:点击这里 在前面的程序中,由于程序的功能非常简单,所有的代码都在main()函数中实现。如果程序复杂度增加之后,在main()中实现所有代码将显得非常臃肿且缺乏条理。如果可以将一段大的计算任务分解为若干个小任务则可以有效解决这个问题。另外,分解出来的模块还可以进一步构造和重用,而不用每次都编写同样的代码。因此,绝大部分实际的C程序都是由一个简单的主函数和多个规模不同的子原创 2016-01-21 22:20:00 · 1127 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(5)——程序流程控制
C语言中的控制流语句用于决定代码中各个语句的执行顺序。通常程序的运行次序的结构有顺序结构、选择结构和循环结构。1、顺序结构在正常情况下,C程序都是从main函数的起始位置开始,按由上到下顺序执行。程序执行以语句为单位。通常一个表达式之后加一个分号“;”构成一条语句,如赋值表达式“x = 1”加一个分号就构成了赋值语句“x = 1;”。除了单条的语句之外,使用一对大括号{原创 2016-01-04 22:31:46 · 1476 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(4)——数据类型、运算符和表达式
一、数据类型 对数据进行处理是程序的基本功能之一,因此对于任何编程语言,数据类型都是重要组成部分之一。C语言中定义了较为完善的数据类型体系用于处理不同类型的数据。(1)标识符 C语言中的标识符可以用作变量名、富豪命、函数名、文件名等等功能。标识符可以包含字母、数字和下划线(不能以数字开头)。C语言是对大小写敏感的语言,因此组成相同但大小写原创 2015-12-23 21:53:24 · 1479 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(3)——C源程序的基本结构与调试方法
在上一篇中,我们进行了Visual Studio 2013的安装以及第一个demo程序“HelloWorld”的建立。现在我们看一下其中的源代码及相关的C语言基础知识。打开工程,可以通过在源文件标签栏的右键菜单中快速打开源代码的所在目录。HelloWorld的简单代码:#include int main() { printf ( "Hello World! \n" );原创 2015-12-13 19:46:27 · 2046 阅读 · 0 评论 -
理解C语言——从小菜到大神的晋级之路(2)——开发环境的选择和HelloWorld程序
视频观看:常言道,工欲善其事必先利其器。除了少数奇葩之外,大部分人应不会去使用记事本或者Word文档去编程吧?原创 2015-12-06 20:21:41 · 2127 阅读 · 2 评论 -
理解C语言——从小菜到大神的晋级之路(1)——引言:C语言的前世今生
C语言是现在应用最为广泛的编程语言之一,也是现在依然流行的编程语言中历史最悠久的一种之一。在目前业界广泛使用的编程语言中,许多 种语言是以C为基础发展而来。在多类大学的工程类专业尤其是信息类专业的教学计划中,C语言也是极为重要的基础课之一。 而对于一名以编译型语言为主要开发工具的程序员来说,熟练掌握C语言的用法和理论也可以对其他编程语言获得更深的理解。因此,在这一系列教程中我们希望可以深入理解C语原创 2015-12-01 23:10:28 · 4462 阅读 · 0 评论