c++程式

c++程式【c++程式】C++程式是一门广泛用于工业软体研发的大型语言 。具有很高的複杂性和解决问题的能力 。C++不仅在开发上极具价值,同时在学术界也就有很高的价值 。有关C++的文章应该可以用浩如烟海来形容了吧 。
基本介绍中文名:c++程式
介绍C++程式是一门广泛用于工业软体研发的大型语言 。具有很高的複杂性和解决问题的能力 。C++不仅在开发上极具价值,同时在学术界也就有很高的价值 。有关C++的文章应该可以用浩如烟海来形容了吧 。C++的世界级经典书籍也是数不胜数 。然而,目前开发语言是如此地繁荣,就连微软也在推出了新的开发语言C# 。一个不可否认的现实是,在低阶程式设计领域,C++挤压着C同时也在承受着C的强烈反弹,前段时间看了据说是微软作业系统原始码的东东,其中很多还是C语言 。而在高阶程式设计领域,Java和C#正在不断蚕食着C++的地盘 。也许Java和C#的狂潮终将迫使C++回归本位— 回到它有着根本性优势的开发领域:低级系统程式设计、高级大规模高性能套用设计、嵌入式程式设计、通用程式设计以及数值科学计算等 。果真如此,我认为这未尝不是一件好事 。电力系统软体所要求的高性能和大规模数值计算正是C++所擅长的 。就我所接触的南瑞和鲁能,很多涉及到电力系统计算的软体如PAS等,都是用C++来开发的 。在电力系统软体开发这块阵地,C++大有用武之地 。C++吸引如此之多的智力投入,以至于这个领域的优秀作品,包括重量级的软体产品、程式库以及书籍等,数不胜数 。在C++之父Bjarne Stroustrup的个人主页上,有一页列出了一些(全部或大部分)使用C++编写的系统、应用程式和库 。起源C++程式源于C语言,还记得很久以前学习C语言的时光(那是一段快乐而充实的时光),可是现在学习C++,并不是在C的基础上加上了类而已,如果这样认为,我们是耍不好C++的 。因此,C++绝不是C的升级或扩充,我们应该把C++当作一门新语言来学习(C++之父Bjarne Stroustrup语) 。套用写程式首先希望是程式能正确执行,其次是效率能够被接受,再次就是易于维护 。C++是一个难学易用的语言 。C++提供了太多可选择的东西,而且使用使用C++来写程式可以有四种思考模式:基于过程、基于对象、面向对象和泛型 。STL对效率做了严格的要求,而且使用STL写出来的程式简洁美观(前段时间我特意贴了一个要求对若干整数进行排序的帖子,其实目的就是用来展示STL的简洁优雅) 。一旦习惯使用泛型思维来考虑问题,我们能够充分体会到模板带来的美!对于数值计算来说,C++标準程式库可以充分满足现代化服务和商业计算对数据、信息的即时回应的要求 。我觉得学好一门语言最重要的就是实践 。也就是多“写”!“工程经验之积累”对已具有一段开发时间的程式设计师而言,非常重要!只有在不断的积累中,我们才能渐渐体会到C++语言中的一些背后的东西 。对于这点,没有大量程式代码写作经验的菜鸟,也可以藉助《Effective C++》先攒一些经验值 。《Effective C++》是一本好书! 。Meyers的书绝对值得一读,Meyers可以说当今C++社群中数一数二的技术专家 。C++与C语言的对比C是C++的基础,C++语言和C语言在很多方面是兼容的 。因此,掌握了C语言,再进一步学习C++就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目的 。C是一个结构化语言,它的重点在于算法和数据结构 。C程式的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制) 。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制 。所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样 。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ” 。C++程式的构成和书写形式C++程式的结构和书写格式归纳如下:1.一个C++程式可以由一个程式单位或多个程式单位构成?每一个程式单位作为一个档案?在程式编译时,编译系统分别对各个档案进行编译,因此,一个档案是一个编译单元?2.在一个程式单位中,可以包括以下几个部分:① 预处理命令?上节4个程式中都包括#include命令?② 全局声明部分(在函式外的声明部分)?在这部分中包括对用户自己定义的数据类型的声明和程式中所用到的变数的定义?③ 函式?函式是实现操作的部分,因此函式是程式中必须有的和最基本的组成部分?每一个程式必须包括一个或多个函式,其中必须有一个(而且只能有一个)主函式(main函式)?但是并不要求每一个程式档案都必须具有以上3个部分,可以缺少某些部分(包括函式)?3.一个函式由两部分组成:① 函式首部,即函式的第一行?包括函式名?函式类型?函式属性?函式参数(形参)名?参数类型?注:一个函式名后面必须跟一对圆括弧, 函式参数可以预设,如int main( )?② 函式体,即函式首部下面的大括弧内的部分?如果在一个函式中有多个大括弧,则最外层的一对{ }为函式体的範围?函式体一般包括:①局部声明部分 (在函式内的声明部分)?包括对本函式中所用到的类型?函式的声明和变数的定义?注:对数据的声明既可以放在函式之外(其作用範围是全局的),也可以放在函式内(其作用範围是局部的,只在本函式内有效)?②执行部分?由若干个执行语句组成,用来进行有关的操作,以实现函式的功能?4.语句包括两类:一类是声明语句,另一类是执行语句? C++对每一种语句赋予一种特定的功能?语句是实现操作的基本成分,显然,没有语句的函式是没有意义的?C++语句必须以分号结束?5.一个C++程式总是从main函式开始执行的,而不论main函式在整个程式中的位置如何?6.类(class)是C++新增加的重要的数据类型,是C++对C的最重要的发展?有了类,就可以实现面向对象程式设计方法中的封装?信息隐蔽?继承?派生?多态等功能?在一个类中可以包括数据成员和成员函式,他们可以被指定为私有的(private)和公用的(public)属性?私有的数据成员和成员函式只能被本类的成员函式所调用? 7.C++程式书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上?C++程式没有行号,也不像FORTRAN或COBOL那样严格规定书写格式(语句必须从某一列开始书写)?8.一个好的?有使用价值的源程式都应当加上必要的注释,以增加程式的可读性?C++还保留了C语言的注释形式,可以用“/*……*/”对C++程式中的任何部分作注释?在“/*”和“*/”之间的全部内容作为注释?用“//”作注释时,有效範围只有一行,即本行有效,不能跨行?而用“/*……*/”作注释时有效範围为多行?只要在开始处有一个“/*”,在最后一行结束处有一个“*/”即可?因此,一般习惯是: 内容较少的简单注释常用“//”,内容较长的常用“/*……*/ ”?