第二讲 C++程序设计基础简化.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二讲C程序设计基础简化

第二讲 C++程序设计基础 主要内容 C++语言基本输入输出 函数及新增特性 new、 delete操作符 引用 作用域、可见性、生命期 C++标准输入输出流 在C++中用istream类和ostream类的派生类iostream控制输入输出,并提供了输入和输出操作符, cin:它是istream类的对象,用来处理标准输入,即键盘输入。cout:它是ostream类的对象,用来处理标准输出,即屏幕输出。使用时务必包含#include iostream.h。 称为插入操作符,其作用是向cout流中插入字符。 称为提取操作符,其作用是从cin流中提取字符。 函数调用机制 c++的函数调用过程,需要调用初始化和善后处理的环节。函数调用的整个过程就是栈空间操作的过程。函数调用时,C++首先: 内联函数 内联扩展(inline expansion)简称为内联(inline),内联函数也称为内嵌函数。当在一个函数的定义或声明前加上关键字inline则就把该函数定义为内联函数,它主要是解决程序的运行效率。 计算机在执行一般函数的调用时,无论该函数多么简单或复杂,都要经过参数传递、执行函数体和返回等操作,这些操作都需要一定的时间开销。若把一个函数定义为内联函数后,在程序编译阶段,编译器就会把每次调用该函数的地方都直接替换为该函数体中的代码,由此省去函数的调用及相应的保存现场、参数传递和返回操作,从而加快整个程序的执行速度。 内联函数可以在一开始仅定义或声明一次,但必须在函数被调用之前定义或声明。否则,编译器不认为那是内联函数,仍然如同对普通函数那样处理该函数的调用过程 。 内联函数的函数体有一些限制:内联函数中不能含有任何循环以及switch和goto语句;内联函数中不能说明数组;递归函数(自己调用自己的函数)不能定义为内联函数。通常只适合1~5行的小函数。 函数重载 C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。 例: 函数参数的默认值 函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认形参值。 new和delete运算符 const 指针 指向常量的指针 引用的概念 引用的概念 引用是个别名,当建立引用时,程序用另一个变量或对象(目标)的名字初始化它。建立引用后,引用作为目标的别名而使用,对引用的改动实际就是对目标的改动。 引用的声明 为建立引用,先写上目标的类型,后跟引用运算符“”,然后是引用的名字。引用能使用任何合法变量名。 int someInt; int rInt=someInt; 引用不是值,不占存储空间,声明引用时,目标的存储状态不会改变。引用只有声明,没有定义。且在声明时必须初始化,否则产生编译错误。 引用的操作 如果程序寻找引用的地址,它返回目标的地址 引用一旦初始化,就维系在一定的目标上,再也不分开,任何对该引用的赋值,都是对引用所维系的目标赋值,而不是将引用维系到另一个目标上。 引用与指针的差别 指针是变量,可以把它再赋值成其他的地址。 建立引用时必须进行初始化并且决不会再指向其他不同的变量。 什么能被引用 若一个变量声明为T,即引用时,它必须用T类型的变量或对象,或能够转换成T类型的对象进行初始化 若引用类型T的初始化不是一个左值,那么将建立一个T类型的目标并用初值初始化,那个目标的地址变成引用的值 例: double rr = 1; 不允许进行引用 对void进行引用是不允许的。 void a = 3; void只是在语法上相当于一个类型,本质上不是类型。 不能建立引用的数组。 int a[10]; int ra[10] = a; 引用本身不是一种数据类型,故没有引用的引用,也没有引用的指针。 例:int a; int ra = a; int *p = ra; 引用不能用类型来初始化: int ra = int; 因为引用是变量或对象的引用,而不是类型的引用。 有空指针,无空引用。 int ri = NULL; 用引用传递函数参数 传递引用给函数与传递指针的效果一样,传递的是原来的变量或对象,而不是在函数作用域内建立的变量或对象的副本。 引用具有指针的威力,但是调用引用传递的函数时,可读性却比指针传递好。引用具有传值方式函数调用语法的简单性与可读性,但是威力却比传值方式强。 引用存在的问题 引用可以表达清晰并让程序员负责了解如何传递参数,但是在有些情况下它们能够隐藏错误。 int a=10; int b=20;

文档评论(0)

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

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

1亿VIP精品文档

相关文档