C语言基础值—控制语句

一、控制语句


1.switch语句

    多分支选择结构

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

    switch语句的使用:
    • 每个常表达式的值必须各不相同,否则将会出现矛盾。
    • 当表达式的值与case后面的常量表达式值相等时,就执行此case后边的语句。
    • switch中的表达式可以是整型、字符型表达式或枚举。
    • case常量只起语句标号的作用。

#include<stdio.h>
int main (void)
{
	int temp = 5;
	switch(temp)
	{
		case 1:
			printf("1\n");
			break;
		case 2:
			printf("2\n");
			break;
		case 3:
			printf("3\n");
			break;
		case 4:
			printf("4\n");
			break;
		case 5:
			printf("5\n");
		default :
			printf("err");
	}
	return 0;
}
运行结果:5

注:default放到最后可以省略break。

二、循环语句

1.goto语句

例:计算1-100之和。

#include<stdio.h>
int main(void)
{
   int i = 1;
   int sum = 0;
   loop:
   if(i<=100)
   {
      sum +=i;
      i++;
      goto loop;
   }
   printf("1+2+3+...+100 = %d\n",sum);
   return 0;
}

运行结果:

1+2+3+...+100 = 5050

注:其中goto后的loop可以变换形式写成"_loop"均可

goto语句的优点
集中于一处输出函数

  • 当函数有多个出口,使用goto把这些出口集中到一处是很方便的,特别是函数中有许多重复的清理工作的时候。
  • 无条件跳转易于理解
  • 可以减少嵌套
  • 可以避免那种忘记更新某一个出口的问题
  • 算是帮助编译器做了代码优化

2.while()语句

while语句循环构成

  • 基本形式
    while(表达式)
    {
    statatments;
    }

例:1-100求和

#include<stdio.h>
int main(void)
{
    int  i = 1;
    int sum = 0;
    while(i<=100)
    {
        sum +=i;
        i++;
    }
    printf("1+2+3+...+100 = %d\n",sum);
    return 0;
}

运行结果:

1+2+3+...+100 = 5050

3. do while()

do-while语句循环构成

  • 基本形式
    do
    {
    statatments;
    }while(表达式)

例:1-100求和

#include<stdio.h>
int main(void)
{
    int  i = 1;
    int sum = 0;
    do
    {
        sum +=i;
        i++;
    }while(i<=100)
    printf("1+2+3+...+100 = %d\n",sum);
    return 0;
}

运行结果:

1+2+3+...+100 = 5050

4.for语句

for语句循环构成

  • 基本形式
    for(表达式1;表达式2;表达式3)
    {\
    statatments;
    }
  • 表达式1可省略,单循环之前应给循环变量赋值
  • 表达式2可省略,将陷入死循环
  • 表达式3可省略,单在循环体中增加循环变量值改变的语句\

例:1-100求和

#include<stdio.h>
int main(void)
{
    int  i = 1;
    int sum = 0;
    for(i = 1;i <= 100;i++)
    {
        sum +=i;
    }
    printf("1+2+3+...+100 = %d\n",sum);
    return 0;
}

运行结果:

1+2+3+...+100 = 5050
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值