哈喽小伙伴,大家好,我们现在啊就开始进行我们第一课的课程了,那第一课的课程呢,就要求我们去写一个 c 加加的程序,那什么是 c 加加?我们来简单的讲一下。 c 加加 是一个程序设计语言,简单来说呢就是编写代码来操控计算机实现某种功能的语言,这家语言是基本的程序设计语言之一。有 有很多大家经常会玩的游戏啊,都是有赛加加参与的,比如说植物大战僵尸以及英雄联盟中的部分代码其实都用到了赛加加,那么现在呢就开始写第一个赛加加的程序那, 呃大家把软件都安装好了吧,安装好之后呢,我们点击一下这个软件点开,点开之后呢会是这样一个页面啊,好呃,点进去之后呢啊,我们首先来介绍一下怎么去新建元代码,那 点击文件有个新建可以看到一个元旦吗?其实呢我们可以直接按 ctrl n, 大家可以看到新建的右方有一个 ctrl n, 对吧?我们点击 ctrl n, 其实就是新建了,那大家新建完了之后呢,其实是这个样子的啊,好,是这个样子的,然后我们 先来保存一下,按 ctrl 加 s 保存,或者这保存呢? ctrl 加 s 保存,那保存到一个地方,比如说我们保存到桌面 啊,就保存到桌面那起一个文件夹的名字啊,比如说叫 啊,找到这个桌面上的文件,我们点击一下,比如说叫呃,信息学课程好,点击了之后呢,我们把它保存到这里啊,零一 一,零一第一节课的第一个程序好,写完之后呢,我们继续往下,嗯,这就是这就是一个简单的安装,然后我们要写一个基本的程序的基本框架,是这个样子的,我直接边写边跟大家讲一下。首先第一行是英可洛的 爱欧斯进,那第一行呢是什么意思呢?因可乐的是包含的意思啊,爱爱欧进爱呢代表的是我在这里 两个斜杠呢代表的是注视,在这里写一下,那英可录的是包含的意思,那包含了什么呢? i 代表的是 inpot。 好,有一个输入的程序,那 比如说我们在登录淘宝页面的时候,那我点击登录会弹出一个啊登录框,那这个登录框呢,是不是需要我们输入我们的密码,那这个呢?其实就是输入音铺输入, 好欧呢,其实是 oppo 是输出,那我们把啊淘宝页面的那个登录的账号跟密码填写完毕之后,我们点一个登录,那 登录成功了,就会调转到另外一个页面,登录不成功呢,他会提示你啊密码或者用户名错误,那其实呢,就是有一个啊输出的一个输出的一个东西啊,好, 是啊,流的意思啊,水,比如说啊,比如说我把它想象成水流,那大家可以想这样想象啊,因迫的呢是从啊工厂的, 从自来水厂流入水进来,好的,碰到呢,相当于我们家里把水龙头打开啊,打开,那中间的呢其实就是水流,对吧?那我们可以这样想一下, 好,冰可乐的 i u s g 第一行,那第二行呢?是 uzn max std。 好,这是什么意思呢?就是 uzi 使用 max 是 名字,对吧?名字或者说命名 spsax 空间, scd 是标准,但是其实是使用标准命名空间, 那就比如说班里有两个叫李小龙的,那我我在叫李小龙的时候呢,那这个两个人肯定不能够区分是哪个人,那这个这样的话我会给他起一个大小龙,或者李小李,小李,李小龙,这样的话是避免重名。 好,第三行是英特曼一对小括号,紧跟着是一对大括号,结尾还有一个瑞吞零, 好,结束了,那我们的程序呢?其实就写在这一对大框的里面,瑞特林的上面。那我再举个例子啊,比如说英可罗的包含,包含什么呢?我们把 l 字母想象成一个菜市场。 菜市场,那比如说你饿了想去吃土豆,想去吃土豆烧鸡,那肯定要有土豆,那我们去一个肯定要有一个包含土豆的菜市场,那这里呢?其实就包含了输入输出,那我们能够使用输入啊,能够使用输出语句。 好啊,优尊 mcbass x g 呢?使用标准命运空间,我们相当于把那个东西起个名字叫做土豆,对吧?那我们把土豆买完之后,是不是印特曼啊?是相当于我们啊,我们的到到了家了啊, 进了厨房的大门了,那我们可以把这个一对大括号想象成那个厨房的大门,那我们少烧菜做饭都写在哪个地方呢?还都写在这一堆 大块里面。就是啊,呃,在厨房里面进行烧菜,做饭,做饭等等啊,好,做饭等等啊,我们打个省略号。好,那烧完菜了,做完饭了,我们是不是要清理一下我们的厨房呀?蕊春林呢?其实就相当于清理一下我们的运行结果啊,运行的程序 好,其实就相当于我们啊,干嘛呢?就是啊,刷碗洗锅,收拾厨房等等。啊,好,那我们现在呢就开始写我们第一个啊程序, 那我们这先先来运行一下,点击这个地方啊,是变运行,是 f 十一, f 九呢是变异,把你的程序进行变异了,变异完了之后呢啊,点击 f 十是运行,点击 f 十一是变 女性,一般我们直接点 f 十一就可以了。好,这个呢就是我们的一个控制台,我们的一个控制台啊,然后我们在控制台上进行一个输出一些信息啊,好啊,输出一句是 c out, 输出 是 c out。 好,是说出一句,那我说出什么呢?好,双引号里面代表的是一个 个字不串,那字不串在双引号里面就是原样输出的,双引号里面的内容都是原样输出的,那我在里面输出什么呢?输出我们的刚才那个网址吧, big big 里点 com, 好,分号结尾。那我们再点运行在我们的控制台上呢,会显示逼格,逼格的一点, come on, 对吧?那 c 呢?其实就是 控制台, ctrl alt 呢,就是 oppo 的输出 cl 的其实就是输出后面跟一对小于号,然后这个双里面跟一对双引号,双引号里面的内容呢,就是原样输出的,这就是我们今天要学的一个输出一句, 那计算机呢,其实是认识数字的,那我们如果直接输出啊,一个算式的结果,比如说三十加三十这里呢,我们如果打上双引号会出现什么情况呢?好,肯定也是原样输出的,会输出三十加上三十,那么如果把双引号给去掉, 计算机呢就会算出他的一个结果,那加号是这样,乘号、除号、减号其实也是这样。好,那我们这节课呢?到此结束了啊。
粉丝1.2万获赞27.6万

呃,各位亲爱的同学们,大家下午好。呃,我们又开始我们新的一课。呃,在在上节课呢,我们学会了如何去安装这个软件,然后呃,给大家分析了一下这个程序框架是怎么写的, 然后给大家留了个作业是吧?希望大家能够熟练的书写这个程序的框架。呃,然后我们才再来开始我们新的一课啊。今天是呃这本书的第二节。第二节。 第二节呢,是 c 家语言的程序结构。我大体看了一下这个。呃,书中的例题啊,对于一个初学者来说呢,对于一个入门级的小朋友来说,我觉得还是羞羞的啊。 呃,稍稍有一些,稍稍有一些偏难啊。这题目稍稍有一些偏难。所以说呃,我我尽量慢一点给大家讲解。嗯。 呃,现在呢,这节课可能会是一个一个一个大官啊,如果你把这一节课跨过去,后面呢就会容易很多了。 好啊,我在在书中选取了这样一句话啊,我觉得他说的非常的对啊。在学习 cra 语言之前呢,让我们绕过那些繁琐的语法规则细节,通过一些简单的例题啊。这些例题对于初学者来看,我感觉好像并不是很简单呀。 来熟悉程序的基本组成和基本语句的用法。选手刚接触编程时,多动手模仿是一条捷径。什么意思呢?就是说如果这个这个题 大家实在是看不太懂啊。当然了,经过我,我给大家分析,我相信你一定能听得懂。嗯,然后大家多多去练习,多去就是照着写啊,多去照着敲敲代码,这感觉就就来了。嗯,怎么样能学好这个编程呢?肯定是你自身的代码量要 呃要够啊,才有一个提升啊,跟跟你打游戏是一样的,都是练熟练度的。 呃,好。那么我们就开始我们今天的第一个例题啊。第二节的第一个例题。例一点二 在梯形中阴影部分面积是一百五十平方厘米,大家看啊,这个阴影部分,这是一个梯形阴影部分的面积是一百五十平方厘米。球 球梯形的面积。球梯形的面积,呃,这个是给了一个 这个三角形的一个面积是吧?这样的话我们可以求出这个高。呃,就这样啊。我再我再简单的说一下,因为我都说了是吧,让小学生也能听懂是不是?那么我就好好的给大家说一说啊。 好,现在呢给了一个啊,梯形中阴影部分的面积是一百五十平方厘米,也就是说这个面积是一百五十 对吧?这个面积是一百五十。那么这个面积是怎么来的呢?这个面积是由底对吧?这个底边 a 是上底啊,上底我是把它标成 a, 下底是 b, 然后这个的高是 h, 这高,我从这向向这个这个边缘去做垂线啊, 这个是高哎,是。那么这个三角形的高呢?其实也就是这个梯形的高对吧?这三角形的面积大家应该会求吧?应该是啊,二分之一的啊,底边长也就是二分之一的这个长度 乘上这个长度也就是二分之一, a 乘上 h, 应该等于啊一百五十 对吧。啊,因为这个 a 我们已知了是十五,那么我们就可以求出这个 h 对不对?然后我们再通过啊 h, a 和 b 来求梯形的面积,梯形的面积大家 应该知不知道,七星的面积是上底,上底就是这个长度加上下底的长 啊,乘乘高,然后最后除以二,就是梯形的面积啊。不知道的 小学的同学们是吧?就学会了一个新的知识啊。梯形的面积是这样去求的,首先要知道三角形的面积是这个,以这个为底的话啊,这个底边的长度乘以嗯,到这个底边的高,然后除上二,就是三角形的 三角形的面积啊。然后然后那个梯形的面积是上底下,下底乘上高除以二啊,这是梯形的面积。我看下书上把这个公式给没给我们啊。 嗯,书中好像没有说这个公式是吧?好,这个 公式呢,我是说给小学生听的是吧?你如果你是高中生的话啊,这个事就不用说了是不是?好的,那么我们就来尝试的看看如何去写这个这个程序啊。 好,咱们不说别的了啊,现在就开始了,准备双击打开这个咱们的呃 dvc 家,然后 ctrl 加 n 新建一个文件啊,或者是点文件新建,然后去选一个元代码对吧。然后把我们上节课学的 先把书法切换成英文,把我们的框架打出来, i'll stream using name space std man 对吧?这挺灵。好,那么这个就是最简单的一个程序框架啊。我现在按一下 ctrl, 不放点 s 就是保存啊 保存,或者我不这样选的话,我可以点这保存也行啊,或者是点文件点保存都可以啊,我习惯了,大家习惯就快捷键啊,很方便按住肯车不放点 s 就保存了。选择桌面 啊,这个是梯形面积是吧?梯形梯形面积保存好。 呃,梯形面积。刚才题目中给了上底的,大家看一下,有点忘了。 给了上底的长度和下底的长度和这个三角形的面积对吧?我们现在要先求这个高,先把这个高求出来。 好高,怎么来求呢?先三角形的面积是什么啊?我用 s 一 s 一来表示三 表情的面积啊,他应该是等于。呃,底边长度是 a, 星是乘号啊,星乘上 高对吧?然后再除上二对不对啊?这个三角形的面积应该是这样来求的吧?假如说嗯, s 一代表的是三角形的面积啊。 那么这个现在我们来看哪个是已知的? s 一是已知的,然后 a 是已知的,这个高是未知的是吧?我们先要求高。那么那么这个高应该等于什么呢?高应该复乘啊,这个是个复制符号。高复乘什么呢?应该是 s 一乘上 二对不对? s 一是一百五十是吧?乘以二,然后再除上除以 a 底边。这样的话,是不是就得到了这个啊,这个高啊,对吧?得到 这个梯形的高,也是这三角形的高。然后我们再通过这个三角形的高来进行计算对不对?这个高怎么来?怎么来算那个梯形面积呢?梯面积。假如说我在 s 二里面啊, s 二附乘应该括号 上底 a 加 b, 上底加下底,乘以高除以二。好,这样呢,就把这个啊梯形的面积又给求出来了, 对吧?那么但我们就要分两步去做就可以了,对不对?首先我们把已知的条件练一练啊,那我用啊这个。那么我们顺势就把变量给给说了吧,对吧?先先说一个数据类型啊。先说一个数据类型。 数据类型。数据类型是什么呢?嗯,大家想啊,这个梯形的面积啊什么的这种面积,三角形的面。 还有这个上底加下底。这个因为有除法,他他有可能是小数对不对?他有可能是小数。那么书中呢?用的是单精度的。呃, float。 那么我就按照书中的来,我们先学一个啊。数据类型叫 float。 float。 float 什么意思呢?就是呃,浮动的是吧?浮动的也叫浮点。 福点数类型哎,就是单精度是吧?单精度什么意思呢?就是说白了就是一个精度不是很高的一个呃,小数类型的数据啊。小数。 然后这是一个数据类型。那么我怎么样去定义一个福典型的变量呢?怎么样去定义一个福典型的变量。这样来写 float 啊。首先 s 一啊,代表的是三角形的面积是吧?三角形的面积是已知的,我直接复职一百五 十对吧。然后还有什么是一致的啊?上底是十五吧, 看一下上底是十五,下底是二十五是不是上底是 a 是,假如说是十五。下底。嗯,我在这写在一行了。加个逗号啊,大家看啊。我可以这样分行去写,也可以把它写在一行对吧?下底是 b b 是 多少来着?哎呦,我这记性,二十五对吧。下底是二十五。然后还有一些变量不知道的吧,对不对? 现在已知的就这三个,就这三个数据是吧。然后我们把不知道的来列一列,不知道的还有哪些呢?三角形的面积不知道。然后把三角形的面积知道,然后梯形的面积不知道是吧? 逗号 s 二啊。这这呢是我不知道他的数是多少,然后但是我没有给他,所以说我没有给他付出值。我只是申请了这样的一块 变量空间啊。这个位置我只申请了一个变量空间,我还没用它呢。先放在这,然后还有一个变量需要用到的就是高 h 对吧? 高 h 啊,都是福,典型的是吧?都是福,典型的。 还有没有了?还有没有了?没有了。那边量够用了是吧?然后下面我们来开始来通过我们刚才想象的想想好的来算。比如说先求高。高是什么来着?高是 s 一 乘以,星号是乘以啊。星号在哪呢?星号我们按住 shift 键,然后按八,按八看到了吗?它上面那个星号就代表着乘法。 这是乘法啊。乘法 s 一乘以二。然后除号在哪呢?在你右手的右手的 shift 左边这个按钮啊。这样的一个斜杠是不是啊?这是除法。除啥呢?除 a 啊。然后写完了这句话应该是分号对吧?比如说这样的话,呃, s 一是已知的, s 一有有这个数算乘以二是三百三百,然后除以 a 十五是吧?算出一个高来。然后 通过这个高,我们再来算 s 二的值。 s 二呢,应该是负成什么?上底加下底是吧?括号该有有啊,跟那个咱们数学中的计算基本上是一样的。 a 加 b, 上底加下底,都一直乘上 h, 然后除以二。分号啊。 这个大家发现我我我习惯在这个这两边加上空格是吧。你们随意啊,我只是看起来清楚一点啊。好, s 二也求完了。求完之后呢?我们需要把它输出到屏幕上。怎么输出呢?上一课学了 sir 对吧? 白色输入到屏幕上,然后加一个安德兰来进行换行。好的,那么这个球梯形的面积我们就 写出来了啊,大家先照着我这个敲啊,照着我这个敲,我先把这个删掉了啊,照着我这个敲。一会,我领大家一行一行的去分析这个程序怎么样在内存当中进行。呃,跑的啊。这个程序怎么样一行一行运行的,我先编辑一下, 看这个结果是不是正确的。 好的,没有错误是吧?运行结果 是四百啊,应该是对的。是不是应该是对的啊?呃,好的,大家可以先照着我这个写一写啊,照着敲一敲,熟练熟练。然后我现在呢给大家讲一下,这个代码每一行每一行是 什么意思啊?他在内存当中是怎么怎么运行的,我给大家来分析一下。 呃,刚才我讲到那大家应该听得懂吧,听不懂大家可以给我留言啊。 高中可能听得懂,我说小学同学是不是能听得懂。题型来说啊,应该是有点难啊。你们可能不知道什么是梯形,是不是回去百度一下 这个。这本书的课程结构安排就是这样的啊,确实对于 小一点的孩子来说,有一定的难度啊。有一定的难度。好,我们来分析一下啊。分析一下。首先呢,我跟大家讲啊,这个程序 编辑完之后,这个可执行的程序,它运行的时候是需要加载到咱们计算机的内存当中的。计算机内存是啥呢?我在我的电脑上点邮件啊,属性,大家看, 我的内存指的是啊,这个八个 g, 这个看到了吗?不是咱们的硬盘啊,他是内存啊,内存 有四个 g 的是吧?也有八个 g 的,还有两个 g 的,比较旧的电脑。你的程序是要在内存当中运行的啊,他的内内存当中运行,所以说你的内存可能大一些的话,可能同时运行的这个程序可能可以 多一点是不是啊?然后我们来看,当我们把这个把这个呃程序直接直接加载到内存当中去运行的时候啊,内存当中有这样几个区域啊。首先这这一块,这一块我给大家我给这个画出来啊,假如说这个位置叫叫站 占空间啊,占啊,当然了,今天我们就说一道占啊,当然还还有还有其他的位置啊。假如说假如这面是堆,是不是堆空间 内存堆。对,现在呢,我们呃就只讲能用到的地方啊,让大家理解,然后以后用到的以后再说啊。好,这个占空间。这程序是是怎么来跑呢?这么跑 啊,程序运行到这的时候,肯定是从慢函数这进来对吧?慢函数是进来,进来之后开始运行他的函数体,函数体的第一行就是这个福露。他 s 一, s 一是一个变量 富城一百五,然后又定义了一个变量 s 二啊。他你当你运行完这一行,在内存当中的变化是什么呢?他会给你在内存当中申请一块空间,申请一块空间起了个名叫做 s 一啊,起了个名叫做 s 一, 听明白了吗?啊,然后那么你这块空间啊,这个空间是连续的是吧?你的空间有有多大呢?你起弄了一个多大的空间呢?谁 说了算呢啊,就是用来你要存这个数,他会说了算。这个 float 表示你要申请他所占字节的这么一个大小的一个空间,叫做 s 一的。这样的一个位置啊, 这块空间就给你了啊。现在里边是什么数呢?还不知道对不对。当你执行到这的时候,付成一百五,那么 s 一很清楚了,直接付成幺五零啊,被付上值了。然后执行到这的时候, s 二,对吧,他又申请了一块空间,叫 s 二。 然后他是多大的呢?也是弗洛特这么大对不对?我给大家看一下这个啊,每个数据类型的大小他是不一致的。这个其实跟操作系统有关系啊。弗洛特字节 嘿,我看看占多少个字节,是不是找到一个啊。 fold 占四个字节啊,跟印的类型是是一样的,占了四个字节。四个字节 好看啊,这有详细的说明他的最大值,最小值是多少啊。好的,我们过来。也就说在这分配了四个字节的空间啊。四个字节的空间,如果你这是达宝的话,他会在这给你分配八个字节的空间,对吧?啊, 所以说这个这个类型表示你要分配多大的空间给这个变量啊,然后你给这个变量位置起好名字,好就到这了啊。 s 二有个变量名字,但是这个位置签什么数不知道对吧?你没有进行复职啊, 你不知道这里边是什么,所以说你用之前要考虑一下里边有没有值,是不是,是什么值。你不知道这个值,所以说你现在还没有办法用里边的值,你得先往里面添值才能用是不是。好,我们来继续向下看。当执行完第六行之后,执行第七行,第七行干的事跟差不多是吧。申请了一块空间,叫 a, 好,负值十五。申请了一块空间,叫 b, 然后负个值二十五啊。然后又申请了一块空间,叫 h, 没复制空着对吧。然后他们的类型是什么呢?都是 flow 的,都是单精度小数的。都是用来存小数的是吧? 这个大家看。为什么存小数。大家怎么说是整数呢啊,这整数可以存在小数里啊,对吧。我二十五点零就就行了,看他默认就给你去掉了 啊。就相当于二十五点零啊,十五点零什么的啊。然后执行完这一行之后,执行下一行 h, 这个不是等于啊。这个不是等号,这个叫复制符号啊。这个叫复制符号, 他是有一个动作的,他把右边的这个表达式的整个表达式的值付给这个复制符号左边的变量 啊。来看右边的 s 一有值吧,看内存当中他是有值,一百五乘上二,一百五先乘二,一百五乘二等于多少?三百对吧?三百。然后再除上 a, a 有没有值?看内存当中有值 十五对吧。三百除十五,应该是二十对不对?那么右边这个表达式的值就变成二十了,那么二十付给 h, 那么 a 式就变成二十了,我没算错吧。啊,二十好。这一行执行结束啊。这个叫复职符号啊,哪两个字呢?复职。复职是一个动作啊,这是一个复制符号加一乘除,我就不说了, 我一打等号 算了,我一打等号在在一个三号里面,他变成公式了是吧。大家知道这个等号表示的是复职啊,复制符号他这个动作好。然后 我们再来看执行完这行,现在内存当中是这个样子的是吧?然后我们再往下执行。执行下一行。先算括号里面的仍然是个复制符号是吧?先算右侧表达式的值,然后付给左侧右侧表达式的值。先算括号里的 a 加 b, a 加 b 是十五,加二十五应该是四十对吧?他俩加完是四十。四十乘上 h 是不是四十?乘 h 二十是八百是吧?乘是八百,八百除上二应该是四百。也就是说 s 二被付成了四百。这就是我们所需要的结果啊。现在好,这里面的纸都被填充好了。然后再往下执行。执行到这的时候, 直行到这的时候啊。直行到这的时候,就直接把 s 二里面的直输出到控制台,四百输出,然后换行。然后再往下走,走到瑞腾,走到瑞腾之后,程序 结束,返回后面的尼瑞特。后面再有啥啊?这这有,有一大堆什么其他的都不被执行了啊。瑞特掉,直接这个函数就 结束了。慢函数慢函数正常中指你返回零是不是?然后他的这个站的位,这个内存当中这个位置又全部被释放了 啊?全部被释放了,就说你可以再次进行分配了对吧?你程序运行完,这些东西一定要被释放对不对?如果你不被释放的话,内存越战越多,越战越多对不对?这可能会溢出了是吧? 好的。那么就是啊,刚才我讲的这个就是对这个第一题的这个一个分析。 第一题啊,求梯形的,求梯形的面积啊,求梯形的面积。 哦。这个第一题对于刚入门的同学来说,还是稍稍有一点难啊。稍稍有点难。好,那么大家来看 看一下这个代码。嗯,简单模仿,照着抄一下,或者是你整理整理思路,看看自己能不能写出来啊。 嗯,然后现在给大家几分钟时间,大家来熟悉一下。然后一会我们开始我们的下一道题。

