c程序设计(01C入门).ppt_第1页
c程序设计(01C入门).ppt_第2页
c程序设计(01C入门).ppt_第3页
c程序设计(01C入门).ppt_第4页
c程序设计(01C入门).ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+程序设计,海滨学院 何凯,课程与就业,本课程任务是:强化C+语言的概念。 C+程序员的能力:大规模C+程序编写(动手能力)、数据结构、算法、操作系统知识。 学好本次课程,仅仅需要掌握C+语言中的概念; 成为一名C+程序员,则需要进行大量的编程练习和不断的自学。 举例:孟+国图+计算机专业概念;王+机械系+自学+练习+程序员,第一章 C+入门,目前使用最为广泛的计算机语言: Java、C+、C C+包含整个C,C是建立C+的基础 C语言的产生:,汤普森和里奇 (贝尔实验室),MAC项目 (MIT),失败,用从MAC学到的东西 改善实验室环境,汇编语言编写的UNIX操作系统,开发出C语言,C语言编写的UNIX操作系统,?,汇编语言和C语言的不同之处?,汇编语言高度依赖硬件,C语言是与硬件无关的,可移植性好。,汤普森和里奇开发了C和UNIX,两个人共同获得了1983年度的图灵奖。 C语言这么厉害,怎么又出来个C+呢?,Java、C+、C是当前使用最为广泛的计算机语言; UNIX、Windows NT、Linux构成OS的三强鼎立;,C语言缺点: 1、类型检查较弱,一些错误不能在编译时发现; 2、几乎没有支持代码重用的语言机制,因此一个程序员精心设计的程序, 很难为其他 程序所用。 3、当 程序的规模达到一定的程度时,程序员很难控制程序的复杂性。,程序,1、计算机只能识别机器指令,不能直接识别C、C+程序。,CPU,内存,显示器,硬盘,QQ.exe 文件,QQ.exe,2、程序员编写的C、C+程序编译链接后,最终形成机器指令。,3、计算机中的哪一部分识别机器指令?硬盘,键盘,鼠标,CPU,内存,显示器,键盘,【3:00 点击CPU显示视频】,程序语言的发展,CPU-A,1、谁来识别或者执行机器指令?,CPU,2、不同厂商的CPU,使用的机器指令一定相同吗?,可能不同。,机器指令-A,CPU-B,机器指令-B,汇编语言-A,汇编语言-B,C、C+等高级语言,最早,程序员使用最原始的计算机指令 (低级语言),不久,发明了汇编语言 (低级语言),高级语言产生,A = 3*2+B;,add ecx,ecx inc eax,8b 4d f8 40,C与C+ 结构化程序设计和面向对象程序设计,1、C+语言包括过程性语言和类部分;过程性语言部分与C并无本质的差别。 2、C是过程性语言,它没有类部分。 3、学习C+,先学过程性语言部分,再学类部分。,1、结构化程序设计的主要思想是功能分解并逐步求精。当一些任务十分复杂以致无法描述时,可以将它拆分为一系列较小的功能部件,易于理解。把程序看成是处理数据的一系列过程。数据和程序分开存储。C语言能很好的支持结构化程序设计。 2、结构化程序设计的缺点:当数据量增大时,数据和处理数据的方法之间的分离使程序变得越来越难以理解。 程序设计方法正在从结构化程序设计走向面向对象程序设计。 3、面向对象程序设计的本质是把数据和处理数据的过程当成一个整体对象。C+充分支持面向对象程序设计。几个重要的概念“封装和数据隐藏”、“继承和重用”、“多态性”将会在以后介绍。,最简单的程序,7:02 点击这里查看程序开发过程(源代码文件Cpp1.cpp内容如下),1、C+的程序结构由注释、编译预处理和程序主体组成。 2、C+的注释为“/”之后的内容,直到换行。注释仅供读者阅读程序使用。在生产可执行程序之前,C+忽略注释。另外C+兼容C的注释,“/*”和“*/”之间的内容。 3、#include 称为文件包含预处理命令,把文件iostream.h的内容增加到Cpp1.cpp中。这样才能使用cout。 4、C+程序由函数构成,它总是从主函数main()开始运行。,/ 这是最简单的C+程序 #include int main() cout“CHINA !“endl; ,键盘输入和屏幕输出:cin和cout,/ 这是最简单的C+程序 #include int main() coutab; result = 3*a-2*b+1; cout“result is “resultendl; ,2:27 点击这里,把程序改造成:有键盘输入和屏幕输出,1、一个变量必须在声明之后才能使用; 2、C+中定义变量,意味着给变量分配内存空间。 3、cinab,从键盘输入两个整数给a和b,两个数之间用空格隔开。 4、cout连续输出结果。,C+生成的exe文件如何执行?,1:37,2019/6/29,网站(机器) web服务器 nginx nginx nginx nginx Apache Apache Apache Apache Apache,网络,用户上网(blog、新闻),用户上网(qq、视频、音频),请求,请求,返回结果,返回结果,谁来接收请求、计算并且返回结果,?,C+/C的现实应用,C+用函数组织程序, 一个C+源程序可以由一个或多个源程序文件组成。C+编译系统在对C+源程序进行编译时是以文件为单位进行的。 一个C+源程序文件可以由一个或多个函数组成。所有函数都是独立的。主函数可以调用其它函数,其它函数可以相互调用。下面看看函数调用关系。,2019/6/29,一个C+程序由一个具有固定名称main()的主函数和若干个以标识符命名的其他函数组成。 (2) 通常用main()函数描述程序的总体框架,其他函数则完成某种特定的子功 能。从main开始,到main结束。 (3) C+函数是一种独立性很强的程序模块,所有的函数都处于平等地位,不存在从属关系。,main,a,b,c,d,函数类型 函数名(类型名 形式参数1, ) 说明语句 执行语句 ,例如:求两个数的最大值。 int max(int x,int y) int z; z = x y ? x : y; return( z ); ,局部变量说明,执行语句,函数定义的一般形式,在C+中,一个函数必须在函数声明后才能使用。,#include #include int main() double a, b, c; coutab; c=max(a, b); couty) return x; else return y; ,1、左侧程序中,先使用了max函数,而后才有max函数的定义声明。 2、上面的截图,显示了左侧程序没能通过编译,原因是max未知。,对被调函数进行声明的一般形式,函数类型 函数名(参数类型1 参数名1,); 或 函数类型 函数名(参数类型1,参数类型2,);,例如: double max(double x, double y);,函数定义包含函数声明。 double max(double x , double y) /函数定义,同时也是函数声明 if(xy) return x; else return y; ,main函数 调用函数 A; ,函数 A 调用函数 B; ,函数 B ,1,2,3,4,5,C+程序是函数驱动的,#include #include double max(double x, double y); int main() double a, b, c; coutab; c=max(a, b); couty) return x; else return y; ,1、左侧是C+简单程序结构之模板; 2、程序的意思是:用户输入两个数,用max函数求较大者,然后调用标准库函数sqrt求较大者的平方根。 3、形参和实参。形参是函数定义中的参数;实参是调用函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论