优秀的编程知识分享平台

网站首页 > 技术文章 正文

C++学习目标:最简单实用的语句和条件语句介绍(附图说明)

nanyue 2024-07-18 22:18:56 技术文章 9 ℃

(1) 语句概念

语句(statement)是C++程序运行的最小独立单元,一般由分号(;)结束。可分为简单语句和复合语句。

简单语句(simple statement)一般仅占用一行。由于屏幕显示大小原因,也可以在不影响语义的情况下换行占用多行。空语句、声明语句、赋值语句、表达式语句等均属于简单语句,如:

; //空语句

int nValue = 123; //声明语句

nValue = 123 + 456; //赋值语句

++nValue; //表达式语句

char szValue[10] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; //多行语句

复合语句(compound statement)是由一对大括号包括的语句序列,大括号里包含的语句既可以是一个或多个简单语句,也可以是复合语句。如:

if (nValue > 100)
{
    ++nCount;
    if (nCount > 0)
    {
        nCount = 0;
    }
    nValue = 100;
}

如果大括号内仅包含一个简单语句或复合语句,该大括号也可以删除。如:

if (nCount > 0)
    nCount = 0;

常用的复合语句是条件语句和循环语句。

(2) 条件语句

条件语句是根据判断条件的结果,选择执行一个语句块。主要有两种条件语句:if语句和switch语句。

if语句的语法形式如下:

if (条件)

{

语句块1

}

else

{

语句块2

}

表达含义为:如果“条件”结果为真,则执行“语句块1”;如果“条件”结果不为真,则执行“语句块2”。该语句有两个关键字ifelse,其中else是可选项。

可参见STL库文件“istream”里如下代码的用法:

switch语句的语法形式如下:

switch (表达式)

{

case 值1:

语句块1

break;

case 值2:

语句块2

break;

default:

语句块0

break;

}

表达含义为:如果“表达式”的值为“值1”,则执行“语句块1”;如果“表达式”的值为“值2”,则执行“语句块2”;如果“表达式”的值为其它值,均执行“语句块0”。该语句有四个关键字switchcasedefaultbreakcase的个数是可选的。其中else是可选项。

可参见MFC库文件“wincore.cpp”里如下代码的用法:

case语句的“值”必须为简单常量,且不可以为字符串、浮点数等。故switch语句主要用于对一个简单集合做条件判断。如整数集合、字母集合、枚举集合等。

从语义上讲,所有的switch语句均可以改写为嵌套if-else语句的形式。但逻辑上,switch语句更易于理解。

(3) 循环语句

循环语句是在循环条件为真时,重复执行一个语句块,直至循环条件不为真终止。主要有三种条件语句:for语句、while语句和do while语句。

该部分内容细节较多,下一个学习目标再展开描述。

(4) 实用说明

  • 尽量避免一行代码包含多个简单语句。
  • 复合语句里即使仅包含一个简单语句,其大括号也不应该删除。这样包含的语句块边界比较清晰明确。这是大多商业企业的编码规范要求。
  • 条件语句应优先使用正逻辑,即:

if (条件)

{ 语句块1 }

else

{ 语句块2 }

尽量不使用反逻辑,即:

if (!条件)

{ 语句块2 }

else

{ 语句块1 }

  • if语句嵌套层数不宜过多,会增加复杂度,难于测试。
  • switch语句应保证必须有default语句块,防止使用不当。

学习目标“最简单实用的语句和条件语句介绍”已完成[再见]

最近发表
标签列表