好,同学们好,这节课呢,我们来学习一下怎么去写我们的第一个程序,往屏幕上输出一句, hello word, 首先我们打开我们的 i d e with your studio, 二零二二,双击打开, 打开之后呢,选择创建新项目,选择空项目下一步,然后项目的名字呢,我们就叫 hello word, hello word, ok, 把它放在我们的桌面的 c 叠加文件夹里面去。好,然后我们点,点击创建,点击创建 好,现在呢,我们选择这个原文件添加,添加,添加新建项, 选择我们的 c 加加文件,选择,我们给他命名叫 helloword, helloword, helloword, 然后添加, ok, 好,现在呢,我们就可以在我们这个 hello word 点 cpu 里面写我们的第一个程序。 ok, 第一步干嘛呢?第一步,第一步,我们首先要把这个一个 cd 加程序的基本的框架把它写出来。好,好,我们把它放大一点,放大就按住 ctrl 球滑动这个滚轮就可以了啊,滚轮, 鼠标滚轮,按住 ctrl 键滑动它。 include 好, include i o stream 好,这是他的头文件,然后呢? using name, space, s t d 然后呢? ac, 他下面如果有红线的话呢,说明他包错了啊,写错了。 好, returning 好,这是我们任何一个 c 加压程序的基本的结构。好,我们把它先写上来。好,这第一行什么意思呢? io steam 音库录的是包含的意思,包含的意思,大家,这个是头文件,包含,包含这个叫 ioscime 的头文节, i 是 input, o 是 output, stream 是流, ioscime 输入输出流。 好,这个文件是我们必须要用的,是我们 c 家头文件是我们 c 家对其他程序的一个引用啊,包括工人函数,数据接口的声明,他都在这个头文件里面定义了, 然后 using name space s, t, d, u, z 是右字加 i n g。 正在使用 let me space, 密密空间, st 是 standard 标准的,对吧? ok, 好,是有一个叫做标准的秘密空间。然后 这个 enome 什么意思呢? enome 是主函数,主函数任何一个程序啊,像我们这样的程序,它有且只有一个主函数, 他是我们程序开始和结束的地方,然后维特林是返回。好,下面呢,我们是需要往屏幕上输出一个,输出一句话,这句话叫 love ok, 输出什么意思呢?好,首先什么表示我们屏幕啊? 我们用 c 奥特来表示我们的屏幕。好。输出,这个像个传送带一样东西,叫输出运算服,把我们要输出的数据往这个 c o 的显示屏上传出,那么他就把它给输出到显示屏上去了。我们要输出的内容呢?用双元号包起来, hello world, 好,用,双以后包起来的任意数据呢,叫吃不串,吃不串呢,是原样输出的,然后再继续输出个 e n d l e n d l 什么意思呢? n 加烂结束并换行。 ok, 好,这样的话呢,我们这个程序就写完了,写完了之后呢,我们需要怎么办? 我们要变异他并运行他好。点,哪个可以点这个?可以点这个绿色的小三角,这是没问题的哦,点击他 好,如果程序没有错误的话呢,他就能够通过变异并且正常运行,他会在屏幕上输入 hello, 我的好,这是通过点击这个绿色的小三角来实现。我们也可以通过直接用快捷键,快捷键可以用 f 五, f 五可以,可以 f 五调试并运行, 或者是 ctrl 加 f 五。 ok, 好,两个都可以。 ok, 好,这样的话呢,我们就写完成了我们的第一个程序,往屏幕上输出一句, hello, word。 好,同学们自己试一下。

dev c 加加运行 c 语言第一步,安装 dev c 加加开发工具 dev c 加加是一款轻量级易使用的 c c 加加开发工具。 c c 加加编译器已集成到工具包中,不需要单独安装,所以安装完成之后可以直接使用,并且内存占用只有区区几 m b 到几是 m b, 对于新入门的同学是最佳的选择。 第二步,配置 devs 一加加工具,首次启动需要简单配置下环境,参照说明默认选择即可。 第三步, devs 一家家运行 c 程序,创建一个文件夹,管理代码, 回到工具环境,创建一个 see 语言的原文件, 输入测试程序,测试执行结果 输出正常,这样就没问题了。

呃,好的,我们下面来看下一道例题是呃例一点三。 呃,我们来看一下啊。已知一位小朋友的电影票票价是十元,然后计算 x 位小朋友的总票价是多少 啊?这个在数学当中肯定非常容易了是吧?直接用呃单价十乘以 x 个对吧?直接就是呃结果了。 嗯,但是在程序当中可能我们需要有一个东西是变化的,因为他说是 x v 小朋友对吧?所以说我们这个 x 是需要我们通过键盘来进行输入的啊,需要键盘,我们需要我们通过键盘来往里面输入一个啊,一个整数啊, x v 对不对?说需要我们输入一个整数,然后最后最后通过我们输入的这个整数去计算这个票价总票价是多少啊?好,我们来看一下我们的程序应该如何去写。 呃,首先再次打开我们的软件, ctrl n。 呃,首先还是敲这个是吧? how 保存 ctrl s 保存一下啊,这个叫什么 票价是不是立一点三 一一杠三。 呃,刚才通过我们的分析,首先我们要输入一个整数啊,今天来教大家输入一个整数啊。之前我们学了 cr, 它是输出是吧?那么现在我们需要一个输入,输入叫 see in 啊, see in see in 它的这个 箭头呢,就要向向变量去去留了。之前我们 c alt 是向屏幕去留是吧?我们这回呢需要往变量去留 啊,留一个是留到哪个变量里呢? x 是不是?首先呢,我就要先在内存的占空间当中先申请一块空间,叫做 x 对吧?这个大家都知道了啊。申请完了之后呢,我需要 把这个数添进去啊,等待着我们输入添进去,然后最后呢,我们要计算一下这个 y 值是不是啊?我们可以先定一个变量 y 来进来存这个总价 y 负值啊,负成十个,十个 十元是吧?票价单价乘上 x 是多少位小朋友?嗯,好,现在就算完了。算完之后呢,我们要输出 see out, 输出这个 y, 然后最后来一个换行。 好的啦。好,我们现在我先写完给大家来运行一下,大家来看一看。然后我回头再领大家来分析啊, 现在程序就卡在这了啊,现在程序卡在这了。等待等待。我输入呢,假如说我输入十二,然后我敲回车啊,总票价是一百二十对吧?好,现在我们 我来领大家来分析一下这个程序为什么要这么这么去写啊。来啊,我仍然是从站在内内存的角度给大家来讲这个程序到底在内存当中是怎样运行的啊。首先啊,走到慢函数里面,走到慢函数的第一行 int int 是一个新的数据类型啊, int 是一个新的数据类型,叫啊 in tiger 整数类型,它大小呢?也是占四个字节儿。 四个字节。 int 引台格缩写啊。 int 整数类型啊,整数类型啊。之前学了一个 float 是不是刚才那题学了一个 flow float 是浮点型啊,也是单精度是不是单精度类型,它也是 占四个字节是吧?四个字节。好,那么我们来看啊,首先执行到这一行 int x 什么意思?在空间这申请一个啊,位置,它名字变量名叫做 x。 然后 他的这个啊,多大呢?他用来存什么样的数呢?他用来存整数了啊,我就告诉大家他是用来存整数的,是不是就是标一个印的类型调大一点 好,然后这行执行完了之后,执行到这,执行到这一行的时候,执行到这一行。 c in 的时候,程序就卡在刚才出现的那个黑窗口那了,就不动了。他卡在那个黑窗口,那等待着啥呢?等待着一个 整数的流入,等待着一个整整数的这个输入啊。当然了,你输入小数也行,但是他 滚到里面可能会有变化,对不对?他就不是你显示的那个数了。所以说我这定义的是一个整数。所以说你一定要输入一个整数,不要输入一个错误的数据对吧? 好,输入一个整数。假如说我在黑窗口,那刚才在黑窗口那停在那输入一个数数是二十四啊,那么这个二十四就通过 通过这黑窗口的控制台,通过这个控制台流向了这个变量,就给这个变量填填充上数值了啊,这个变量就填充上二十四了。然后我一敲回车,程序继续向下执行。假如说执行到下一行的时候,执行到这的时候, 只用到这的时候。 inter y 啊,再一次,再一次对不对?申请了一个空间名字叫做 y。 然后存数据的类型仍然是存整数啊,现在还没有值对不对?然后我再往下 运行,这个 y 被负值被负乘了。十乘 x 十是十是吧?十乘 xx 是多少?刚才我们存数了二十四,十乘二十四是二,是两百四对吧? 两百四十。那么 y 被负成了两百四十。好,现在内存当中的状态是这个样子的啊。然后 c, alt 输出啊,再往下直行 输出了,输出到屏幕是吧?你看大家大家看啊,这个刚开始学的时候,有很多同学总是写反啊,记不住这个方向。这是屏幕流向变量,这个是变量流向屏幕啊,他这个箭头对不对?大家看好啊,把这个 啊变量 y 里面的值二百四和这个换行都流向屏幕了,那么屏幕输出就是一个二百四,然后啪嚓一个换行对不对啊?然后执行到这之后,然后再往下执行瑞特零程序,程序正常终止了, 然后再往下执行,就整个站都被释放了对吧?再次被清空啊。 ok, 这样的话,就是一个程序执行的一个啊,完整的过程。好。 这个呢,就是啊,立体啊,一点三啊,一点三的立体。 嗯,这个题相对来说还是比较容易理解跟简单的啊。啊,所以说这个书结构你可以变一下是吧?呃,应该给谁提意见?董老师是不是啊? 呃,希望能有更多的孩子参与到咱们的信息学的这个学习当中来。所以说越简单越好是不是?嗯,可以把这个简单题往前放一放啊。刚才这道题有可能把小一点的同学 直接吓到了对不对?好。呃,我把这个代码考到这个 ppt 下面啊,这个 ppt 大家可以跟我来要啊,我可以打包发给大家。我把这个程程序放在这个注视这个这这个位置啊。 然后这个是这道题的。把刚才那道题拷贝过来, ctrl a ctrl c 对吧?单击 ctrl v 啊,站过来 啊。这两道题说完了。然后大家可以啊,暂停一下去理解消化一下刚才我说的这道题啊,学习了一个输入啊。呃,然后通过这道题,我再给大家举个例子。假如说 你想输入两个数怎么办呢?是不是?首先我得申请空间对吧?你没空间,你没地方存数啊,对不对?我申请两个空间的话,然后我存一个 x 一,再存一个 x 二,那么我这后面的话就需要我 啊,我先把这这删掉了,这没做任何事是吧?我就存到这两个数上,然后把这两个数输出出来, x 一 x 二连着的是不是?然后换换个行啊,这样的话就输入两个数了对不对啊?那输入三个数大家就会了吧,对不对?输入三个数就接着写呗。啊,好 运一下给大家看一下啊。假如说你要输两个数的话,就十二,空格也行,回车也行,都一样啊,我加空格了,四十三啊,两个数了吧。现在我敲回车啊, 看是不是这两个数被读进来,然后就直接输出了对吧,大家看得懂吧啊。 ok, 好,这个就是输入啊。好,我把程序变回来。 呃,好,大家可以暂停一下去尝试一下吧。好吧。

我们这里有一段很简单的一段系程序啊,我们看一下第一行是什么概念,上面以井号开始这个语句,所以我们称为叫预处理指令。那么这个 includ 我们从中文的意思啊?我们代表什么呀?实际上就包含,对吧?这个单词就是个包含,那么后面这个 s, t, d, i o 点 h, 这个我们就称为就叫一个头文件。那么 s, t, d, i, o 什么?就 standin i import alpat, 就标准的输入输出,那么在这个头文件当中就包含了有关输入输出语句的一些函数,比如说你要从 屏幕上去读取一些信息,或者将一些数据输出到屏幕上,你就可以利用 stio 这个头文件当中包含了这些函数,你直接去用使用就可以了啊。那么整个这个 includ 后面跟上一个头文件, 就是将这个头文件包含进我们这个 c 程序当中去。那么下面这个呢?我们看一下没?这是什么?我们说 c 程序它是种面向过程的语言,面向过程,也就是说这个 c 程序它是一种什么?以函数为基本单元组成的一个程序, 所以他必须有函数构成。那么那么多的函数他总归有一个执行,从某一个函数开始执行吗?总归有一个函数,那么这个函数的这个入口从哪一个函数开始执行这个入口函数我们可以把它称为,就叫主函数,所以在一个基层序当中必须有一个主函数, 那么主函数我们看一下,函数有它的返回类型啊,主函数的它的返回类型,我们看它是个 in, 然后呢?这个函数有它的参数,就 white 啊, white 代表什么?就不接受任何参 啊,也有人把这个 v 的去掉,去除掉就是一个空餐,就没有任何参数的啊,就是个无餐的一个主函数,当然这种写法也是可以的啊,当然我们不建议这么写啊,因为这样写的会导致他的一次性不好,所以说我们如果无餐的话,你就写一个 v, 就代表不接受任何参数啊。以后我们会讲到 带参数的这个主函数,那么另外一个呢?我们看一下对一个函数啊,包括我们的主函数啊,它是一个程序入口啊,那么函数实际上就有一对什么 划括号构成啊,那么在这个划括号里面实际上就是一个,我们称为叫函数体,函数体当中有很多条语句啊,每条语句就是一个封号为结尾,最后一条语句就是一个 return 语句啊,因为我们这个函数它有一个返回类型,它有 返回一个整形,所以说你后面最后加个 return, return 返回的肯定是个整形的,最终是个整形的数值啊,我们这里你看一下,返回的是个零啊,那为什么返回零呢?那么注意,零是代表返回是正常的,你也可以返回非零,是一种非正常状态啊, 就是说你返回以后,你告诉这系统我返回状态是正常的,如果返回的非领,就告诉系统你返回一种不正常的状态,当然你可以用 return, 实际上还可以用一个函数 accent, 也可以钓友,你可以把这个替换成 x 一样的啊,就是退出的意思啊,那么这个呢,就是一个 c 程序的基本的结构啊,我们这里很简单,就列了一个主函数,实际上在一个 c 呢,有很多函数构成。


大家好,我是北大花哥,今天我们开始 c 加零基础讲解,这个课程是免费的,持续更新,大家可以点赞收藏,每天花两分钟碎片时间坚持下来会有很大收获,十岁以上的小朋友和成人都可以学习。哎,小时的话是 input, 输入 o 的话是输出 output, 这里就是表示它包含了某个输入输出的文件。第二行, using name, space, s, d, d, 这里是使用标准的命运空间。接下来印,接下来我们先准确呢,大家一般都会写在这个 made 处啊。输入 建一个小括号,在一个大括号,我们前车程序呢,都写在大括号里面。最后一个大括号的前面呢,得写这样一行语句, return 零返回值的意思。接下来我们就写正式的代码,我们一般学习程序的时候呢,就喜欢输出一个 hello word, 需要注意两点, 第一点是这个 hello word, 你必须得打一对双引号,而且这个双引号是英文模式的双引号,这个 hello word 我们把它叫做字符串。 第二点是整个语句结束之后,要用英文模式的分号结束。好,我们先来运行一下。嗯,看没什么问题,当然你也可以把这里面的内容进行一个替换。你好,瓜哥, 好看,没问题。这里再说一下,这个 c 的意思,就是 console 的意思,就是控制台的意思。大家可以看到我在这里给大家写了一些其他东西,它其实是不会影响输入输出的,因为我用这个是一个注视的符号,注视符号后面的语句是不会被执行的,其实可以在这里做些预算,比如说 你希望他输出什么,你认为他会输出四吗?其实不会一加三,那我们怎么让他做一个预算呢?可以这样,一加三等于还是一对符号,然后一加三他就会输出一加三等于四, 你可以看一下是不是,是吧?我们再来试另外一个 the out how the word, 大家猜它会不会进行一个换行了?我这里是换行了吧,但实际上它这个是不会换行的,你看它是要输出的。那怎么来控这个换行呢? 我们可以在第一行语句后面加一个 end l, 它的意思是 end of life, 就很明白嘛,对吧?就是换行的意思,一行的结束,现在看他就会换行了。

在 c 和 c 加中对应特 a 这样简单的类型声明,我们自然可以一眼就看懂,但是下面这个呢?第一步,找到变量名,如果没有变量名,找到最里边的结构。第二步,向右看,读出你看到的东西,但是不要超过括号。 第三步,再向左看,读出你看到的东西,但是也不要跳过括号。第四步,如果有括号的话,跳出一层括号。第五步,重复上述过程,直到读出最终的类型。 以上过程同时适用于变量和函数的类型声明包括,函数指针 int、 c、 n、 v 中括号五。 我们首先找到变量 v, 然后向右看,竖足尺寸五,右边没东西了,好,向左看,这个指针指向了 int, 所以依旧是一个尺分五的竖组,每个元素是一个指向 int 的指针,或者更符合汉语习惯的。 d 是 一个有五个指向印度的指针的数组。加个括号之后又是个什么意思呢?有括号之后不能跳过,就要优先考虑括号内的声明,所以 v 是个指针。然后呢,向右看, v 指向了一个数组五、数组的类型是整形,所以 v 是个指向有五个整数的数组的指针 int fonk 是个函数。声明 funk 是个返回 int 型的函数。那么下面这个呢?先看括号里面的 funk 是个指针,然后跳出括号。向右看,是个函数,回到左边,返回值为 int 型,所以 funk 是个指针,指下一个返回 ins 型的函数,这就是函数指针。 让我们搞点稍微复杂的东西。第一是个数组,数组,每个元素是指针,插出括号,每个指针指向一个硬型的函数,所以第一是一个 ink 型函数指针组成的数组, 其中 v 式的指针指下一个元素是指针的数组,这个数组中每个指针指下一个 in 型的函数,捋顺了就是 v, 是一个指下 int 型函数指针组成的数组的指针。 cost 是常亮生命,意思是不能改变变量的值。 cost 处在变量生命中不同位置的时候,效果是不一样的,很多同学刚学习的时候也容易搞混。 最简单的 int consta 等价于 const inter 域,意思是 a 的值不能改变,加入值之后情况会变得复杂一点。 int const 心, r 先找到核心变量 r 看下右边有没有东西,或者左边看到心,所以 r 是个指针,再向左是 const int, 所以 r 是一个指向 const inter 的指针。 新 r 不能改变,但是 r 本身不是 cons, 所以可以改变。你可以给 r 复制,让它指向别的地方。我们把 const 和新的位置 换一下,效果就完全不同了。 r 向右看没有东西,回到左边看到 const, 所以 r 是个 const, 再向左看到星,所以 r 是个 const。 指针指向了 int, 意味着 r 的值本身不能改变,你不能给 r 复值,但是 int 没有 const 的修饰,所以星 r 是可以改变的。

