吉林大学c++课件知识.ppt

  1. 1、本文档共377页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序设计 吉林大学 软件学院 教师邮箱:liay@ 参考书: C++程序设计教程 钱能 清华大学出版社 第2版 课堂纪律: 上机: 第一章:概 述 1-1 培养目标 理解和掌握c++语言的基本语义和语法,初步理解面向对象的思想,初步掌握面向对象的程序设计方法。 提高编程能力和调试程序的能力,为后面的学习打好基础。 1-2 C语言与C++语言 C语言回顾: 1972年 bell实验室研制 C语言特点: 高度灵活性、实现上的高效性 (比FORTRAN) 简捷和高效 (比Pascal) C语言局限: 程序达到一定规模时,模块之间的协调性存在问题,程序的重用性也存在问题,程序员难以控制程序的复杂性。 C++产生: 1980年 贝尔实验室 Bjanre Stroustrup 对C改进与扩充 最初称为“带类的C”,(c with classes). 1983年正式命名为C++ 3次修订后 1994 年制定了ANSI c++草案 1998年11月,ISO标准被批准。 C++是C的改进与扩充 C++包括C的全部属性、特征、优点,是在C的基础上的改进与扩充 C++是C语言改进的基础上,添加了对面向对象程序设计部分的支持 C++包括过程性语言和类部分 C++是C的超集,C是C++的子集 C++是混合型语言,即是过程型的,又是面向对象型的 1-3 面向过程的程序设计 “面向过程”是一种以事件为中心的编程思想。   就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 1-5:举例比较面向对象和面向过程 程序设计 例如五子棋, 面向过程的设计思路就是首先分析问题的步骤: 1、开始游戏, 2、黑子先走, 3、绘制画面, 4、判断输赢, 5、轮到白子, 6、绘制画面, 7、判断输赢, 8、返回步骤2, 9、输出最后结果。 把上面每个步骤用分别的函数来实现,问题就解决了 面向过程和面向对象不是对立的 面向过程和面向对象将长期并存 从程序机构上,c++的单一程序体本质上是基于过程的,因为运行程序时,总是启动过程。 (1)预处理过程:执行预处理命令 (2)编译过程: 进行词法分析和语法分析的过程,又称源程序分析的过程。 符号表:又称字典。映射程序中的各种符号及其他们的属性。是在进行词法分析和语法分析是生成的,在生成中间代码和可执行的机器代码时使用。 错误处理程序: 生成目标代码:.OBJ为扩展名的磁盘文件,机器可识别文件内容,却不能执行。 (3)连接过程:编译器对每个源文件单独进行编译,多个源程序的目标代码以及库文件(.Lib)连接在一起,才能形成可执行文件(.exe)。由连接器完成. 3.运行: 上机环境: Visual c++ 6.0 Visual studio 2010 第二章 函 数 一个C++程序有一个主函数, 主函数是程序执行的开始点。 C++ 不允许函数定义嵌套。 函数有两种:标准库函数和用户自定义函数。 内联函数的函数体限制: 内联函数中,不能含有switch和while。 递归函数不能用来做内联函数。 内联函数中不能说明数组。 否则,按普通函数调用那样产生调用代码。 (内联函数是建议性,不是指令性) 内联函数只适合于1-5行的小函数 类结构中所有在类内部定义的函数,都是内联函数。 在同一作用范围中为多个函数定义(其功能通常是相近的)指定一个共同的函数名,委托编译器根据每一个单独函数的形参个数、类型和位置的差异 ,在幕后进行名称细分并选择合适的函数调用匹配的现象称为函数重载。 void print (double); void print (long); void print(double,char*); void print(char*,double); void f( ) { print (1L);//print(long) print (1.0);//print(double) print (2.0,”hello”);//print(double,char*) print (”hello”,3.0);//print(char*,double) } 返回值类型不能够作为重载依据(区分、细分重载) void func (int); int func ( int); fucn(10); //error 这样规定保证对重载的解析与环境无关 float sqrt(float); double

您可能关注的文档

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档