[信息与通信]C 基础知识.doc

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

第一章面向对象及C++基础知识 课程内容: ? 1、?面向对象程序设计基础知识(识记) ? 2、?基本程序结构(综合应用) ? 3、?类型修饰符(领会) ? 4、?函数原型(综合应用) ? 5、?内联函数(综合应用) ? 6、?引用(综合应用) ? 7、?动态内存分配(简单应用) ? 8、?编译指令(领会) ? 9、?改变习惯重新思考(识记)1.1?面向对象程序设计基础知识: ? 程序语言:本身实际上是对一个现实问题的描述;其发展的根本问题在于如何更加接近人的自然思维。(机器-汇编-高级语言;面向过程-面向对象) ??面向对象: ???? 一种软件方法(方法学),而不仅仅限于程序设计语言,更重要的是如何看待世界。 ???? 基本思想:从现实世界中客观存在的事务(对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。 ? 面向对象程序设计语言: ???? ?定义:机器实现的定义。 ??????? ?数据和操作在一起,内存块可以复制副本 ???????? 对象间通过函数调用实现通信;对象的继承 ????? 关键要素: ??????? 抽象:忽略事物的非本质特性,只注意与当前目标有关的本质特征,从而找出事物的共性;把具有共同性质的事物划为一类,得到一个抽象的概念。 ?????? ?封装:将一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体,也就是对象。(意义:对象集中而完整的描述并对应一个具体的事物,封装的信息隐蔽作用反映了事物的相对独立性;减少“波动效应”。副作用:增加了许多只负责读写的服务。) ??????? 继承:特殊类的对象拥有其一般类的对象的全部属性与服务,称作特殊类对一般类的继承。 ??????? 多态:一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。(目前不要求OOPL支持) ?? C++语言的来龙去脉:对C语言进行面向对象的扩展。一种混合型OOPL。 ?C语言的一个超集,语法基本使用C的语法,引入了新的概念 ?支持OO的特性1.2?C++基本程序结构:讨论C++对C的一些改进风格: ???1)?输入输出:cin和cout代替printf, iostream.h代替stdio.h,更加方便。 ???2)?注释:“//”的引入 ?? 3)?使用const(代替无参数宏)和内联函数(代替有参数宏)代替宏定义 ?? 4)?函数原型(更强的编译时刻的检查)和缺省参数(方便函数调用、减少错误) ?? 5)?新的动态内存分配函数new/delete:使用上更加简单 ?? 6)?新的换行符 — endl ?内联函数inline: ? 1)?不是用函数调用的机制,编译遇到时简单的替换而已,省去了函数调用的额外开销 ? 2)?使用宏定义的副作用: ?# define f? (x)? (x+1); 在后面使用 f(1)展开成:(x)? (x+1) (1),报编译错,但容易发现 ?参数中有表达式: ??????? # define floor(x,b) x=b?0:1, ??????? 调用:if(floor(a0x0f,0x07)) // ... ??????? 展开成:if (a0x0f0x07?0:1)... ;优先级低于,产生错误。 ??????? 难发现,好解决――加括号 ?#define band(x) (((x)5 (x)10) ? (x) : 0) ?????? 下面的执行结果如何? ??????? for(int i = 4; i 11; i++) { ?????????? int a = i; ?????????? out a = a endl \t; ?????????? out band(++a)= band(++a) endl; ?????????? out \t a = a endl; } ?展开后会影响到a的值(++a)。 ?这一点和函数调用不同(函数一般传值)。 ?宏没有作用域的问题 ?引用: ?? 1)?使引用和原来定义的变量一样无区别的操作内存的某一空间。 ?? 2)?最主要用途:建立函数参数传递的引用传递方式,不必使用指针;另一个用途:返回引用的函数,用于赋值运算符的左边。 ?? 3)?两种情况下引用的是临时变量:对常量(或const修饰的变量)的引用;引用类型和初始化时使用的变量类型不一致。 ???4)?定义返回引用了函数时,不要返回局部变量的引用。 ?编译指令:不是C++的一部分,提供给编译器使用 ?? 1)?嵌入指令:# include filename / # include “filename” ?? 2)?宏定义:# define 宏名 替换正文 ?? 3)?条件编译指令:# if, # else,

文档评论(0)

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

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

1亿VIP精品文档

相关文档