大家好,我是黑猫,本节我们来讲一下函数。函数呢就是一种面相过程的变成思想, 一个私家家的程序,他不论大小,他都是由一个或者是多个函数来组成的,其中呢我们最常见的就是闷函数,我们也叫他主函数,那这个闷函数的特点呢是不需要调用,他呢会自动的直接从闷函数进行启动程序。 那么其他的函数呢,他都会包括两个部分,一个是定义函数的部分,然后呢一个是调用函数的部分,定义函数呢就是定义了一个工具包,那这个呢是函数的返回值, 就是这个函数呢,加工完一些数据之后,他可以返回一个值,如果没有返为值的话呢,这里呢可以使用 y 的,然后呢是函数名,和变量命名规则是一样的,然后呢里面呢可以传递一下参数列表,这里呢 可以用逗号分隔开很多个参数,然后呢中间是函数体,那这里的反位值呢是什么类型?那锐特的这个反位值呢就是什么类型,然后呢调用函数的时候就是函数名,然后呢传递上这个相应的参数。函数的主要作用呢有两个,一个是代码的重用, 因为我们把这个工具包呢给他定义好之后,我们呢可以将一个大的问题划分成很多个小的问题模块,然后呢分布解决,那这个呢也就是所谓的面相过程的变成思想。 那我这里呢就来写一个函数,这个函数呢没有反为值,我们呢自定义一个打印的函数,然后呢这里面呢是函数题,然后呢这里呢我输出一些内容, 那这个程序呢我复制一下,那接下来呢在这个闷函数里面, 我们呢只需要调用一下普瑞特,这个呢就是我们自定义的一个打印函数,然后呢他呢就会去找到这个普瑞特,然后执行里面的内容, 那这个程序的执行过程是什么样子呢?我们的程序呢都是从闷寒术开始的,然后呢直到他执行到了这个 print 的时候, 那这个编译器呢,他发现他是一个函数,就会呢往上面去找,然后找到呢这里呢有个不认得,然后呢把这里面的代码呢给他执行一下,那这个呢是一个最简单的一个函数, 然后呢这个结果呢就是打印出两个 hellokit, 然后呢接下来呢我们再来一起函数带反为值的,那我这个反为值呢就使用 int, 然后呢这里呢使用的是函数名叫 gettyw, 起个名字。 然后呢这里面呢这个反围值将用到 return, 那如果没有反围值的话,其实呢它是相当于在这里默认加了一个 return, 只是呢什么都没有返回,那这个呢加和不加都是一样的, 然后呢我们这里开始返回直,我这里呢返回的是七八九, 然后呢下面呢我就来调用一下这个函数,我可以直接输出这个 get y 柳, 然后呢这个结果呢就是七八九。但是呢很多时候呢 我们并不是随意的来反复函数的,我们呢会往里面传贴参数,然后呢根据这些参数进行的运算,然后呢才会返回相应的结果,因此呢下面呢我们就来看一下参数。 然后呢这里呢我们还要注意一点的是这个蕊藤呢,一旦执行的时候,整个函数就终止了,他不管在哪里执行的时候,这个函数呢他都会终止。 比如说我们之前呢,在写程序的时候啊,很多时候呢,我们想终止闷函数的时候呢,直接写一下水探灵,然后呢上面呢他可能某个位置我们写了水探灵,比如说放循环当中,满足了某些条件,他就水腾了,然后呢那后面呢这些代码就都不会执行了, 那我在这里面呢再来写一些程序,比如说我需要这里呢写上我不会执行。 然后呢我们再来运行一下, 这里呢发现呢并没有执行啊,因为呢这里呢是锐腾了,锐腾完之后,后面的程序呢都没有机会去运行了。 然后呢我们再来返回一个值,这个呢我写一个爱的叫加法函数,然后呢传递两个参数,都是 inter 类型 a 和 b, 然后呢这个韩式的内容呢比较简单,我就直接返回 a 和 b 的盒就可以了。然后呢接下来我们想调用艾特的时候,我们可以声明一下这个变量,比如说叫 red, 就是反为之,他呢来接收一下这个艾特,然后往里面传两个数字, 然后呢我们再来输出一下这个反位值, 那这个结果呢就是三。那么这个函数呢,这个参数在定义的时候,这个呢叫形式参数,他只是占个位置,那这里呢如果是 c, 这里是 d 的话,这里嘴疼的就是 c 加 d, 所以说呢,他们这个命名是没有影响的。 然后呢下面这里传递的他是实际的参数,也叫做食餐。然后呢当这个一给到了这个 a 的时候,然后呢 a 再去进行运算的话,他和外面的这个数值呢是没有这个影响的。然后呢这里呢我再来举一个例子,那这个呢叫做赛特外流,叫设置值, 设置值的话呢这里呢我传递一个参数叫 x, 然后呢接下来呢把 x 呢给它复制为十,然后呢输出一下这个 x, 然后呢我们下面呢再来调用一下。这里呢我声明一下,变量 x 给它复制为五, 然后呢调用一下这个赛特歪柳,然后呢把这个 x 传进去,那其实呢这个 x 呢他就是五, 然后呢当把五传到这个 s 的时候,把这个食材传给行餐的时候,那这里的 x 复制为食,对外面这个五呢是没有影响的。然后呢之后呢我们还会去详细的讲解这个函数的这个局部变量, 全局变量,那这里呢我们只需要来了解一下这样一条规律就可以了。然后呢我们再来输出一下 x, 那他的值呢其实还是五,他并不会进行改变, 就是说函数呢调入了一下赛特歪柳,那他并不会把这个函数的值呢做出改变, 所以呢 x 的值呢最终他还是五。 然后呢这个函数呢由我们自己写的函数,还有系统呢自带的函数,然后呢还有像这种特殊的闷函数。 那么接下来呢我们就来做一道题目,叫曼哈顿距离,那这个题呢其实我们不使用函数呢,他也是可以的。然后呢粘 贴一下这个模板,那么什么是曼哈顿距离呢?就是平面直角坐标器当中有个 x 一 y 一,这是一个点,然后呢还有一个 s 二, y 二,这是一个点,然后呢他们真的距离啊,就是 x 一减 s 二的绝对值,加上 y 一减 y 二的绝对值,那这个呢就是曼哈顿距离。 然后呢我们编程呢输入两个点的坐标,然后呢输出这个曼哈顿距离,那这里呢发现是需要取这个绝对值,那取绝对值呢就是 abs 函数,那这个就是系统当中自带的。 然后呢我们呢需要英可落地下 c 麦子就可以来调用了,然后呢这个数据的范围呢都是这个一百以内的,所以呢我们使用这个 inter 类型就可以了, 然后呢这里呢需要英可路对一下, 然后呢这个程序呢就已经通过了。然后呢我 我们再来看下一道题目,三角形的面积,那这个三角形的面积呢,就需要我们使用到这个海伦公式了,但是在之前的题目当中,我们做过一道这样的题目,然而呢这个三角形的面积呢,他给的并不是三个并的长度, 他给的呢是三个点的坐标,所以呢我们先要计算一下这三条边的长度, 那三角形面积的这个公式我就来写个函数,然后呢他有个反围值,他反围值呢是一个 double 的类型。我们来看一下啊,虽然呢我们给的坐标呢是整数,但是呢最后呢这个面积他却是一个小数,然后呢保留到小数点后面两位, 所以说呢这个呢就是求面积的一个公式,然后呢这里呢这个面积我就用大写的 s, 然后呢三条边的长度,那分别是 double 类型的 a, w 类型的 b, 然后呢 double 类型的 c, 这就是三条边的长度, 然后呢我们再来计算一下这个 pp 的值呢是 a 加 b 加 c 除二, 然后呢这里呢我给他乘上一个一点零,然后呢再让他除二, 然后呢最终呢返回三角形的面积,三角形的面积呢就是开根号 sqrt, 然后呢接下来呢就是 p, 他乘上这个 p 减 a, 然后呢乘上 p 减 b, 然后呢乘上 p 减 c, 然后呢下面呢我们就来计算三条边的长度就可以了, 然后呢这个呢是三个点的这个坐标,然后呢接下来呢是 abc 三条边的长度, 那么 a 的值, 那就是开根号 a 这样一条边,然后呢我们任意的找两个点,那我这里呢就用 x 一 x 二,然后呢还有 y 一和 y 二,那就是第一个点和第二个点 x 一减去 x 二的平方,然后呢就乘上 x 一减去 x 二, 那我这里呢就不空格了,因为这个柿子呢确实比较长,然后呢再加上万一减万二的平方, 然后呢接下来呢就是 b 和 c, 那么 b 呢就是 x 一和 f 三,然后呢 y 一和 y 三, 然后呢接下来呢是 x 二和 s 三, 然后呢接下来呢是 y 二和 y 三, 那三条边呢,我们既然已经求出来了,然后呢最后呢我们只要输出下结果就可以了,我们呢直接吊用一下这个三角形的面积这样一个公式,那这个公式呢,我们就把它封装成一个函, 所以呢函数呢这个功能呢,他也有一个叫做代码的封装啊,就是呢使用者并不需要知道这个代码的细节,或者说使用者呢他并不需要知道三角形的这个面具公式怎么样子,他只需要知道呢有这样一个函数,只要把三条边 这个长度传进去,他就会返回这样一个结果, 那小数点后面呢是两位, 然后呢调用一下 s, 然后传进去 abc, 然后呢然后呢这里呢我们把这个 c 呢写成了 a, 我们再来运行一下, 然后呢这里呢他的坐标呢都是整数的,我这里呢在定义的时候就直接使用这个 double 给他定义了,所以呢这里呢我这里呢其实不乘上一点零他也是正确的。 然后呢下一个题呢叫做统计润年,那么怎么判断润年呢?之前我们已经学习过了, 然后呢这里呢是给我们两个年份,然后呢输出这里面所有的论年数,那我们只需要呢从 x, 然后呢便利一直便利到 y, 然后呢如果他是润年的话呢我们累加气呢加加就可以了。那这里呢我们就可以把判断润年封装成一个函数,那这个呢就是一个分解这个问题的一个思想,把一个大的问题呢分解成先判断润年,然后呢再 去便利塑造年份,那如果试润年的话,我们就直接累加就可以了。 然后呢我们这里写个函数反为指的是 boring 类型,就是是不是问题, 然后呢依次立,然后呢我们把这个年份给他传进去,那这里呢传的参数就是一个整数,然后呢是叶, 然后呢接下来就开始判断,那么润年就是这个叶他余上四应该是等于零的,然后呢并且这个叶他余上一百,他是不等于零的, 然后呢或者也就是前面这两个他是一组的,然后呢后面是一组的,并且呢这个优先级他呢是高于他的,就是雨呢是大于和的,所以呢他们是不用加括号的,他们自然啊会先进行的运算,然后这个结果呢和,这个和的后面 或后面呢就是叶,然后呢鱼上这个四瓣, 他呢是等于两个,那么如果这样的话呢,我们就来返回一个值,那这就是试润你这水吞处,那如果不是的话,我们就直接水吞一下这个 fars 就不是你, 然后呢接下来呢输入一下 x 和 y, 就是从 x 到 y, 然后呢结果 offer 这是个记住器, 就从零开始,然后呢接下来呢读入一下 x 和 y, 然后呢开始循环,便利每举一下从 x 到 y 之间做的年份,哎呢是从 x 开始,然后呢小于等于 y 的, 然后呢接下来判断,如果 is lip, 如果是润年,如果这个 i 是润年的话,那我们这个 offer 就开始加加,最后呢我们输出一下这个 offer, 那这个程序呢也已经通过了。然后呢下面呢我们再来看一道题目,打印字符三角形,那这个呢,我们也是来锻炼一下这个函数的定义和调用, 那这个题目呢,也是非常简单的,比如说三乘三的这样一个直角三角形,这是等腰直角三角形,然后呢字符是 a, 那其实呢,我们不用循环也是可以的。然后呢这个题目呢,就是为了让我们练习一下循环,把这个函数呢都定义好了,传进去呢,这个边场就是 n 乘 n 的,然后呢还有这个字符也得传进来了,那这里呢,我们也来写一下, 这个函数呢是没有反位值的,然后呢我们就做定一个打印的函数 啊,然后呢传的是啊这个恩行恩列,然后呢字符, 我们这个 n 呢是一的时候,他就打印 一个 a, 如果这个 n 呢是二,也就是这个二的话就是第二行打印两个 a, 第三行呢就打印三个 a, 它市级呢我们就打印几个 a 就可以了, 然后呢这里呢就直接输出,输出完之后呢我们要注意换个行,换行的话呢可以直接使用铺子就可以换行, 然后呢接下来呢声明一下变量 n, 然后呢还有这样一个速度, 那这个嗯呢和我们这个参数是完全没有任何关系的,如果呢大家呢怕出现奇 的话,可以把这个名字呢改一下,然后呢我们有多少行要美举一下,那这个 a 呢就是从一开始 a 呢它是小于到原本, 然后呢就开始调用一下这个 print, 我们是第几行呢?就把这个 ida 给它传进去,然后呢字符就是 ch, 然后呢提交一下, 然后呢我们再来看下一道题,叫做竖的分离,这是我们本节的最后一个题,那这个题呢就是 给了我们一个数字,然后呢他在浪浪范围,然后呢接下来呢他是从右边的第三个,那就是八,那这个题呢其实简单一点的话呢,我们通过这个四幅串直接缩影一下就可以了, 那我们这里呢还是啊通过这种比较原始的这种整数的这种分离来计算, 然后呢接下来这是返回值,然后呢 dj 的这个呢就按照题目的要求来写了,就用 dj 的,然后呢这个数据范围呢是浪浪,那我们就定义一下这个浪浪, 然后呢第 k 位, 那我们要返回的值呢?我这里呢给他定义为这个 red 叫返回值,然后呢放循环便利一下。哎,从一开始因为是 k 位,那就 小于等于 k, 然后呢我们要拿到这个最后一个数, 那就是恩于十,这就是最后一个。然后呢接下来呢?恩除等于十,然后呢这个余数呢,他又放到 read 里面去了,那 dk 四呢曲他也会放到这个 red 里,然后呢 k 四呢就已经结束了, 结束的话呢,我们就直接返回一下 read 就可以了。那这个呢也是一个大的问题呢,把它给分解掉,分解成一些小的问题, 然后呢输入 n 和这个 k, 然后呢直接吊用一下这个 dj 就可以了。

