C语言控制语句:分支与循环

 一.C语言的循环

  通过简单的学习,我们已经初步了解到了在C语言控制语句中主要包括三种循环语句———for、while、do while;

(1)while循环

  while 循环的通用形式:

    while(expression) 

 statement

  statement部分可以是以分号结尾的简单语句,也可以使用花括号括起来的复合语句。expression的值为真的话,执行statement部分一次再次判断expression。在expression为假之前循环的判断和执行一直重复进行。

  *循环语句中的关系运算符和表达式

  小于 <          小于或等于 <=         等于 ==     

  大于或等于>=           大于 >        不等于!=

  *什么是真 

  对C语言而言,表达式为真的值是1表达式为假的值是0。一些C语言程序使用下面的循环结构,由于1为真,所以循环会一直进行。 

while(1)

{

......

}

(2)do while 循环

下面是 do while 语句循环的一般形式

  do  

         statement 

while(expreession);

  statement可以是一条简单语句或复合语句, do while 需要以分号结尾。在 do while 语句中 循环在执行完循环体后才执行测试条件,所以至少执行一次,而 for while 语句则是在执行循环体之前先执行测试条件。 do while 循环适合那些至少要执行一次的循环。

(3)for 循环

  for 语句使用3个表达式控制循环过程

        for(initialize; test; update)

statement

  initialize表达式在执行for循环之前只执行一次,然后对test表达式求值,如果表达式为真或非零,循环执行一次,接着对update表达式求值,再检查test表达式。for语句是一种入口条件循环,即在执行循环之前就决定了是否循环,因此for循环可能执行一次。statement部分是条简单语句或复合语句。

二.分支和跳转

  主要包含了  if语句、 if else语句、逻辑运算符、条件运算符等。

(1)if语句

  一般形式

if(表达式)

语句

 表达式成立(为真),则语句执行,否则(为假)语句不执行。

(2)else 语句

  一般形式

if(表达式)

        语句1

else

        语句2

例如,我们可以使用if else结构来判断一个数字是奇数还是偶数

#include <stdio.h>

int main() 
{
    int num = 5;
    if (num % 2 == 0)
 {
        printf("这是一个偶数\n");
    } else 
{
        printf("这是一个奇数\n");
    }
    return 0;
}

(3)逻辑运算符

(4)条件运算符

  条件运算符(conditional operator)有时候也称为三元运算符(ternary operator,或者trinary operator),因为它是唯一需要 3 个操作数的运算符,条件表达式的一般形式为

  条件 ? 表达式1 : 表达式2

  条件运算操作会首先计算条件,然后根据条件的计算结果,再决定要计算两个表达式中的哪一个,通常用于赋值语句之中。其求值规则为:

  如果条件表达式为真,整个表达式的值为表达式1的值。

  如果条件表达式为假,整个表达式的值为表达式2的值。

  条件运算符代表了在程序流中的条件式跳转,因此,有时候可以与 if-else 语句相互替代。

  比如:如果我们希望获得两个数中最大的一个,我们可以使用if语句:

if(a>b)

{
  max = a;
  }else

{
  max = b;
  }

  上面所描述的if else语句等价于:

max = (a>b)?a:b;

  该语句的语义是:如a>b为真,则把a赋予max,否则把b赋予max。

       

  

 

  

  • 29
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值