【C语言基础】控制语句

控制语句分类

分支

  • if()~ else~

  • switch

循环

  • for()~

  • while()~

  • do~ while~

  • goto

辅助控制

  • continue

  • break

  • return

if-else语句

if语句概述
if (表达式)
    语句块1                                    
else
    语句块2
 
常见形式
 
简化形式
    if(表达式) 语句块     例如:  if(x>y) printf(%d”, x);
 
阶梯形式if语句
if(表达式1) 语句块1
    else if(表达式2) 语句块2
        else if(表达式3) 语句块3
              else if(表达式4) 语句块4
                                    ...
                                   else 语句块n
if语句的嵌套
if()
      if()    语句块1
     else      语句块2
else   
     if()    语句块3
     else     语句块4

注意:

  • 语句块:当有若干条语句时,必须用{…}括起来。

  • 表达式:

  1. 一般情况下为逻辑表达式或关系表达式
  • 如:if(a= =b && x= =y) printf(“a=b,x=y”);
  1. 也可以是任意类型(包括整型、实型、字符型、指针类型)
  • 如:if(‘a’) printf(“%d”,’a’);
  1. 请区分if(x=1)与if(x= =1)的不同。

if语句的嵌套

  • else总是与它上面的最近的if配对,与书写格式无关。

  • 要实行强行的配对关系可以利用{ }

:if()
    {if()    语句块1}
     else 语句块2

switch语句

多分支选择结构

switch语句的基本形式
switch (表达式)
{  case 常量表达式1:语句块1break;
   case 常量表达式2:语句块2; break;.
   case 常量表达式n:语句块n; break;
   default      :语句块n+1
  }

switch语句的使用:

  • 每个常量表达式的值必须各不相同,否则将会出现矛盾。

  • 当表达式的值与case后面的常量表达式值相等时,就执行此case后面的语句。

  • switch中的表达式可以是整型、字符型表达式或枚举。

  • case 常量:只起语句标号的作用。

  • break语句用于强行跳出switch体,一般每个case后面应有一个break语句,default分支后的break可以省略。

  • 多个case可以执行一组语句。

for语句

for(expression1; expression2; expression3)
{
    statements;
}

执行过程

  • 先求解表达式1;

  • 求解表达式2,若为真,则执行循环体,然后执行步骤3;若为假,则执行步骤5; 语句 -求解表达式3;

  • 转回执行步骤2;

  • 执行for下面的语句。

for语句构成循环

  • 表达式1可省略,但循环之前应给循环变量赋值

  • 表达式2可省略,将陷入死循环

  • 表达式3可省略,但在循环体中增加使循环变量值改变的语句

例如:
for(i=1;i<=100;i++)
{
   sum=sum+i;
}

while语句

while语句构成循环
基本形式
while (表达式) {
    statatments;
}

do-while语句

do-while语句构成循环
基本形式
do {
    statatments;
}while(表达式);

goto语句

循环结构程序

  • 当函数有很多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。

  • 理由是:

  • -无条件跳转易于理解

  • -可以减少嵌套

  • -可以避免那种忘记更新某一个出口点的问题

  • -算是帮助编译器做了代码优化

_loop:
 
    statatments;
 
    goto _loop;

break语句

  • 用于从循环体内跳出循环体,即提前结束循环。

  • break只能用在循环语句和switch语句中。

for(r=1;r<=10;r++){
area=pi*r*r;
if(area>100) breakprintf(%f”,area);

素数

在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。

换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。

continue语句

  • 结束本次循环,接着判定下一次是否执行循环

  • 注意continue与break的区别

  • continue只结束本次循环,而break终止本层循环

for(n=100;n<=200;n++) {
if (n%3 == 0)
continue;
printf(%d”,n);
}

return语句

  • return语句的一般形式: return ( <表达式> )

  • 主要用于终止包含它的函数的执行

  • 若终止的为主函数,则主程序结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮晨哲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值