您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > DEV C++语言基础
C语言基础什么是程序?•程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。•关键字:特定目标/问题计算机语言命令序列•比如说,我们为了计算某次考试中一个班级的所有学生的平均分,可以进行如下操作:1、获得学生个数和所有学生的分数2、求和,计算学生总分3、用总分除以学生人数,得到平均分什么是程序?•对于上述问题,我们有:1、特定的目标——计算平均分2、命令序列的集合——一系列操作•如果把上述用到的所有命令都用计算机语言写出来,就是我们这里要讲的程序了。什么是程序?•伟大的计算机科学家Knuth曾经对程序下过如下的定义:程序=算法+数据结构•用最通俗的话来解释的话,数据结构就是把我们要处理的数据与信息按照一定的方法整理存放起来,以便于我们处理;算法,就是配合我们的数据结构,处理数据的方法。这二者结合,就成为了一个程序。•当然,算法与数据结构都是非常抽象的概念,我们依然需要通过计算机语言来把他们做成现实的东西。所谓C语言•所谓C语言,其实就是上述所谓的众多“计算机语言”中的一种。•C语言还拥有一个升级版本:C++语言。C语言和C++语言广泛应用于编写各种软件当中,windows系统也是利用C++语言来完成的。二者的区别各位可以不做深究,暂且认为他们是一样的就可以了。•当然,对于我们来说C语言的功能还是用来实现我们的算法与数据结构。我们使用的编译器•编译:把一行行的代码变成电脑可以看懂并运行的程序,这个过程叫做编译。显然,我们所写下的所有代码都必须通过编译才能运行,所以我们需要使用一个编译器来帮助我们完成这项工作。•我们使用一款非常经典,很适合信息学竞赛使用的编译器——DEVCPPDEVCPP再多说几句•尽量在刚刚开始写程序的时候养成良好的写代码习惯,培养良好的代码风格——跟练字是一个道理。如果一开始就有问题,后边再改会很麻烦。•写程序,如果不上机亲自动手写,是绝对不可能有进步的。对于信息学竞赛来说,上机写程序,做大量的题目,也是绝对不可回避的。•多抄别人的代码。这个指的不是让你们在交作业之前超别人的代码应付,而是在某些问题实在无法解决的时候,抄一抄别人的代码,体会一下别人解决问题的思路,把这些变成自己的知识。抄代码并不是一味的一个字符不差的抄写,而是要一边看一边理解,最后把代码写成自己的风格,变成自己的东西。好,我们正式开始1.1一个简单的C语言程序#includeiostreamusingnamespacestd;intmain(){coutHelloWorld!endl;system(pause);return0;}1.1一个简单的C语言程序•我们来一行行的解释一下这段代码:1.1一个简单的C语言程序•#includeiostream•在编写程序的过程中,我们需要使用到一些工具,这些工具是C语言已经写好了提供给我们的,我们直接利用就可以了。一些最最基本的工具被放在了一个叫做iostream的工具包里,具体有哪些我们随着学习的深入再介绍。这一条语句通过include操作把iostream工具包加了进来,在程序中我们就可以使用iostream包里的所有工具了。iostream作为最最基本的工具包,一般来说是必须使用到的。当然我们还有很多其他的工具包,也放到以后再说。1.1一个简单的C语言程序•usingnamespacestd;•这一句的含义不大容易给各位解释清楚,目前的话各位先把这一句当做是一句固定的格式,必须要写,不可或缺,背下来就好了。具体的我们还是以后再说。•大家一定不要忽略这一行结尾的那个分号。从今往后,大家一定要提高对分号的注意力。1.1一个简单的C语言程序•intmain()•先大致介绍函数的概念:C语言程序的基本单位,称作函数。这里的函数跟各位数学上学过的函数是完全不一样的概念,没什么关系。C语言的函数,各位姑且认为它是一种基本结构,一个完整的C语言程序就是通过很多的函数组成的。•所有函数中,有一个地位很特殊的函数,称之为主函数。主函数必须有且只能有一个,程序无论是由多少个函数组成的,都一定会从主函数开始运行。也就是说,主函数才是整个程序的主干,其它函数都是辅助的。1.1一个简单的C语言程序•intmain()•这里的intmain()就是主函数的函数头,告诉电脑主函数在这里。前边的int是什么意思暂时不用管。而主函数的所有内容,通通都放在intmain()后边的那对花括号{}里边。•剩下的三行代码,就都是主函数的内容了。•当然这个程序比较简单,就只有一个主函数而已。以后我们学到更复杂的程序的时候,函数有可能有很多很多。1.1一个简单的C语言程序•cout“HelloWorld!”endl;•这一句的作用是在屏幕上输出一句话:HelloWorld!•cout是C++风格的输出工具,使用的时候,只需要把要输出的内容放在cout的后边,并且用连接起来就可以了——如果要输出多个内容也是一样的。这个符号大家可以形象的记忆,这就好比水流一样,把我们要输出的信息从屏幕上流出去了。•在输出要说的话的时候,要在话的两端加上双引号,这个是一种格式上的规定,大家一定要记住。•endl是换行符,输出一个endl就相当于打了一个回车。•注意结尾的分号了吗?1.1一个简单的C语言程序•system(“pause”);•这一句的作用是把程序暂停下来。电脑运行程序的时候速度是非常快的,一旦程序结束,窗口就会自动关闭,而且从窗口打开到窗口结束的时间非常短,以至于我们什么结果都看不到。所以需要在适当的地方加上system(“pause”);来让程序暂停,方便我们看结果。这一句不只可以加在程序的结尾,它可以加在任何你想让程序停下来的地方。•注意结尾的分号了吗?1.1一个简单的C语言程序•return0;•这一句的作用是告诉程序,主函数的任务做完了,可以结束了。当然,因为主函数是整个程序的主干,所以只要主函数结束了,程序也就结束了。这一句的更详细的含义,以后再说。•注意结尾的分号了吗?1.1一个简单的C语言程序•一个完整的程序就这样解释完了,我们再来回顾一下1.1一个简单的C语言程序#includeiostreamusingnamespacestd;intmain(){coutHelloWorld!endl;system(pause);return0;}1.1一个简单的C语言程序•有了上边给出的框架,我们至少可以写出一个完整的可以运行的C语言程序了。以后我们需要做的工作就只是在框架中添加不同的内容了。1.2变量•接下来我们来介绍变量的概念。•回到刚开始我们讲过的那个例子:我们在计算平均分的时候,第一步需要进行的操作就是获得学生人数和学生的分数。我们获取的这些数据需要存储起来——存放这些数据的地方就叫做变量。1.2变量•一个变量可以被理解称为一个装东西的盒子,每一个盒子都有一个名字,里边可以装一个数据。•变量是有类型之分的,一种类型的变量只能存储对应类型的数据。好比盒子也是有分类的,一种盒子只能用来放一种数据。•常用的数据类型有:•整型浮点型字符型布尔型1.2变量•整型:整型变量用来存储整数•整型变量分为下列几种:(unsigned)int(unsigned)short(unsigned)longlongint•不同的整型变量也是有区别的,目前可以不做深究。我们现在都使用int类型的就好。1.2变量•浮点型:浮点型变量用来存储小数•浮点型变量分为下列几种:(unsigned)float(unsigned)double(unsigned)longdouble•不同的浮点型变量同样有区别的,目前也可以不做深究。我们现在都使用float类型的就好。1.2变量•字符型:字符型变量用来存储字符,比如说aB,*•字符型变量一般只用char型1.2变量•布尔型:布尔型变量是一种比较特殊的数据类型,这个数据类型是用来判断真假的。所以布尔型的变量只有两种值:真&假•bool•具体应用我们以后用到的时候再说,现在只有个大概的概念就行了。1.2变量•整型浮点型字符型布尔型•上边四个数据类型称为基本数据类型•整型int•浮点型float•字符型char•布尔型bool1.3变量的申请•之前说过,变量就好比盒子,一个变量在被使用之前,一定要先被申请,就好比一个盒子在用来装东西之前,一定要先造出来。•下边我们就来讲讲变量的申请:•变量申请的格式是这样的:–数据类型_变量名;1.3变量的申请•举例说明:inta;floatb;charc;boold;•如果要同时申请多个同一类型的数据,只需要这样写:inta,b,c,d;•注意结尾的分号了吗?1.3变量的申请•关于变量名:•在C语言中有一些词被赋予了特殊的意义,比如说刚才提过的int等等,还有其他很多。这些被赋予了特殊意义的词叫做保留字,保留字是不能作为变量的名字被申请的。除此之外,起变量名的时候没有什么限制。•尽管没有什么限制,但是在起变量名的时候还是要注意一下根据数据的意义来起变量的名字,比如说学生数目叫number,分数叫score,这样方便自己和别人看懂自己的程序。1.4变量的赋值•现在我们已经申请好了一些需要的变量了。下边我们需要往盒子里放东西了,这时候应该怎样操作呢?我们只需要通过一个等于号来对变量进行赋值。•a=....;•其中省略号的部分,可以是某些确定的值,可以是其他的变量,也可以是一些计算表达式。不过一定要注意,不管是什么,最后的结果的类型一定要和a的类型是相符的。–a=5;–a=b;–a=3*7+9;1.4变量的赋值•这样,我们就把值赋给一个变量了。•在赋值的时候,一个变量里边原来有的值会被覆盖掉,所以一定要小心谨慎。1.5变量的输入与输出•回到第一个问题,我们如何从窗口中输入一个变量的值呢?•情况与输出的时候是非常类似的,这个时候我们只需要把cout换成cin,把换成就可以了。•比如说我们要把一个数据的值输入到变量a里边,只需要写:–cina;•如果要同时输入多个变量,那么只需要:–cinabc;1.5变量的输入与输出•符号也可以被形象的理解为流的感觉,只是方向一定不要弄反•关于变量的输出,和之前是一样的。•coutabcendl;1.6运算符•在C语言中,我们在进行数据运算的时候,会用到很多运算符,最简单的就是加减乘除——当然不止有这些。•C语言中最基本的运算符为如下四类:算术运算符关系运算符赋值运算符逻辑运算符•今天我们先介绍算术运算符和赋值运算符,其他的两种我们放到以后的课程当中介绍。1.6运算符•算术运算符:+-*/•算术运算符应该是大家最熟悉的运算符的,从学数学开始就一直在用。•算术运算符除了上述的加减乘除之外,C语言中还有一个非常常用的运算符,叫做取模,用%来表示。•1+34-26*810/57%4•运算优先级:乘=除=取模加=减1.6运算符•除了上述五个运算符之外,还有一种运算符叫做自加(自减)运算符。•这样的运算符用于这样的情况:当一个变量a的值需要加1或者减1的时候。•a++;•a--;•++a;•--a;1.6运算符•赋值运算符:赋值运算符在前边讲变量的赋值的时候已经有所介绍。•最基本的赋值运算符就是一个等号=•它可以把等号右边的值赋给等号左边。•这里注意,等号的左边,也就是被赋值的部分,只能是一个变量,不能是数值或表达式。•等号的右边,也就是要赋的值,则可以是变量、数值或表达式。但是要注意,等号两边的数据类型一定要一样。(暂且认为)1.6运算符•a=5;•b=a;•c=3*5-2;•不合法的赋值•3=a;•等号是支持连续赋值的:•a=b=c=d;•顺序从右到左1.6运算符•赋值运算符可以与算术运算符结合起来使用。•比如说,我们要写语句:x=x+1;•这个时候,两个x就可以省略一个,上边这句就变成了x+=1;•对于-*/%,有完全相同的用法。•这样的赋值运算符,同样支持连续赋值:•a+=a-=a*=a/=2;a=?
本文标题:DEV C++语言基础
链接地址:https://www.777doc.com/doc-3858701 .html