好,那么同学们啊,今天的话呢,我们就是给大家呢开个头,呃,我们接下去的课程的话,主要是学这个叫做 qtqt 啊,那么 qt 的话呢,我也给大家简单的介绍一下,有同学可能是没有了解啊,那么,呃,我们要知道 qt 它是一门语言吗? 回答一下算是吗?不是啊,不是不是啊,答案不是啊,为什么呢?因为他只是一个,只是一个酷, 只是一个酷而已啊,那么这个酷是什么呢?这是一个封装的 c 啊,加加的的酷啊,那么实际上也可以说是封装的酷的话,我们一般来说都可以说成好像 一个框架一样的框架,一样的框架啊, qt 框架对吧?啊,那么类似的啊,类似的风装 c 家家的裤还有什么呢?还有啊, mfc, mfc 啊,这也是封装 c 家家的库,那么这个库的话呢,是微软的啊,这个是这个是微软的,微软封装的,微软公司,大家都知道的,对吧?那么这个库呢话呢是呃 q t 的这个库的话呢,他是谁谁呢? 呃,原来是诺基亚的,我记得啊啊,后面是被收购了,我们来看一下啊, qt 原来是谁?什么啊?看到没有,他就是叫做应用程序框架对不对?首先定位就是个框, 讲并不是语言是吧,现在像拍摄的话呢,我们刚刚提到的就是啊,他其实呢,呃,也只是一个脚本解释程序而已 啊,那么我们这个写拍摄的人,因为觉得他好用吗,然后写了很多东西,所以习惯性叫做拍摄语言啊,那本质上也是一个教本解释程序,那么一般来说,我们一些这些语言的话呢,都是具有这种编意性啊,编意编意成什么的,一般来说这个要更加大一点的啊。 嗯,那么现在的话呢,我们其实很多交会程序也是非常强大的定做的,那么这个最早的是哪个公司的?看到 啊,诺基亚吧啊,被诺基亚公司收购的,哈哈。那再早一点是什么?没写啊,已经他的历史 他历史再看一下,看一下他的第一届呢,这是某某,估计是一个组织一样的东西啊,来开发的 qt 有个公司之前成立了,然后呢后面是一个基金会啊,哒哒哒。 一开始的时候估计是是像一个小小小团体啊,对吧,就像你们现在这个小团体啊,以后有可能会发明某一种语言,哈哈哈。啊,那么我们来看到啊, 呃,研发公司是属于 qt company 啊,原来的,那么后面是被诺基亚公司收购的,也就说后面的话呢,我们诺基亚手机我们早期的那块摔不坏的那一款啊,很强的对不对啊,怎么摔也摔不坏的砖头,那么 这样里面就有这个 qt 的这个框架啊,啊,对吧,因为被他收购嘛,那他肯定多多少少是要去使用的对不对?好,那么 呃首先我们定定位啊,这个地方是 q t 公司啊, q t。 康复内对吧?公司康康内啊康复内。那么这个 q t 我们要来有什么用 啊?有什么用?笔记做好自己,就这只大老一样的。这个听着啊,大老爷们的啊,这个有什么用呢?他本身有什么用呢? 他本身的话呢?呃,其实就是因为他是个酷吗?对不对?既然是个酷的话就是封装了好多好多的函数啊,那么就是方便使用而已,对吧?就方便方便使用这个 c 佳佳啊, c 佳佳,那么他更大的 还有提供的一个好处,就是啊,帮助我们干什么呢?进行可视化开发,可视化开发,那什么意思啊?我们可以利用这个工具叫做 q t crate 来进行可视化开发。 q t crate 啊,进行可视化开发, 那么这个叫做 qt 啊, c r e a t o r 啊, 用它来进行可视化开发,我们就相当于就很简单了,感觉好像未必这拖一拖空间就可以了,对吧?啊,那么呃,实际上的话呢, 可视化开发只是一个辅助工具而已啊,这个仅仅只是一个辅助工具,我们要知道的是辅助工具啊,辅助工具,那么我们本质上是什么呢?本 之上啊,还是什么呢?调用这个 qt 的库来生成界面,也就是我们可以完全存代码去写我们的这个,哎,一个写出界面来啊,然后呢就写出一些各种各样的空间,就像我们的 htmp 一样, 对不对? gs 一样,这个就是类似于这样的啊,纯代码界面可以去写啊,那么本质上就是用这个酷控件啊,酷的控件, 那么我们 qt 的话呢,我们首先啊,完成之后,我们先来看一下他到底是怎么样的,我这个地方是安装好了一个 qt, 那么后面的话呢,我要教大家 跟大家讲一下这个地方啊,如何自己要去,回去之后在自己家里的电脑上面安装好啊,那么我们默认打开好啊,安装好之后 的话呢,我们其实是这个地方,他会提供这一个可视化的一个开发工具啊,可视化开发工具,你大的那个包里面是有的, 那么呃,也有一些安装好之后,就是也有些没有包含这个安装工具的一个包,比如说你安装的时候没有包含,对吧?没有包含,那么这个没有包含,就像我们的这个拍损当中,呃,没有这个,没有这个包,没有这个包啊,一开始没有,那么后面的话呢,你要去添加一个叫做 q t d 三个, 那么这个东西就叫做 qt 点赞用,那也就是说我们的拍审这个语言当中,对吧?他有一个叫做呃, py qt 五 啊,这一块的话呢,他其实就调用的是 qt, 第三个就是调用的是这样的一个界面,调用的是这样的一个程序啊,然后我们就可以 相当于直接在这个程序上开发完,开发完成之后呢,我们拍摄有一个转换啊,有一个转换可以把这个 qt 的这个代码转化成拍摄的这个代码好了,那就可以直接 就可以直接用了,拍摄里面就可以直接用了,也就说你这一块是跟拍摄也是通的,哎,也是通的啊,可以直接转换。大家没有看过我的呃 q t 五的一个高级教程,对吧?啊?在我的拍摄高级应用教程当中专门讲到 q t 五的开发啊,其实就是针对这一块 啊,那么呃这个里面的话呢,我们看到是有有工程,对吧?大家可以看简单看一下我这一块之前开发的一个电池电压的一个项目啊,看看这个地方还能链接过去啊,那么这个地方的话呢,打开之后 啊,我们看到的是有分成这几块,那么 c c 语言对吧?或者 c 加加语言,这里面默认。其实我们在我们这个是使用 q t 的这个软件啊,其实还有一款软件叫做,呃, vs 软件, vs 这个地方我没有装好啊,用 vs 啊,我们现在维修斯的六啊,维修斯的六并不是 vvs 扣的。不一样的啊, 维修斯六六这款软件当中我们可以开发 c 家家,对不对啊?是那是微软开发的啊,那这个就是,呃,现在我们可以说是我记得比较牢的就是诺基亚,对吧?哈哈哈,那么我反正现在是属于,那因为被他收购的肯定是属于归他所有, 对吧?那么他这个地方我们每新建一个 c 家家的程序的时候,他就会出现这三块啊,一块叫做 head 头部,头部头文件, 也就是啊,嗯,头文键,这个头文键里面一般包含什么呢?包含很多我们函数的名称,就像声明,也就说我们所有 c 家家语言当中啊,我们,呃,我们或者 c 语言当中我们在使用的时候, 我们需要将我们自己写的一个函数,比如说我们现在 gs 当中,之前还是飞机大战的时候,直接翻过去一个函数的名称,对吧?好了后下面定义好,我们就直接可以调用了,对不对?但是在这个 c 元 c 家教当中,我们就必须还要将我们的这个函数名称 加他的括号这些参数啊,后面最后以分号的形式结尾啊,我们就函数体没有啊,这样的一个整个整个名称在哪个位置声明呢?在最上方啊,在最上方声明,最上方声明文件的 最上方声明,如果说你没有声明的话,就意味着他还是无法去调用啊,因为他是代码从上到下开始读的,除非你把这个函数写到这上最上方定义所有的函数翻过去定义写到最上方,那你就可以去调用 啊,这个就是很大的区别,这个也是由于,呃,很多人就是少少使用这个习家家的语言这种来去,比如说是做某一个应用程序,对吧?就是因为很多东西啊,你会发现他比较麻烦 啊,但是 q t 的话呢,已经减少了很多麻烦了,因为已经封装了很多 c 家家的这些代码,对吧?你如果纯使用这些的话呢?就像我刚刚这种模式,我刚刚跟大家所说的这种模式啊啊就比较麻烦,对吧?那么 q t 的话呢,就可以很大程度上我们解决了这样的一个问题,但是呢还 是要存在文件包含性的一个问题啊,要包含,那么这个呢是所谓的头文件,所有的头文件,所有的头文件记录下来他都是以点 h 作为扩展名 啊, head, 对吧? head。 那么,呃,这个上面有一些很多预定一的这些程序啊,这个 qt 里面已经给你预定一好了。那纯西家家语言你去写的话呢?是没有的, 全部你自己去写啊,当然这些东西都是我后面后面自己补上去的,对吧?很多东西都是自己补上去的,创建完成之后这些东西都要自己补上去。我们看看这个程序长得怎么样啊?呃,我开发的一个一个一个电池电压的一个程序啊, ok, 应该是能够跑起来的。 然后就是这样的一个界面,大家看到我这里其实界面是没有的,我是纯代码开发的啊,没有的,对吧?这里直接是 c 家家 cpp 这个语言,对吧? 没有的啊,就是直接是属于呃纯代码开发的,呃这样的一个程序,对吧?大概大概是也差不太多嘛,下危机什么的,什么个意思啊?也相当于你监听端口,什么个意思呢?我开启一个监听的话呢,我就可以获取远程的这个数据了,比如说我去获取真真家具的这种数据, 对吧?监听端口一打开他所有的数据都就就过来了啊,那我这个地方呢是获取什么呢?获取获取这个呃电池电压的这种数据啊, 等等啊,那么这个地方什么采样器啊什么的,同样的我们可以做一些右键启动啊什么的,对吧?等等的啊,比如说也能够做一些很好的这种数据啊,这种数据的模拟, 对吧?这种数据的模拟,那这些图的话呢,要求同学们都是要自己能够会去写的啊,模拟图,对吧?我们比如说我们 实时的将我们的这个光照,光照这个情况获取过来,这个数据我们要能够给他生成这种图形,包括这种图形的话呢,我们也是能够在我们的网页当中也是能够去做的啊, canvas 啊,我们就可以去做,对吧?画图啊,画图工具, 那么呃我们这这其实就是一种比较简简单的简单的一个啊, q t 的一个程序一个界面,对吧?那么这个我现在装的这个版本呢叫做什么? windows 版本,对吧?因为这个 q t 的话呢,它是有一个特性啊,它这个 好处呢,他这就是跨平台的啊,跨平台的,跨平台的,他是跨平台的,那么就 就意味着我们这有有这个什么温德斯版本,对吧?那也有这个,呃呃,六六个四版本啊,六六个四版本,那么我们到时候呢?在我们的这个开发环境上,环境上面啊,比如说我们要开发这个 相关的下位机,去获取我们的这些智能家居数据的,那么这个时候我们是在 obantu oubantu ubandu 这个 linux 服务器上面啊,我们这个地方,比如说我们举例就是一个乌班图 uberantuuubuntu two 是怎么写的 啊?忘记了,哈哈哈哈,乌斑图写中文吧啊?翻译一下就是乌斑图 乌邦图吗?乌斑图吧,乌邦图啊,那我这样吧,查一下吧,乌邦图 我帮 too 啊 t u 吧,应该就是应该写的是对的啊, 般啊,你看就这个对吧?就这个啊,我记忆还是不错的啊。啊,那么这一款呢,也是属于零六克斯开,就是相当于是一个像一个型号一样的,对吧? 那么我们,我们也就是说我们要学会啊,这个不班图的这个零点服务器的一个基本使用,比如说我们如何去复制文件,如何打开目录,如何在上面去编辑 啊,那么呃,与此同时我们学会在这上面如何呃共享文件对吧?共享服务器怎么去搭建 ftp, 你比如说你,你怎么去给他开启,那这些都是基本操作,所以说我说上次,呃,有有 有其他老师在上课的时候,大家可以旁听一下,大家都会学会了,对吧?下次我就不需要讲啊,其实我也我也当然要给大家去讲这些东西,这些都是基础啊,对于我们这里来说应该是基础的基础啊,我们更重要的是做代码的一个开发,对吧?啊?所以我们这个边,我们这个地方的话难度是比较大的啊,具体的一些东西在做的时候, 大家要要花比别人努力十倍的时间去完成,才能够成长的更快啊。那么 无斑图还是无帮图啊?中文反而到错了,哈哈,不不写了,我们就这样吧,那么也就是说到时候的话呢,是在这个地方地方啊,两个平台我们使用的时候在这个平台 平台上面使用,那么这个平台我们上面使用的时候的话呢,我们把这个平台是装在虚拟机上面啊,装在虚拟机上面直接去使用的,那么我这个地方当然 我们也可以直接装在 windows 上面。呃,如果说我们自己家里面的话呢,我们可以直接装在 windows 上面,当然啊,就是说我们同学们也可以直接拷贝一下我们给出来的这个资源啊,一个叙利级文件,然后呢直接装到叙利级,然后叙利文件宰出来就可以了,就直接装好了,都不需要去装了,一共大概有十来个 g 啊, 十来个 g, 那么这个其实这个也也不小啊,你要单独去装这个装这个东西的话也不小啊。啊,你看到啊,好像也有,也有很多很多个 g 啊, qt, 那个这个 qt 文件夹就是我我我装的,装在这个地方,对吧?你看看有多大,有好大,因为这里面的话,我我这个地方我我宰了好多的,他的一些空间支持库等等,对吧?所以他这个地方其实也很大,估计也有个十来个鸡了,所以还是比较大的,大家要准备 大概可能二十个 g 啊。二十个 g 要有,对吧?就比较大本身其实他就比较大啊。 啊不不宰了啊,反正就一直会加吧,大概大概加到十来个 g 吧,印象当中是这样的。那么呃这个地方下载我们该怎么去下?他是一个开源的,当然是免费的,对不对?我们可以直接去下载啊,我们直接搜索一下就可以了啊。呃这个叫做 呃叫做 q t 呃就直接 q t 就 q t。 好像是有个档文件呃这个这个官网你进去是找不到的。 呃到这里啊这个是一个文档到这个啊这个这个这个看到没有?有个档 点 qt 点 io 这里面去找到相应的这些 qt 的版本,然后呢直接就可以下载啊,他是他是开原的嘛对吧?啊直接可以下载各种版本啊,很多版本那包括跟我们训练机同样的这种版本啊。都有啊,我们就下载最新版本就可以了 啊那这里面呢?这个地方这是 windows 上面的啊那我们这不止 windows 上面啊,这有很多的,你可以点赞点进去啊 啊然后呢我们这个地方有个这个新新新狗叫单独的一个程序,你看这个是那那个是上面的对不对?这个是 l v 啊啊 v 的上面的啊。那么你这个地方感觉好像不大啊,只有一个机左右, 一个级左右吗?啊可能可能还只有四百可能这个文件可能还不一定全啊。我们来看一下我这个地方呃我这插件还脏了很多对吧?这是我这地方是我寻思四点八版本的, 我们欧巴看一下啊,五点一二,对,我这里装的是大概是这个版本五点一二的 q t, 五点一二,四点八,对吧?我们来看一下啊,也就说,呃,在之前的时候我们看看我这个四点八大概是有多大 啊?那么比较慢,大家呢?进去之后我记得,呃,我我们这个地方啊,就是说我我 之前是有个 exe 程序的啊,他现在可能最新的这个版本又更新过了,又不一样了啊,那么基本上我们能装上的话,能直接能用就可以了啊, 那下载的位置就是从这个位置那不同的版本他不一样的,大家可以进去之后呢自己去看一下,那这里面我们具体就不多讲,好吧。啊,不多讲,那么我们下载应该会了,对吧?要找到的是这个记一下啊,档点 qt, 点 io, 直接把这个记下来就可以了,我把它它复制一下, 这个就是下载的一个跟目录下载 下载,呃,可以用最新版啊,也可以就是用我的这个版本,我的这个版本我感觉用的还好啊,有,当然最新版不一定是最好的,对吧? 就不一定是最好的,呃,我们要知道的是啊,温特斯上面我们现在写的这个版本啊,就是说我们,呃是无法移植到我们这个虚拟剂上面的啊,会有各种问题的 啊,会有很多很多的问题的,那么也就是说,呃,我们也可以直接拷贝一下我们学校我们这个地方给大家提供的这个虚拟机里面这个版本啊,那这样的话呢,对大家来说安装上面就没有什么难度 啊,那虚拟机我们这个地方就使用 vmvr 都知道吧? vmv 啊,这个虚拟机下载一下就可以了啊。呃,这这 vmv 公司的虚拟很多的,对吧?那这这这个呢? 对吧?这下载地址都有了,对吧?啊?直接安装就可以了啊?啊?破解版本都是啊,当然如果说同学们以后想要投入生产的话呢,还是要使用正规版, 对吧?啊?那么我们来看到啊,看到这个地方,呃, 现在我们下载完成之后,我们比如说该如何去新建一个项目,对吧?我们来完成第一个项目, ok, 我给大家演示一下啊,打开 好了之后的话,我们就会出现这样装完之后会出现这样的一个 qt 的图标,我们装如果是 windows 版本的话,对吧?当然所有的开发的思维思路是一样的,主要的代码是一样的,当我们进行移植的时候可能会进行小小的更改,有有一些个别的代码要进行更改 啊,但是不能,呃,不能就是说完全不更改的情况下就马上能用,这是没有的啊,而且各个版本啊,他所支持的这些库 一些一些代码会有点不同啊,就像我们现在我这个地方是使用 qt 五,对吧?我们呃另外一个环境使用的是 qt 四啊,这两个代码啊,我们在比如说开启骚 t 的这种用法的时候是完全不同的 啊,是完全不同的,当然你在我们这个位置可以去采用 qt 五,里面他是兼容 qt 四的, 我们可以采用 qt 四的写法去写,但是你我们我们在我们我们这个现在因为是属于 qt 五的,也比较标新了, 我们不是看到五点几这个版本吗?对吧?这就是 q t 五的核心,就是 q t 五的,那么这个 q t 五我们上面的写的这个代码,呃,我们像一些语法逻辑,那移植过去的时候,那就会出现问题,那这些代码我们只有进行修改才可以啊。所以我们一般来说开发之前 这样选择好,到底是选择 qt 五还是选择 qt 四啊?那么,呃,很多比赛的时候的话呢,基本上是用 qt 四比较多啊,那么日常的开发的话呢,用 kt 五比较多啊。 好,我们来看一下新建一个工程啊,新建一个工程,比如说我们新建一个 new project, 对吧? new project 一个工程,那么最简单的话呢,反正就是新建一个 opla k 旬,我们如果说下载这个版本的话, opla k 旬就可以了。创建一个 q t 的一个桌面类型的一个版本,那么这个是属于什么呢?这个是康索 康守,康守的话是像像命令行一样的命令提示服一样的这种,对吧?哎,就你运行出来到底是一个什么样的一个东西嘛?哎,这个这个威胁词的话,就是实际上就是各种各样的桌面端的一个主见啊。我们也同样可以用 q 来,比如说写很多的什么类,类似于贪吃蛇啊,游戏也可以能够写啊,那无非就是组建的一个组建怎么去使用嘛?空间怎么去使用嘛?就像下一次我,我跟你说,你能不能用这个网页,用 js 去开发一个贪吃蛇, 那是不是也是控制这个 div 而已啊? div 是不是空间这个地方,我们 kt 是不是也是空间控制其中的?比如说一个 labo 空间, 对不对?雷宝空间就像我们威逼一样去控制一个雷宝空间,同样的道理啊,同样的道理啊,那么这个地方我们新建的时候呢?微句词我们这个地方一个理解啊,微句词其实就是窗体, 其实就是一个窗体啊,我们理解就是理解成一个窗体啊,那么这个地方我们 oplacation 的话呢,就是新建的,是那么多,对吧?呃,然后这个地方利用他的这个 工具的话,其实我们还可以,好像可以用拍摄,也可以变形,那这个地方的话我使用的是 c, 我们这里面好像只有是 c 加加啊,但是我们这款工具的话,好像使用的是好像直接可以使用拍摄变形啊,对,他也支持的啊,也支持的 哦,我们那么这个地方下面有很多,这些地方基本上是没有用的到啊,这个地方有个 get, 大家可以呃呃,客户去了解一下啊,我们可以把我们自己的一些项目开源到网上的这个 get 平台上面,对吧?那这种 大家可以自己私下里去学一下。那如果有必要的话呢,以以后我也给大家去讲啊。那么像这些东西啊, no project 跟这些啊,这些这像,这个主要是属于团队化开发啊, suvs 啊,团队化开发或者版本控制这些东西,对吧?你也基本上不用看啊, 这个呢, nonqt project 这个地方是什么呢?就是建立单个文件的时候,对吧?建立单个文件的时候使用,那一般来说我们也不会在这里使用啊,很少使用在这个地方,当然也会后面有可能。那我们后面绝大多数在使用的时候会使用什么呢?会使用 一键一次,一次新建的时候他同时会新建三个文件,一个文件是属于 qt 界面文件,第二个文文件是属于 c 加加文件, cpp 的第三个文件是属于头文件 啊。一般来说我们在这个地方界面上开发的时候,我们就同时会新建三个文件,待会我会给大家马上演示出来啊。那么 大家看到我的这个项目,我的这个项目有几个文件?拜托人刚看到的时候看到一个 h 文件,还有看到一个 cpp 文件,最后一个是一个最 资源库啊,资源库就是我要调取的图片啊什么的啊,这个资源库是我们另外增加的,这个不算文件啊,所以就相当于是一个资源啊,资源库 资源的一个集合,那么我们在这里面的话,我们直接点击 nupro 加就可以了,对吧?打开新建,新建的话这些是属于设计的,对啊,设计的都都是属于单个的啊,那么我们想要集合的 全一点的,那么这个地方是属于开发一个酷的,对吧?这些一般来说我们在这个位置现在也不需要啊,我们只需要的是第一个 plak 群啊,当然我们 q t 四里面会有点不一样,大家新建的时候会有点不一样,但是大同小异啊,大同小异,我们这个地方讲的时候,以这个 q t 五的这个地方来讲啊。 呃,我们接下去的话呢,是打开这个窗口嘛,就相当于是我们创建一个项目应用程序, 这个应用程序是一个窗窗口的一个应用程序,对吧?我们不是在我们的这个嵌入式开发的那个有个 a 八那个像像手机一样,手机平板一样的那个东西吗?这上面是不是我们其实如果是创建的是这个应用程序类型的话呢?就意味着我们这上面可以看到我们的界面, 就像我刚刚的这个界面,我把它要是稍写到那个东西里面就看到的像刚刚我给他展示出来的这个界面一样的啊,展示出来的界面是一样的,那么,呃,如果说是这种康守的话,那就是一个黑屏了, 对不对?输出的一些日制黑屏的这种,这种吧,那一般来说我们可能输出这种展示型的这种界面会比较的多啊,就像我们把我们的 qq 刷写到这个平板里面去也是一样的,对吧?只不过这是相当于好像一个系统一样,刷进去之后我们打开之后就是他,那就就是个系统,对不对啊?就是个系统, 就是说就像我们不是那个平板,我们不是说过吗?我们把安卓的那个安装程序刷写进去,那他打开的就是一个安卓系统啊, 对不对?我们把我们的程序写完之后稍写进去,那打开的就是我们自己写的这个程序啊,这就是嵌入式的一个开放。好,接下去我们来,哎,下一步 啊,就就直接直接选择他去死,对吧?点击选择他,选择他之后我们接下去要创建一个什么呢?叫做项目文件啊,我们要选择创建好这个路径,这个地方还有个勾,有个勾,这个勾是什么?一个意思啊?就是说这个勾如果勾上,那么你下一次再创建 新的项目的时候,他就会默认显示你上一次创建的这个项目的路径啊,如果没勾上,那就反正就就不显示了,就是会显示成这种东西吧,对吧?那么我们这个勾起 其实这个地方也不用管他啊,不用,不用管,那么我们比如说 test 啊,就测试啊,我们的这样的一个程序啊, 好,接下去我们这个这个程序的路径,比如说我们把它创建到我们的桌面上啊,桌面上我们创建一个,桌面上我们新建一个啊,这个 ljy 吧啊, ljy 里面这个文件夹里面,我们待会会有一个 test 的这样的一个程序,对吧?项目文件啊,我们现在点击下一步, 那下一步的时候我们就这个地方,因为,呃,我们 q t 在安装的时候是这样的,我们这里面其实就像有一个呃,就像拍摄一样要安装它的解释器,对不对?那么 q t 的话呢,这个地方其实安装的是 q t 的,叫叫做变异器 啊,变异器,那么这个,嗯,变异器是什么呢?就叫做这个啊, mgy, 我们安装的是这个,当然变异器还有其 其他的啊,还有还有其他的,那么这个编辑器的话呢,其实就是 c 家家的编辑器一样的啊,其实就是把我们的 cpp 文件头文件这些东西组织起来,把它编辑成 什么点欧文件啊,等等啊,点欧或者这种啊,像这种这种编意过去的啊,是比较底层的 点或者点 so 或者这这种类似于这种文件啊,那么我们可以看一下啊,变异过去的这个其中的一个,比如说我这个地方,我这个项目不是已经变异过了吗?我这个项目现在是在呃,我们现在直接给他打开啊,打开一个给大家看一下,打开一个看一下,我变异过去的, 让他讲到了这个变异啊,那么变异的路径的话,我们要自己要指定,那比如说我们我这个地方默认会指定 一个路径啊,变异在这里啊,那么这个地方是一个第八个,第八个里面就是我们变异的这个程序,你看这些都是都是点 o 文件,对不对?点 o 的点 o 的啊,那这个点 cpp 里面是你看不到我们的原代码的,都是一些呃,无用的代码 啊,看到的,那么我们就是点欧的这个文件啊,基本上都是点欧的,像这种文件有什么好处啊? 我们知道我们现在很多的拍摄语言开发完成啊, c 语言开啊,是就是什么 c 下载语言加委员,这些开发完成的时候都会有对应的一个编意完成的一个文件,对不对?那些文件很多文件都是可以被反编译的,而且你就, 哎,如果说你没有做好正确的压加壳的话呢?你的原代码程序是很容易被别人通过逆向程序来盗取的啊,那么而我们的这个地方 用 c 语言啊,或者 c 家家语言开发出来的编意完成之后的这些程序是很难背 反反反向工程的,逆向工程的,而且逆向工程出来的这些代码基本上是属于乱码啊,基本上看不到的啊,基本上看不到的,而且因为他这个地方编一下去就比较底层了, 就比较底层了,很底层了啊,所以说,呃,这个,这个是一个好处,另外一个呢,就是我们使用这个 qt 来开发的,也就是他其实是一个 c 加加与对不对 c 加加的一个基础,所以说他的这个程序运行的效率应该来说是 目前我们可以说是最高的啊,非常非常高啊,非常非常高,那再运行再高一点,就是我们用汇编开发出来的,但一般来说不会有人用汇编去做一个这种程序的 啊,你这工作量实在实在太大了,实在是太大了啊,所以大到你无法想象,对吧?更加不会有人用意令去写这种程序,是不是啊?所以那么 基本上我们这种程序最为底层的就直接就是 c 原 c 家家来开发他,他的这个速度是非常非常快,包括我们各种服务器 啊,各种服务器开发的啊,都都是使用这个。那么我们现在,呃,即使这个 qq 啊, qq 的话呢,他绝大多数一开始的时候当然是使用 c 语言,对吧?后面的话呢,也融入了一些什么? c 下巴, c 加,呃,包括一些其他的 一些东西啊,都会融入起来,也也有融入进来,但是他还是绝大多数还是使用这个新家家园啊这种在开发,那么这样的话呢,他的运行成效率是非常相当的高啊, 是相当的高啊,那么我们现在的话呢,直接新建吧, 到这里新建啊,重新新建点一下,嗯,快的,那这里面我已经解释过了,对吧?创建工程啊, s test。 好,我们选择一下桌面上的这个 lgy 有这一块啊,那么这里面的话呢?好,这个地方这样就好了,选择好了这个文件夹,那么这个地方我们默认是勾选的,那么这这其实就是个编辑器啊,大家了解到一个就是一个编辑器啊, 默认就勾选了一个变异器。好,那么我们接下去进行下一步。那这个变异器的变异器完了之后呢,他有个变异的路径啊,比如说他这个地方有三个,三种模式,我们任何的一个,比如说我们的程序,一般来说呢,就是在开发的, 我们一般都会使用就是第八个模式啊,就相当于是他的那第八个模式的话呢,我们就是程序运行的效率相对来说要低一点啊,那么雷厉斯模式的话呢,要更高 啊,愿意投入生产的时候,我们一般来说是雷利斯模式啊,啊,那么这个就是像 pro profile, 就是项目一些文件,对吧?其他的一些文件,那么相当于是工程文件一样的,对不对 啊?那么这个地方的话呢,呃,我们就让他这两个都一起变异。好啊,反正都让他一起变异,都可以变异,那么这个路径变异的路径也可以去选 啊,路径也可以去选。那么这个边一的路径的话呢,我们这在 qt 五当中啊,跟 qt 四当中还是有一点不同啊,不同在哪里呢?不同在于,呃,他的这一个程序啊,不能放在呃,跟我们的原程序不能放在同一个目录下 啊,啊,不然的话他变异的时候会爆错啊。这个地方给大家要注意一下啊,不要放在圆程序的目录下啊,就可以可以放在跟圆程序的同级, 比如说我们待会这里有个 test, 就放到他的同级啊,当然他自动会生成一个同级的,只不过他的名称会比较长,比如的被被被被那个变异过的一个桌面应用程序,对吧?好,那么我们点击下一步,下一步之后我们这里面有三个选项,非常非常的重要,你要注意啊, 看到三个想象吗?看到了吧?那么这里面最底层的是哪一个窗口?就这个 q v, 这个是最为底层,就是一个窗口用程序,那么他是 最里最最底层的啊,最最底层的,那么他的上一层,他的在在后面几层,比如说这是一个呆了的,对不对?呆了的其实也是他的, 他要形成一个 dialog 之前,他首先必须是一个 wedges 啊, wedges, 那么同样的 q men window 也是一样的,想要有个 qmen window 之前还是要必须要有个 q vjx。 那么这两个的一个好处是什么呢?如果说我们 如果这三这三个是有区别的,你再记下来啊。如果说我们想要开发这个像我刚刚的这个地方,刚刚的这个东西一既要有上面的一个菜单导航条, 对吧?菜单栏又要有旁边的,比如说像一些浮动栏,浮动栏就像我们的一些开发工具旁边不是有一个刀刀, 这个叫做道口,道口就像一个浮动窗口一样,浮动窗口一样啊,我们开发工具上面一个是浮动窗口啊,那么,呃, 右岸有我们的这个窗体中心位置主窗体,就像我刚刚展示的不是有左侧的一个菜单,上侧的一个,左侧一个动卡,其实是一个动卡 列出来的浮动窗体,然后上面的话呢是一个菜单栏,对不对?然后呢?中间中间还不是有个位置吗?采集数据什么的,对不对啊?这样如果是这样的一个东西,那么我们开发的时候就使用 qq 门 window 啊,那么接下去的话呢,我们呃如果说是采用的是这个 q 带了的话呢,我们使用的是什么呢?他就是就像我们那个那个那个 a 八那个东西,那个上面我们在展示的时候其实是默认是没有这个叫做什么? 没有菜单上面的一体一个一个菜单选项的,是没有菜单选项的,那么也是呃,我们到时候的话呢,也是需要把界面给隐藏起来的,也就是这个带了个的话,我们其实没有放大缩小啊,他只有一个叉叉, 而我们这个坤妹妹的话呢,我们就像这种程序一样,可以有这个最大窗口,小窗口,对吧?像这种还有个叉叉,对吧?带了个我们就直接是一个叉叉 这个厂家啊,所以我们很多的在我们的这个我们大家注意啊,我们在开发那个天路市程序的时候呢,我们其实是一个个窗梯,然后呢我们其实只需要用一个带就可以了 啊,只需要一个这个这个叉叉就可以了,而且我们要把这个最外层的这个东西要给他隐藏起来,隐藏起来,因为我们稍写进去的时候不允许让他显示是显示叉叉什么的,对吧? 上线进去的时候还像一个窗体一样弹的内两,肯定是呈现内部的内容,对不对?呈现内部我们制作的内容啊,那么我们这个地方我们就使用这个最为基础的 q v 好,那么新建完成的时候我们会发现在这个新建窗体上面同时生成我刚刚所说的三个文件,第一个文件是点 h 是什么文件?哎?读出来头文件,第二个是什么? cpb 文件是叫做什么文件? 原文件 cpb 其实就是 c plus plus, c 加加,对吧?啊?那么 这个名称我们也可以自己来换过来,比如说我们,比如说第一个名称,我们假设第一个名称叫做后后母也可以,对吧?或者捞军登录 是不是也可以啊?啊?那么我们假设是登录啊?啊,那么这个地方勾选创建界面有什么不同呢?这个我们发现如果勾选的话,下面是不是给他按亮了?一勾选是不是就亮了?没有勾选的情况下,就像 只有原文件头和原文件这种形式界面,需要我们自己在我们的这个 cpb 里面去进行创建, 明白了吗?如果你勾选了,那么就意味着你这界面可以进行可视化开发,因为他这个地方你看到这个文件后面有个点 ui, 对吧?可以进行可视化开发啊,那么我们就可以拖空间,拖空间拖到哪里呢?就拖到这里, 就拖到了这里,明白了吧?就是这样拖到了这个界面上。好,那么我们接下去来看到下一步,下一步啊,下一步之后这个地方版本控 我们是没有用到,版本控制系统没有用到,所以默认就是 no, 如果用到的话就是创建一个,那么所谓的版本控制系统的话,就是相当于我们,呃,我们团队协作开发的时候使用啊。呃,比如说我,我今天我开发了一点零版本,对不对?下一个人我开发了一点一版本, 对吧?那么我下一次再开发的时候,是不是要从版本控制器上面把一点一版本下载下来,我在这最新的技术上面再去进行开发, 对吧?这就是所谓的版本控制啊。那么最后的话呢,他会生成这样的一个目录,下面会生成这些文件, cpp、 点 h、 点 ui, 比我刚刚要多了一个 点余爱,对不对?我刚刚是没有点余爱的啊,那么我们还有就是一个 pipro 啊,这个是个工程文件,就相当于我们未必 一样的啊,工程管理文件啊,那么同样的这个地方还有个 cpp 文件,就是一个原文件,对吧? fm 文件,对不对?只不过我们 vb 当中把那个 fm 跟那个 h 和这个这三个文件都集合在一起了, 这里面是分开的啊,在 c 家, c 家家里面我们开发是属于分开的啊。好,我们点击确定完成,完成之后他就会创建了这样的一个界面,对吧?啊?左侧就会开始创建,而且我们所有的 编码编完了,编完成之后,我们只有经过编意之后,他才能够呈现出新的程序来,如果不编意,他还是老的, 不变异,他还是老的,也就是我们 c 家呀。这种程序的话,开发完成之后,你想要让我们的应用程序更新到最新状态,就必须要将我们的元代码统统的给编一遍,编一遍,然后 就会新生成一个新的应用程序啊。那么我们来看一下这里面,接下去我们创建完成之后,界面上是那样的,在我们看一下文件夹里面,文件夹里面首先是一个项目文件夹,接着是接,接着就是项目文件夹里面的这些文件, 对吧?啊?这些文件那么同时会生成一个点 u 的文件啊,就当前的这个用户,那么这个点 u 的文件的话,往往就是在我们跨平台遗址的时候,我们把这个文件给他删掉啊,然后呢 在相同版本下面,我们跨平台移植的时候,他会自动生成一个新的这个文件啊,这个时候呢他就自动兼容了。所以很多很多相同版本的时候,跨平台移植的时候,我们就会采用这种形式啊,采用这种形式这个文件我们是可以删除的, 没有关系是可以删除的啊,那么我们接下去应该知道这几个文件都是用来干什么的了吧?笔记记好没有 啊?好,那么接下去我们来看一下啊,我们生成之后,这个地方他会默认给我们打开了这个 cpp 的文件,对不对?其实上面还有一个什么点啊?头文件,这个是一个工程文件,对吧?然后这个地方是一个 界面文件,这是一个界面文件,我们双击这个界面文件看一下,你看就是一个床体,对吧?我们可以比如说随便拖一个按钮上面啊,这个就是我的按钮双击进去,比如说是刘啊,刘金玉编程啊,很简单,对吧?啊?我们来看一下啊,那怎么样来浏览呢? 怎么样来浏览呢?直接点击这个就可以了,那么点击这个的时候呢,他同时会给你变异的,如果你单独点击这个程这个构建项目,那么就意味着他就是只是变异,并不运行。这个是一个调试嘛?大的嘛?有个 有个虫子吗?对不对?调试运行啊,那这个地方我们就是一个既编意用运行啊,我们现在编意将运行啊,点击他啊,那么这个是自动要教你保存一下啊,保存 co 啊,保存,那么这个时候呢,他就会看到你,会看到你这里面, 呃,那这个有个构建的一个进入条,对吧?进入条,那么这个时候边边一边输出,我们马上就输出了,你看这个程序就出来了, 你看是不是很简单,很简单啊,那么开发的时候稍微复杂了啊,第一个程序是很简单的啊,第一个程序是很简单的,当我们如果想要设计这个界面的话呢,我们这个地方,比如说想要更改一下他的这个,呃, 一些相关的,那这个这个是属于他的一个这个对象的名称啊。啊?对象的名称,比如说是不能改,比如说想要改他的一个,呃,抬头啊,比如说抬头,抬头就是 啊,假,比如说我们把它改成 q 啊, qq, 假设给他改成 qq 啊,那我们继续运行,他又要重新变异了啊?每次都要会重新变异的 啊,从一变异之后,第二次变异稍微快一点啊,第一次变异比较慢啊,然后这个地方是不是又改成 qq 啦?同样的,我们要知道啊,我们这个 q t 里面在使用的时候啊,所有的这些属性 能够修改的地方,我们都能够通过代码修改,这是不是跟未必是同样一个原理啊?哈,所以你只要有这个编程的思想,很多后面用的时候会发现有点类似,对不对 啊?会有点类似,只不过语言不同啊,那么我们来看一下啊,这个地方他有几种模式。 qq 的这个界面,首先是一个欢迎界面,我们就是新创建项目,对吧?然后这个地方编辑,编辑就是呈现项目 那些项目以及代码,项目以及代码,那这个这个 ui 文件其实是一个什么呢?就是一个参谋文件, 看到了吧?设置定义他的一些,呃,什么宽高啊什么的,对吧?那么设计界面呢?就是我们可视化开发啊,左侧就是一些空间, 对吧?那么这个第八个界面的话呢,就是我们在调试的时候,他会调到这里来啊,会调到这里来,那这个地方还有个叫做项目文件啊,项目文件的话,我们就是这个地方有管理,管理我们的一些很多的一些项目的一些环境啊 等等,这个地方有很多代码控制啊等等啊,呃,项目变异器啊,对吧?有很多啊,或者是你看这个地方,比如说让你是采用什么模式啊?变异出来到底是怎么样子的啊?这个地方默认我们这里是一个第八个,对吧?第八个这个模式啊,然后这个地方还有一些 q make, q make 一般来说就是,呃,让他让让我们这个地方去生成一个啊,你看 q make 什么呢? q make 的是这个东西啊, project, 对吧?这里面有一些相关的配置,像项目相关的配置,把它生成适合于我们当前系统环境的一些文件啊,一些文件,那这个魅可的话就是 真正的变异程序了,对吧?变异程序了啊,那么其他的也不需要管了,我们这边只要明白这些就行了,这个很重要啊,这个这个配置文件很重要啊, 这个项目配置完全很重要。这个地方我们往往采用,比如说我们想要呃类写一个类似于 qq 消息的,对吧?啊,那么我们这个地方就要加入相关于 qq 消息的这个 soke 的的这个库。内裤, 这个内裤,这个内裤就是 c 家家语言里面的这种内裤啊啊,他就给你编一好了,这里面已经有了,你只要把这个内裤给你录进来就可以了,就像拍摄 里面我们就用 pot 抹布库啊。呃, gs 里面的话,就像我们这个 htm 页面上面有个 link 过来,对吧?类似于这种东西啊,类似于这种东西,对吧?那么呃下面的话呢?一些呃配置文件,比如说这个地方,我给大家简简单介绍一个比较常用的啊, 什么什么配置的模板?配置的目标,这个目标的话呢,基本上是属于深层的一些文件啊,深就深层的,你的项目,呃叫什么名字? app 叫什么名字,对吧?我们这里面是 test, 那么我们这个默认编意完成之后是怎么样的呢?大家可以看一下,默认编意完成之后就是在我们同级目录下面, 同级陌路下面啊啊,这就是这个嘛,对吧?刚刚很长的这个名字啊。第八个,这里面点进去看到 txt, 对不对? tst, 那么我们直接可以打开这个 tst 的啊,这里打不了,打开不了,为什么?打开?不 是因为他的环境还不够,我们需要把 qt 基础的这个环境给考进去才能打开,也就说默认情况下我们需要考很多,比如说我这里我给大家写过一个叫做一个一个 tcp 的啊 啊? tcp 的一个程序,用 qt 来写的,有个可爱的,有个骚啊,对吧?啊?我之前之前那个写的时候写的,那么写完之后呢?默认是打不开的,你要把 qt 的那个库下面考考很多这个 dl 这种这种程序,对吧?你所有引用到的东西全部要给他考过来,包括他的基础环境。普兰特啊,这个叫做普兰普兰的风, 把烤过来,烤过来之后你就可以用了啊,就可以单独的去打开了。默认情况下是不能单独打开的啊,不能单独打开的,要,要把这些东西都给烤过来,这这些东西在哪里呢?就是在你的 qt 安装路径下面是有的啊, qt 的安装路径下你要去找啊,那么这个地方我们大家需要的时候,到时候自己到路径下面去找。 好,那么我们再来看到这个地方有一个地方,我刚刚要提一笔啊,看到这里面这个地方有什么不同呢?这个地方 这个是 cpp 文件,是一个原代码文件,对不对啊?我们看到这里面要注意啊,上面是一些包含文件包含,比如说包含了一个头,包含了我们的界面的一些文件操作,对吧?那么我这里要提的是什么呢?这个是一个类名 这个是一个类名,那么呃,这里面的话呢?呃,他是记,他是要继承了一个什么呢?继承了一个 q, 你看这个,这个,这个是冒号,是代表他继承,也就说他基础要拥有的是一个 qv 的人士,他是一个窗体,他只有继承了这个 qvid, 那他才能够被渲染成 这个窗体,他才拥有这个窗体的一些功能啊,要不然是没有的,那么不管这些啊,我们单独的看这一款这个括号,反正我们这个地方我们新建完成一个一个界面的时候,他会自动生成,这不是都是会自动生成的吗?啊?你想要快速入门的话呢,首先要记住的是这一块东西是什么? 这啊,你先不管啊,比如说这个地方是载入你的这上面这个界面吗?对吧?载入这个界面吗?我想告诉你的是,这个地方就是我们之前所讲过的构造函数, 看需要个球构造函数的地方,哎,此处为构造函数的地方,只要我们下一次扭一下这个窗体,这个窗体,我比如说我们要打开多个窗体的,我们只要扭一下一个新的泪,我们新的窗体不就出来了啊,同时第一时间就会加 在构造函数里面的代码构造函数里面,这就我们可以看成是构造函数啊,看成构造函数 就是一个类的构造函数啊。那么如果说我们单独写一个类的话呢,我们其实是他的相同名称的,如果我们单独写 c 加加的时候啊,介绍呢是一个类名,可拉斯 name, 对吧?后面的话呢,是相同的, 跟类名相同的。这个函数的名称作为他的一个构造方法啊,而不是单独用这个 ctrl 加个头了啊,这个语法上面又有点不同,但是大家有这个思想对吧?有了思想之后你才能够后面去做啊,构造函数。 好,接下去我要给大家讲到的,上次给大家提高提到过一个,当一个类被消亡的时候,他知性的是一个什么函数,记得吗?哎, 机构函数,对了,机构函数,上次我说过机构函数用什么符号,是不是用这个这 发?哎,所以说我们以后看到这个符号的时候,那么这里面我们其实就是属于虚构函数啊,虚构函数 处啊,吸购函数数,可以看出看成一个函数的就相当于这这个类我要另一个类的时候就会执行这个部分,当我们这个类被铃木的时候, 或者是我得力的这个类的时候,这个类的扭出来的这个对象的时候,这个对象我要得力特的时候对不对?那么与此同时他会执行西构函数出, 对不对?哎,那么这就是这个类的一个生命周期啊,生命周期。那么关键是 c 加加语言啊,并不会马上执行这个东西啊。 c 加加语言的入口在哪里? 在这里内涵说明白了吗?这是路口,也就说 只能所谓路口有几个,但不能选择啊,只能有一个啊,那么这个地方你要记住啊,你要记住函数程序的路口,函数 路口函数是妹啊,而且且整个应用程序啊只能有一个,否则要报错 只能有一个,不然的话是无法被变异通过的。无法被变异通过我是不是就爆破啊。那么同学们在写这个 q t 的时候啊,后面你会发现即使你会很多的东西, 然后写的时候也发现是各种报错啊,后面报错会报的很刺激啊,你各种认为是可能的,可能正确的都会认为是报错,这是因为我们对语法的一个不熟悉啊,不过,呃这些没有关系,后面慢慢就会习惯了啊。 呃,那么我们今天的话呢?呃,这个课程呢,就给大家讲这一些啊,主要是对一个课程的一个 qt 语言啊,也不能说是语言啊, qt 是一个什么? 不要说错了啊。框架啊,谢佳佳框架的一个入门啊,主要是对他的一个入门,然后呢大家回去把这个框架给装好,写自己的第一个 qt 应用程序。 啊,那就这个吧,托个东西让他出来第一个好不好?我们下一节课再来给大家讲这些代码啊,我们今天这节课就到这里。

