首页 理论教育C语言单分支程序设计

C语言单分支程序设计

【摘要】:单分支if语句的执行过程如图3.3所示。使用if语句实现单分支选择结构程序时还需要注意下面两点:图3.3if语句的执行流程①作为条件的表达式一般来说应该是关系表达式或逻辑表达式,但C语言中允许表达式是任何可以求出0值或非0值的表达式。同时还需要提醒读者,此处分析的关于条件表达的方法在C程序设计的所有控制结构中都是相同的,今后涉及此问题时不再赘述。

单分支选择if语句的结构形式为:

语句的执行过程为:首先计算作为条件的表达式(exp)值;然后对计算出的表达式值进行逻辑判断,若表达式值不为0(逻辑真),则执行结构中的语句(sentence)后执行if结构的后续语句;若表达式值为0(逻辑假),则跳过语句(sentence)部分直接执行if结构的后续语句。单分支if语句的执行过程如图3.3所示。

使用if语句实现单分支选择结构程序时还需要注意下面两点:

图3.3 if语句的执行流程

①作为条件的表达式一般来说应该是关系表达式或逻辑表达式,但C语言中允许表达式是任何可以求出0值或非0值的表达式。

②C语言语法规定,if结构中的语句部分(sentence)只能是一条C语句,但可以是C语言的任何合法语句(如复合语句、if语句等)。

【例3.2】 编写程序实现功能:从键盘上输入一个整数,若输入的数据是奇数,则输出该数。(www.chuimin.cn)

在上面的程序中,if语句中条件表述不是“关系表达式”或“逻辑表达式”,而是一个“数学表达式”。在C语言中,数学表达式结果可以用“0值”或“非0值”表示,如果要描述条件式为“非0值”时条件成立的情况,则既可以直接使用该表达式表示,也可以使用相应的关系表达式表示。例如,本例的if控制中,使用x%2或者x%2!=0表达了相同的语义。

就一般情况而言,设用符号e来表示任意表达式,表示e结果值为“非0值”时条件成立的情况,既可以直接用e来表示,也可以用e!=0来表示。例如,对if条件语言而言,使用if(e)和if(e!=0)表示相同的控制含义;表示e结果值为“0值”时条件成立的情况,既可以直接用!e来表示,也可以用e==0来表示。使用if(!e)和if(e==0)也表示同样的控制含义。

同时还需要提醒读者,此处分析的关于条件表达的方法在C程序设计的所有控制结构中都是相同的,今后涉及此问题时不再赘述。