- 1、本文档共83页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2016年第一讲——C与C的关系
第一讲 C++与C的关系;第一部分 C++发展历史简介; Bjarne Stroustrup在设计和实现C++语言时,既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。
C++语言由C语言扩展而来,同时它又对C语言的发展产生了很大的影响,ANSI C语言在后来的标准化过程中吸收了C++语言中某些语言成分。 ;
C++语言是C语言的超集,与C语言具有良好的兼容性,使用C语言编写的程序几乎可以不加修改直接在C++语言编译环境下进行编译。
C++语言对C语言在结构化方面做了一定程度的扩展。
C++的关键字达到63个,运算符有52个。; 第二部分 C++对C常规性能的扩充;1. 基本输入流和输出流类 ; C++语言把设备之间的信息交换称作“流”是非常形象的。外部设备到计算机的输入信息和计算机到外部设备的输出信息就像是一条条的水流。因此,C++语言把设备之间的信息交换称作流,把实现设备之间信息交换的类称作流类,把按面向对象方法的许多个流类构成的流类族(层次集合)称作流类库。C++语言给用户提供了功能完整的、组织成类层次的、可方便扩充的流类库。流类库中的每一个流类定义了设备之间一种方式的信息交换。; 流库中iostream类是最常用的基本输入输出流类。iostream类是基本输入类istream和ostream多重继承派生出的。iostream类中包括了键盘输入类、屏幕输出类和错误信息输出类。cin、cout和cerr分别为键盘输入类、屏幕输出类和错误信息输出类的系统默认对象。cin对象键盘输入的运算符为“”,cout对象和cerr对象屏幕输出的运算符为“”。 ;例如:
#include iostream.h // 包含iostream.h头文件
? void main(void)
{
char name[30];
cout name: ; //输出
cin name; // 输入
cout name \n name endl; // 多个输出
}; 上例中,第一行用include语句包含了iostream.h头文件。cin是键盘输入类的系统默认对象,它的输入操作的运算符为,它的参数为变量name。运算符可看作函数的另一种形式的表示,所以运算符也可以有参数。cout是屏幕输出类的系统默认对象,它的输出运算符为。
输入运算符和输出运算符都允许一个对象连续多次使用。endl是换行操作符,每执行一次endl操作符换一行。转义字符\n的功能也是换一新行。; 与C语言的输入函数scanf( )和输出函数printf()相比,C++语言的cin对象的输入运算符()和cout对象的输出运算符(),能对系统的基本数据类型自动进行匹配,并能自动进行格式转换。另外,当要输入输出数据的类型不是系统的基本数据类型,而是用户自定义的数据类型时,C++语言的输入输出方法允许用户通过把该自定义数据类型作为参数,重载输入运算符和输出运算符来方便地输入输出用户自定义数据类型的数据。C++语言的这些性能极大地方便了用户的程序设计。;2. 变 量; 2.1 变量的定义方法
C语言只允许变量在程序开始处定义,而C++语言允许变量在程序的任何位置定义,这就使得C++语言的变量除全局变量和局部变量外,又增加了块变量。C++语言把用花括号{}括起来的一块区域称为块。块变量就是定义在某个块中的变量。变量的作用域就是变量的作用范围。块变量的作用域就是该变量定义的由花括号{}括起来的范围,称作块作用域。块变量在其作用域内是可见的,在其作用域外是不可见的。超出变量的作用域使用变量时,由于变量是不可见的而出错。 ;void main(void)
{
int ii, jj, tt, v(6);
for(int i = 0; i 10; i++)
{
for(int j = 0; j i ; j++)
{
}
int t = 1;
}
ii = i; // 变量i使用正确
// jj = j; // 变量j超出作用域出错
// tt = t; // 变量t超出作用域出错
}; 要说明的是,在循环语句(如for语句)中定义的变量,由于处于花括号外,因此其作用域不是在循环语句的花括号内,而是在花括号外。
另外,C++语言允许在定义变量时用括号格式赋初始值,如v(6),即变量v的初始值为6。int
文档评论(0)