大家好,今天我们来学习 c 程序的组成,从本节课开始,我们正式的进入 c 程序的学习了。在学习新课之前,我这里有三个小问题, 左侧是三张图片,右侧是三个问题,想请你们快速的回答这这三个问题。 好,时间给你们了,那现在我们来一起回答。一片树叶,五杯牛奶, 四个人。这里标注的红色的字体片碑各有什么共同点呢?那在我们小学语文中,老师就讲过这个概念, 片碑各我们把它称为这个该物品的什么单位, 那为什么老师把这一个这个知识点把它拉出来,这就是跟我们今天所学的内容有关单位。在我们 c 程序中,函数是 c 程序的基本单位, 每个 c 元程序是可以由一个或多个函数组成的。那我们可以看看右侧,右侧是一个完整的代码,它是由两个函数组成,其中一个是密, 另外一个是没。那这这两个函数之间是随随便便就可以组成的吗?并不是,这就是第二个。 我们任何一个 c 元程序,它是可以由多个函数组成,但是必须由,且只能有一个内函数,也就是说只能有一个组函数。我们后期的教学中, 一直都是围绕这一个主函数来讲,直到我们学到了吊用函数的时候,才会涉及到多个函数。 那这两个函数,我们右侧的这两个函数又有什么特点呢?那我们就第三点了, c 程序中的所有函数其实都是独立的,可以独立存在的,但他们都是并列,是不能相互包容。那他们只存在着什么可以调用,那具体的调 用方式我们会在调用函数中来跟各位详细的介绍, 那紧接着我们来看一看任何一个函数的定义,它是由两部分组成,第一个是函数首部,第二个是函数体。那下面是一个非常简单的一个代码,那哪些是函数首部,哪些是函数体呢? 在这里面我们把函数的第一行称为函数首部, 同时我们也可以通过第一行了解到函数名叫什么啊?函,该函数的数据类型又是何种数据类型?第二个 函数体,那函数体一般是有标记的啊,是由由一对大括号括起来啊,这里左边的花括号就表示开始,右边的花括号表示结束。内部是用来存放 c 程序的语句, 那这一个代码有的人可能还不理解,那老师更形象的列举出来,这一个函数手部 可以理解为我们的班主任,每一个班是不只能有一个班主任,那就会指定一个班级,一个教室,让他所带的学生在里面进行学习。 那我们把班主任可以理解为函数首部,然后我们这间教室 是的前门和后门就理解为这一对大括号,那里面存放的语句就可以理解为这间教室里面做的学生。 学生有多少个,我们也可以理解为他有多少条语句。现在应该能够很好理解出什么是函数手部、函数体。那紧接着语句,几条语句怎么来识别语句? 这是第五步点,每一个语句它都必须以分号结尾,也可以说分号是语句的结束标志。那我们来看看这一道代码题,它的函数题里面有几条语句呢?那我们来数数硬的 a 多少, b 多少,上好封号,然后 a 等于二十四,又一个封号, b 等于五,封号上等于 a 加 b, 封号口人的错,输出封号 没了,后面已经结束了,函数体结束,那也就说这道圆程序它是有五条语句,请把这个结论记住啊,封号是语句的结束标志。 紧接着我们来看一下为什么,前面老师你不是说第一函数的第一行是函数体的手部吗? 最前面不是有一个井号英格鲁斯迪要点 h 吗?带有井号的老师说过是秘密,而我们在之前有介绍过井号英格勒斯迪亚点 h 是什么?输入 输出函数命令,为什么要有它呢?这就是我们的第六点,因为我们 c 语言的原程序,它是没有输入输出语句的,需要我们由库函数来实现, 那既然我们要用到库函,你看我们这里写的可人的货换输出,欢迎来学习 c 语言,那也又也就说他用输入输出函数,那也就说他必须要带这一个头文件啊,带这个编译育处理秘密, 而且编译欲处理命令呢?我们是把它放在函数的最前,所以如果对这个知识点仍然有所不太了解的,一定一定要回去看老师的上一个视频, c 语言中常用的 英文及含义。第一个知识点就介绍了这些命运的用法。最后一个我们来看看注视。辅右的同学可能是买了教材的 啊,会关注到我们每一个代码,后面会有一些文字,而这些文字它并不是我们的原代码,而是什么呢?是我们的注视,做标记,做笔记,在 c 员中我们是可以用这个斜杠星号中间你打的内容,星号斜杠 或者两个斜杠右边是你打的内容。对四亿元做标注的是你增加程序的可读性, 对于尤其是对一个程序小白来说的话,有了这个标注,他能够更好的去理解代码。就比如说我们这里第一个井号英格鲁德只要点一个斜杠,点 预处理,也就是我们的预处理秘密。这里面呢,斜杠星号主函数,然后 intera 多少 b 多少三是什么定义? ab 三为整形数据。好,下一个给电量 a 复制, 给电量 b 复制,然后把 a 加 b 和付给上面输出上面的字。 那我们看看老师的注视服是不是做了两种,有斜杠、信号信号斜杠的,也有双斜杠的,那他们的摆放位置你看老师还竟然还放在,有的放在最前头了,有的呢,大部分都是放在末尾, 他们有什么要求吗?在这斜杠,星号星号斜杠,他是可以放在语句的前面 或者后面,他的位置可以由我们来确定,但是这个双斜杠的注视服,他一定只能放在语句的最末尾。同时你一定要注意,我们对四元做注视, 他只是为了增加程序的可读性,那他里面如果有出电脑是不会给你警告的,因为我们的注视语句是不参与程序的执行,他只是为了方便于我们编译者对代码进行 快速的理解,这就是我们 c 程序中的几个常用的一个特点,其实还有很多特点,就是 c 元程序中一行可以写多条语句等等,在这里 呢,我们就不再对其进行详细的介绍,我们列举的这七个是因为今后在我们的代码中是时时刻刻会出现的,所以老师在这里进行了细致的强化,有什么不懂可以我们在 聊天版中进行留言。那我们今天的课程就到此结束,一定要记得做笔记哦!

