C++_概述+程序组成
⼀、C++概述
1、C++起源于C语⾔
C语⾔是在B语⾔的基础上发展起来的,1972年美国贝尔实验室的Dennis M.Ritchie为了克服B语⾔的不⾜,在B语⾔的基础上重新设计了⼀种语⾔,称为C语⾔。与C语⾔⼀样,C++也是在贝尔实验室诞⽣的,Bjarne Stroustrup博⼠及其同事在C语⾔的基础上开发成功的⾯向对象(oop)的语⾔。
  C++是C语⾔的继承,它既可以进⾏C语⾔的过程化程序设计,⼜可以进⾏以抽象数据类型为特点的基于对象的程序设计,还可以进⾏以继承和多态为特点的⾯向对象的程序设计。C++擅长⾯向对象程序设计的同时,还可以进⾏基于过程的程序设计,因⽽C++就适应的问题规模⽽论,⼤⼩由之。
  C++不仅拥有计算机⾼效运⾏的实⽤性特征,同时还致⼒于提⾼⼤规模程序的编程质量与程序设计语⾔的问题描述能⼒。
2、C++与C语⾔的对⽐
(1)C语⾔是C++的⼦集,即C++包括了整个C
【1】含有C的全部特征、属性和优点
【2】包括过程性语⾔部分和类部分
(2)C++改进了C的不⾜之处
【1】类型检验机制薄弱
【2】不⽀持代码重⽤
【3】不适合开发⼤型程序
(3)C是⾯向过程的语⾔,⽽C++是⾯向对象的语⾔
在改进C的同时,保持C的简洁性和⾼效性
⼆、C++的开发过程
与其他⾼级语⾔程序的开发过程类似,⼀般经过四个步骤
1、C++源程序的基本组成
C++程序是由预处理命令和函数组成的
(1)预处理命令
【1】位于程序的⾸部,从符号“#”开始
【2】C++提供的预处理命令有:
宏定义、⽂件和条件编译  (注:不能加分号)
#define    S(r)    3.14*r*r
#define    EOF    -1
#include    <iostream.h>
#ifdef    //标识符
……    //程序段
#endif
(2)函数
⼀个C++程序是由包含main()函数在内的若⼲个函数构成的。main()函数是主函数,⼀个完整的C++程序必须有且只能有⼀个主函数,程序
的执⾏从主函数开始。被调⽤函数分为库函数(标准函数)和⾃定义函数,库函数⼀般由系统提供。
>>函数的说明部分
>>函数体
(3)程序语句
>>说明语句
>>表达式语句
>>程序控制语句
>>复合语句
>>函数调⽤语句
>>空语句
(4)注释⾏
(5)新的I/o流
//C语⾔
int i;
enum c++
float f;
scanf("%d",i);    //错
printf("%d",f);    //错
//C++语⾔
int i;
float f;
cin>>i;
cout<<f;
C++使⽤了更安全、更⽅便的⽅法进⾏I/o操作。
2、流输⼊输出语句
(1)cin是标准输⼊流
标准输⼊流对应的输⼊设备是键盘,表⽰将从键盘输⼊的数据传给右⽅指定的变量。
int a;
-->
cin>>a;
cin>>b>>c>>a;
【1】把输⼊数据⾃动转换成右边变量的类型,但是右边变量的类型不能是void
【2】可连续输⼊多个数据,连个数据之间⽤空格或者回车分开
(2)cout是标准输出流
标准输出流对应的输出设备是屏幕,表⽰将右边或表达式的值输出到屏幕上。
cout<<"This is the start of something wonderful!";
cout<<a+b<<c;
cout<<"The result is:"<<result<<"All done!";
【1】右边变量的类型不能是void
【2】可连续输出多个数据
3、使⽤I/o注意事项
(1)使⽤cin和cout时,必须在程序中嵌⼊头⽂件iostream.h,因为在头⽂件iostream.h中定义了cin和cout两个对象。
#include <iostream.h>  //⽼版编译器,如C++6.0
#include <iostream>        //Vs
using namespace std;
int main()
{
char name[20];
cout << "hello,your name:";
cin >> name;
cout << name;
system("pause");
return0;
}
(2)在C++中仍可以使⽤scanf()和printf()函数
(3)可使⽤转换基数的操作符
dec(⼗进制)、hex(⼗六进制)、oct(⼋进制)、缺省为⼗进制
(4)C++中的换⾏控制符:‘\n’ 和 endl
4、灵活的局部变量说明
(1)在C语⾔中:⼀个块开始时,必须在所有可执⾏语句之前声明局部变量。
(2)在C++中:局部变量声明看作是正规的程序语句,因此可以放在程序语句能出现的任何地⽅,从其说明点到该变量所在的最⼩分程序末的范围内有效。但在该变量第⼀次引⽤之前,它的声明必须已经出现过。
5、结构、联合和枚举名可直接作为类型名
//在C语⾔中
enum bool{FALSE,TRUE};
struct string{
char *ptr;
int lenth;
};
enum bool done;
struct sting str;
//在C++中
[ enum ] bool done;
[ struct ] string str;
6、const修饰符
(1)⽤const定义常量
//1、在C语⾔中定义常量
#define LIMIT 100
//2、在C++语⾔中定义常量
const int LIMIT=100;    //⽤const定义的常量有类型和地址
注:const的作⽤与#define相似,但它消除了#define的不安全性
(2)const的使⽤说明
【1】如果定义的是整型常量,可省略int
【2】常量⼀旦被建⽴,在程序的任何地⽅都不能修改
【3】const定义的常量有类型,所以编译时可进⾏类型检查
【4】⽐#define具有更强的安全性
【5】函数参数也可以所以const说明,以保证实参在该函数内不能被修改
【6】const定义的常量可是局部和全局的
(3)指向常量的指针、常指针和指向常量的常指针。
【1】指向常量的指针:指向常量的普通指针变量
const char *name = "chen";    //name是指向⼀个常量的指针变量
name[2] = 'a';    //错
name = "zhang"//对
【2】常指针:指针变量是常量
char *const name = "chen";    //name是⼀个常量,它指向固定的存储单元。地址不能变。name[2] = 'a';    //对
name = "zhang"//错

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。