您的位置:首页 > 运维架构 > Linux

Unix/Linux C++应用开发-C++控制结构简介

2013-09-08 00:43 274 查看
    C++程序同样也是按照程序书写的顺序来单行执行的。这种顺序型的流程执行控制对于解决实际问题显得不足。软件开发中通常为了处理复杂的需求,需要控制程序不同的走向。于是在原先顺序控制基础上提供了选择控制结构以及循环控制结构。这样三类基本的控制结构加上提供的跳转语句,基本满足了单一入口/出口的程序的需求。

 

C++语言针对三类控制结构,分别提供了相应的具体的使用方式。选择结构包含if单选结构、if/else二路选择结构以及switch多路选择三类。循环结构包含while、do…while和for结构三类,加上顺序结构总共七类具体控制方式。前面第4章开头已经说明过,软件编程就是向计算机说明需要做的事情。通常这个动作在程序中是以语句的方式表示出来的。至于这个动作操作的对象就是计算机资源了。对于具体控制结构,也可以看成是语句的一种组合使用。所以在了解C++具体控制结构使用情况前,先对C++语句有个清晰的认识。

5.1.1  语句与语句块

C++语句就是程序执行的动作。对于语言提供的语句可以分为两类:单条语句和语句块(也称为复合语句)。C++中单条语句都是以分号结尾的,通常又可以细分为声明语句、定义语句、表达式语句等。如下几个单条语句的定义,初步的了解几类单语句的使用。

void getCount();                  //声明函数getCount()

int i = 3;                                 //定义整型变量i,初始化为值3

int j = 2;                                 //定义整型变量j,初始化为值2

sum = i+j;                             //定义整型变量sum,计算表达式i+j的值,将该值赋给sum

如果说单条语句是C++语言执行的基本单元,那么语句块就是这种基本单元的一种组合使用。它只是在语句的组合之外,加上了一对花括号来表明这是程序执行的一个整体。最基本的函数体本身就是一个语句块。前面实际例子中的main()函数下一对括号中的整体部分可以看成是一个语句块。普遍情况下语句块可以看成一个整体,即看成复合语句来执行。下面通过定义语句块在函数中使用的实例,直观的理解语句块的基本定义概念。

int computeResult(intsum,int a,int b)                  //函数头,小括号中间为形式参数定义

{                                                                                   //函数体

         sum =a + b;                                                    //输入参数相加赋值给结果变量sum

         cout<<”Thesum:”<<sum<<endl;                //打印结果变量值

         returnsum;                                                      //返回计算结果值

}

以上是一个计算两个输入变量之和的函数定义。函数由基本的函数名、参数列表以及函数体组成。其中,大括号括住的即为其函数体定义,这就是一个语句块。而中间每个分号结尾的句子称为程序执行的语句。这里暂时只介绍语句和语句块的概念,函数的相关概念会在后续章节详细介绍。

在C++中,无论将一条语句放在什么地方,都可以看作是给其加上一对大括号。因此在一个语句块中放置的语句可以看成是语句块中放置了语句块,这个概念称为嵌套。语句块的嵌套使用在软件编程中应该说是相当常见的,往往在极端的情况下会嵌套多层处理。但是从软件模块性开发来讲,每个功能函数定义往往要实现比较单一的功能,即应该避免多层嵌套的情况出现。如果不可避免,可以考虑重新划分功能域来达到简化程序执行功能的目的。

5.1.2  代码风格

C++语言书写程序只需要注意相关的语法格式使用,确保其正确性即可。对于一门通用性的语言,C++对于代码书写的风格等并没有特别的规定。这也是很多初学者在学习C++语言时经常被其多变的风格所困扰的原因。在软件工程项目中,为了能够更好的和团队协同开发以及减轻维护的工作量,通常会对相应的代码风格做出基本的约定。因此在继续深入学习该语言之前,对于代码的基本书写风格有必要着重讲述一下。

C++程序代码风格通常涉及命名约定、语句块的布局以及注释风格等方面。衡量好的程序编制必须是符合一定规范要求的。下面将会从这几个方面作一个基本的讲述。

1.代码命名约定

C++代码命名约定可以简单的分为变量命名、参数命名、类命名、方法和函数命名、常量命名等。最常见的约定就是变量和参数命名通常以小写字母开头的单词组合而成,一般为名词或者形容词和名词的组合。方法和函数名用小写字母开头的单词组合而成,并且必须是动作性的。常量一般是全部使用大写字母,遇到多个单词组合,中间使用下划线分割。这里只作简单的讲述,更多的风格约定可以根据开发者喜好来制定。

2.语句块布局

为了编写清晰易理解的代码,需要适当注意语句以及语句块的布局风格,注意程序的整体美观。例如,常见的基本语句布局如下所示。

int sum = i + j;            //一条语句定义为一行

if (true)                        //对于语句块,上下行括号对称摆放

{

                                     //函数体

}

if(true)                         //即使if单选结构之后只有单条语句,需要加上语句块括号

{

         doSomthing();

}

C++程序布局风格同样具有多样性,语句块布局风格没有硬性规定,只需要在软件项目中保持该布局的一致性即可,风格喜好依据个人所定。目前差不多规范的软件企业都会针对软件开发的风格作基本的要求。

3.注释风格

C++语言在C语言基础上发展而来,因此C++程序兼容了C语言和C++自身的注释风格。C语言注释符为“/*…*/”,C++注释符为“//”,常见两种注释符使用情况如下所示。

/**

* 函数名:getFileName

* 功 
能:获取文件名

* 参 
数:无

* 返回值:返回文件名

**/

string getFileName()

{

         returnm_filename;            //返回文件处理类私有成员变量

}

以上实例中采用了C++和C语言注释风格相结合的方式,通常C语言的注释风格可以使用在函数方法说明,类说明以及文件说明等程序块注释。C++注释通常使用于单行语句注释。

C++是门支持多种代码风格的语言,对于初学者有选择的遵循一些基本约定有助于编写清晰易懂便于维护的代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: