C语言入门之分支与循环

目录

一、分支语句

1、if语句

三种形式

if语句的嵌套

2、switch

二、循环语句

1、while语句

2、do…while语句

3、for语言


一、分支语句

分支语句又叫选择结构语句,C语言中,选择结构语句可分为if语句和switch语句。

1、if语句

三种形式

(1)单分支结构 if语句

  • 语法格式:
if(表达式)
{
    语句块;
}
  • 如果表达式的值为真,则执行语句块。

(2)双分支结构 if…else语句

  • 语法格式:
if(表达式)
{
    语句块1;
}
else
{
    语句块2;
}

(3)多分支结构 if…else if…else语句

  • 用于对多个条件进行判断,从而进行多种不同的处理。
  • 语法格式:
if(表达式1) {   语句块1;   }
else if(表达式2) {   语句块2;   }
else if(表达式3) {   语句块3;   }
……
else if(表达式n) {   语句块n;   }
else  {   语句块m;   }
  • 例如,从键盘上输入任意一个字符,判断该字符类型,如下
#include<stdio.h>
int main()
{
	char c;
	printf("Input a character:");
	scanf("%c",&c);

	if(c>='A'&&c<='Z'||c>='a'&&c<='z')
	{
        printf("It is an English character.\n");
	}
    else if(c>='0'&&c<='9')
    {	
        printf("It is a digit character.\n");
    }	
    else
	{
        printf("It is a other character.\n");
    }

	return 0;
}

if语句的嵌套

  • C语言的if语句下如果还有if语句,则称之为if语句的嵌套。
  • 临近原则:else和if成对出现,且总是与最近的未配对的if配对。建议在if后面使用{}将要执行的语句括起来,避免程序代码混乱。
  • 语法格式:
if(表达式1)
{
    if(表达式2)
    {
        语句块1
    }
    else
    {
        语句块2
    }
}
else
{
    if(表达式3)
    {
        语句块3
    }
    else
    {
        语句块4
    }
}

2、switch

  • switch 是另外一种选择结构的语句,用来代替简单的、拥有多个分枝的 if else 语句,基本格式如下:
switch(表达式)
{
    case 常量表达式1: 语句块1;
    case 常量表达式2: 语句块2;
    ......
    case 常量表达式n: 语句块n;
    default: 语句块n+1;
}
  • 执行流程:首先计算表达式的值,与各个case后的常量表达式的值比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有的case语句;如果表达式的值与所有case后的常量表达式均不相同,则执行default后的语句。
  • 注意:表达式的值为整数、字符、枚举类型;case后面的常量表达式只起标号作用,不起条件判断作用,即只是开始执行处的入口标号,一般情况下需要使用break语句跳出switch语句。

二、循环语句

1、while语句

  • 形式:while(表达式)    {  语句块(即循环体);  }
  • 特点:先判断条件表达式,后执行循环体语句。表达式的值为真(以非0值表示)时,就执行循环语句;为假(以0表示)时,就不执行循环体语句,退出循环。
  • 例如:求1.01^365
    #include<stdio.h>
    int main()
    {
    	int i=1;
    	float s=1.0;
    	while(i<=365)
    	{
    		s=s*1.01;
    		i++;
    	}
    	printf("1.01^365=%.2f\n",s);
    	return 0;
    }
    
    //运行结果为 1.01^365=37.78

2、do…while语句

  • 形式:do   {  语句;  }    while(表达式);   
  • 特点:先无条件地执行循环体,然后判断循环条件是否成立
  • 例如:求1+2+3+...+100
    #include<stdio.h>
    int main()
    {
    	int i=1,sum=0;
    	do
    	{
    		sum=sum+i;
    		i++;
    	}
    	while(i<=100);
    	printf("sum=%d\n",sum);
    	return 0;
    }
    
    //运行结果为:sum=5050

3、for语言

  • 一般形式:for(表达式1;表达式2;表达式3)     {   语句;   }
  • 例如上题求1+2+3+...+100
    #include<stdio.h>
    int main()
    {
    	int i=1,sum=0;
    	for(i=1;i<=100;i++)
    	sum=sum+i;
    	printf("sum=%d\n",sum);
    	return 0;
    }
    
    //运行结果为:sum=5050
  •  注意:for语句中,三个表达式均可省略,但分号不可省略,例如for( ; ; );  //相当于while(1)语句;表达式2一般是关系表达式(如i<=100)或逻辑表达式(如a<b && x<y),但也可以是数值表达式或字符表达式,只要其值为非0.就执行循环体。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

朝 颜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值