同学们大家好,从今天开始呢,我们将要更新 c 家家的系列课程, 同学们有的可能会听说说,哎呀, c 佳佳比我们学的拍摄呢 scratch 要难一些,但是不用担心,老师将用最轻松啊,最简单的语言,让同学们快速的入门 c 佳佳,不管你是初中高中的学生,还是小学五六年级的学生,我觉得都不会有太大的压力。 那今天呢,我们不会去讲,为什么我们要去学 c 佳佳啊,我们直接就步入正题,也就是说开始写出我们的 c 佳佳的代码,那开始写代码之前呢,同学会问了,我去哪里写呢? 第一呢,我们像我们的 pass nasco 一样,可以在老师写的系统里面去写。那第二呢,哎,我们可以下载我们的线下的编程环境,那今天呢,我们就要 教小朋友如何去啊,自己去搭建一个线下的,我们说 c 家家的变成的环境,那为什么呢?说为什么不像拍摄一样,我们在老师的编程环境里去写就好了呢?因为啊,我们的变成竞赛的时候,我们指定的是我们有一款叫第一位 c 家家的编程环境 那,那所以说我们就要熟练的使用它,而且我觉得它也非常简单,也很好用,我们怎么去下载它呢?看一下我们这一张图,就是进入老师的这个二号工艺的网站里面哈,那呃,向下面拉有一个常用工具下载,就是和我们的拍摄呢,和 sque 一起有一个 dvc, 佳佳 五点七点一,对不对?那我们点击把它下载下来,安装的过程很简单,按照他的步骤,下一步,下一步安装就好了。然后呢,安装结束以后,打开的时候语言选择我们的中文啊,中文简体, 这样的话就会啊,看到和老师现在同样的界面了,看到没有啊,如果字比较小的话,把屏幕横过来哈。那。呃,一会我们写代码的时候,我把代码字写的大一点好不好。嗯,那有的同学说了, c 佳佳, c 佳佳,为什么叫 c 佳佳呢? 嗯, c 佳佳呢,其实和 c 语言有着很哈哈很亲密的关系。一看就是啊,但是小妹说我也不知道 c 语言。那好吧, 当老师没说好那。呃,我们家家哈,我们的有些地方会看到说 c plus plus, 有的老师会说 c plus plus, 那这个家呢,我们会读成 plus, 是不是在英文里面加号就是 plus, 所以说那我们也可以读成是 c plus plus, 那它的生成的文件的后缀名呢?就是点 cpp, 如果我们看到点 cpp 就知道是什么啊,就知道是 cplus plus 啊。好,那这里面的第一 vc 加加是什么呢? dv 呢?是 develop 啊, develop 他的一个缩写,开发。那所以说啊,那我们现在已经知道了他的一个大概的一个情况哈,那我们今天呢就尝试着去写出什么呢?自己的第一行啊,我们的,所以加下代码。 好,那我们先把这个消毁掉啊,我们把这个拿过来啊,看一下我们今天的任务。第一啊,第一课。那第一个,我们刚才已经说了, c 佳佳如何啊?第一位 c 佳佳哈,如何下载和安装? 嗯,这个是一个我觉得很轻松的事情啊,去老师的网站上去下载下来,直接点击安装就好了。那认识 c 佳佳啊,程序的基本框架,我觉得这是今天的一个重点哈,哎, 尤其是比如说跟老师一起学这个拍摄的同学哈,觉得,哎,好拍摄好简单哈啊,上来我们直接不认得就好了是不是?但是谁家教呢?他有一些,嗯,他有一些规定,所以说我们要 认真的去学习,他有的地方还需要去记住他,好不好?那首先呢,我们来看一下哈,那我们第一步点击文件新建,这时候我们选择原代码哈,选择原代码,那不选择项目,具体说啊,项目是什么呢?后面我们都会去讲到 今天呢,我们就把最简单的东西告诉同学啊,我们,哎,学到我们今天应该学的,我们点原代码,这时候我们会发现,嗯,和我们拍摄好像是没有什么太大的区别了,对不对啊,就是一行一行写代码的地方,对吧? 这时候我们同学们迫不及待的说,哎呀,我就来个 printer 好了,那对不起哦,那这时候他不能这样,不能这样表示,也就是说如果你自己写个 print hellover 的哈,那我觉得很可能就报错了,是不是?哎,来,我们认识一下 c 家家的基本的一个程序框架,也就是说我们写每一个 c 家家 程序的时候,我们都要这样写啊,来,我们一起来,首先呢,我们输入井号, include include, 那 include, 那这个呢?是包含的意思啊,我们同学如果说啊,英语不错的话,应该会认识这个单词,是不是?那后面呢,我们有一个 就是英文的书名号哈,哎,就是你输入一个小一号,他也会出来大一号,是不是啊?中间呢,我们会输入一个 iostream, 那同学说了,这个又是什么东西呢? 那我们先暂时哈,不用去太深入去理解这行的意思啊,我们就知道每一行标准的 c 加加代码哈,啊,每一个标准的 c 加加程序,它都会以这个开头,那 include 我们可以理解为包含 iostr, eam。 那这个呢,其实我们可以看成是有 三个单词组成的,那第一个,哎,嗯, in 啊,就是往里面进的意思哈,我们说 in 啊,输入 o 呢,那我们就反过来就是 out, 嗯, out 出去。那 dream, 有同学会认识这单词啊,啊,流的意思。所以说啊,这句话呢,是 输入与输出流。 ios, 我们知道他是有三个字母啊组成的 is, in, out 和 stream, 那就可以了。那具体说,为什么我们要去啊 include, ios, dream 呢?那我们啊, 先不用去管他啊,我们继续往下面,因为什么呢?因为我们现在去理解他其实是个比较困难的事情哈,我们等我们慢慢的去学到很深的时候,那我们自然可以慢慢去理解他。那第二行指令我们需要干嘛呢?我们需要写出 us and g, using, using name, nas, m, e, s, p, a, c, e, name, space, 然后后面要加一个 std。 那同学们又说了这句话, you 是什么意思呢?说上个还没有理解,又来一句我们更不能理解的话哈, using yours, 我们 using, 我们知道是使用的意思, 那现在变成了进行时,我们去到了一家了, i n g, 所以说,那我们可以理解为是使用 namespace, 那我们内蒙是知道的,也就是我们所说的姓名是不是 space 空间,那我们可以理解为这是一个姓名空间,命名空间 std 其实是一个单词,所写 dander 的,那这个单词呢?是标准的意思,标准的意思,那我们这句话可以简单理解为就是使用标准的命名空间, 那为什么要使用标准的命名空间呢?这时候同学们先不要去尝试理解他啊,我们也知道说这句话和我们 上面一句绿色的,其实啊,我们都需要去写在我们的一行 c 家家的代码前面的指令就可以了,那我们其实写熟了哈,哎,这两句话其实会非常的轻松写出来,是不是啊,那后面呢,我们慢慢的我们再去深入的理解他们的意思,其实啊, 呃,你就问问那些学了很久的,他也可能不知道,所以说我们不要气馁哈,那我们开始完成我们第三行代码,也就是说这时候我们就需要啊写高 in maymmain 然后 口号。那如果说啊,哎,我们已经干嘛了?我们已经学过拍森了,那我觉得对于 int 这个,嗯,这个词组是不是不是特别生疏啊?啊,我们刚开始学拍森的时候,我们就知道说,哎呀,我把一个小数啊转成整数,我使用 int, 是不是?或者我把一个字不串转成整数,我使用 in, 那 inter 呢?是一个单词的缩写,是 integer intejr, 那它是整数的意思,那 mammanr 价格括号,那我们在拍层中也经常会啊,会看到这样的一个结构,是不是啊?比如说我们定义第三一个函数的时候是不是也是这样啊? 其实啊,他也是说啊,我们一个主函数面是不是主要的呀,哎,主要的主函数,那我们说啊,哎,在拍摄中和我们的呃, c 家家中是不一样的,在 c 家家中啊,我们必须有一个主函数,然后把所有的这个使用 放到一起,然后放进来,那比如说我们回车以后哈,这时候我们就输一个,注意啊,大括号输完以后,我们按个回车哈,那我们会发现第四行和第六行是不是各出现了一个大括号的半边呢?哎,其实啊,我们中间的这个部分 还是我们未来哈重点的工作的地方哈,也就是我们写的程序要写到我们这个中间的地方。哎,那关于第一行,第二行,第三行,第四行,第六行,那我觉得我们开始的时候可以相对轻松的去 理解他们啊,甚至我们只要背下来就好了。嗯,那然后我们再输入大括号的时候注意啊,那第四行啊,刚才我们一输的时候,我们发现第四行和第六行大括号是一起出来了,是不是?嗯,那这个,那我们 inter, interman, 那我们啊,可以这样理解哈,我们最后返回的呢,是一个整数,那我们知道,在我们的啊,在我们学到拍摄的时候,或者没有学拍摄的小朋友也不要着急,那我们呢,其实直接理解起来也没有那么难哈, 我们在学拍摄的时候,我们都会有一个,或者说我们不是必须哈,哎,经常会有一个返回值, return 一个值,是不是?哎,这 这里面呢,我们说这个的含义就是我们在没有函数里面,我们返回一个整数型啊,硬的是个整数,所以说我们这样一记就容易记住了哈,那我们说啊,这里面写什么呢?啊?这里面就是要写我们啊,主要的我们的, 哎,我们的 c 家叫代码了,那我们今天哈属于第一节课,所以说我们就要写出一行最简单的代码,好不好?那比如说,嗯,我们想输出自己的名字啊,就是我们在 学拍散会,学词快词的时候,是不是我们很轻松啊?哎,不论他自己的名字,比如我叫 welam, 那我就 welam 好了。那,呃,在 shua, 这更简单,我们直接用说就好了,那他这里怎么办呢?哎,这时候呢,我们其实会相对复杂一点,我们会使用一高 c out, 那 c 我们可以有机会,这个就是我们的,对吧?啊,就是我们的 c 加加号了, out 啊, 输出,那这时候我们需要啊,输出两个这样的一个小鱼号,对啊,是两个,不是一个哈,那因为他是一个符号呢,我们啊,如果漂亮期间呢,我们可以把它中间加上空格哈,那我们先把这个呢,我们先把它啊消毁掉。那这时候呢?我们后面呢,就是我们要输出的 内容,那我们今天要输出什么内容呢?我们要输出啊,比如说我的名字 welcome。 啊,好,那这时候我们知道,哎, welcome 前后加了双引号, 我们在我们大学拍摄的时候是不是也是这样子输出字符啊?嗯,所以说非常的像,对不对?那这时候呢,我们后面在每一个结尾的时候呢,我加了一个,加了一个分号,那加了一个分号,那加了个分号,这时候我们就代表这一行呢,我就可以结束了。那然后呢?我来干嘛? 我来 return r e t u r n, 那 return 一个,嗯,零,那这时候我们再加一个分号, 好,那这个程序呢?我就已经写完了。那好,那我们看一下是不是能够输出我们的威廉呢?嗯,首先呢我们点一下,那这时候我们的运行怎么办呢?哎,我们点这个歌啊, 项目啊,这有个啊,我们的运行项目的右边是不是有个运行啊?然后这有个编译,这有个运行。注意啊,我们需要先编译啊,再运行, 在编译之前呢,他会让我们去把文件保存一下,那我比如说我就保存文件名就叫威廉好了,那同学们自己可以命名自己的文件名啊,那然后点保存。哎,这时候我们已经保存好了,那保存好了以后呢?我们点啊,还继续点运行以后啊,点运行。那这时候他说, 嗯,点代码为编译,是否立即编译啊?点 yes, 然后呢?哎,编译好了,编译好了以后呢?那这时候我们看一下,嗯,我们就会弹出一个黑白的一个窗口,我把它放大一点,好不好?哎,放大一点哈,那这时候我们会发现,哎,在上面会出来一行威廉, 也就是说他把我这名字就打印出来了,对不对啊?是不是感觉也不是特别的难呢? 当然了,我觉得只是一个小小的开始,那后面呢,我们可能会遇到很多困难的事情, 然后我们每次课呢,我们都会解决一个小的问题,那今天呢,我们就解决了一个如何去开始自己的第一行代码的问题,那这里有一个 return 零,那这个呢,也是必须要加在里面的,也就是说他代表说啊,我这个函数哈, 我这个 may 还是主函数,结束了,返回零,我们刚才说了这个零是一个 int 啊,对吧?这也是我们啊,前面写了个 int man。 好,那这时候我们就可以结束我们第一节课了。同学们呢?自己来去用我们的 c 佳佳输出一个自己的姓名好不好?那下次课我们再见。