C语言学习--分支与循环结构(上)

C语言是结构化的程序设计语言,因为C语言支持3种结构:顺序结构,选择结构,循环结构。

一、顺序结构

顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行

比如,把大象放进冰箱需要几步?打开冰箱->把大象放进去->关上冰箱门,只要我们按顺序执行这几步就可以完成了。(虽然没有这么大的冰箱,但意思就是这么个意思,这个就不多介绍啦)

二、选择结构

顾名思义,就是要你做出选择的一种结构。比如,假期去哪里旅游?同一时刻,你选择了去北京,就不能去海南,也就是在岔路口面临选择的情况。在计算机编程中,当满足条件A时选择执行一条语句,这是单分支结构,通常使用if实现;当满足条件A时选择执行a语句,否则执行b语句,这是双分支结构,可以用if-else实现;还有多分支结构,也是基于单双分支结构实现的。

选择结构示意图如下:
分支结构

下面来分开讲讲单分支结构、双分支结构和多分支结构。

1.单分支结构

这一结构涉及if语句,if()里面的表达式成立(为真),则语句执⾏,表达式不成⽴(为假),则语句不执行

if 语句的语法形式如下:

if(表达式)
	语句 //可以是空语句

来个程序实例:如果用户输入的数据大于等于140,则打印Genius。

#include <stdio.h>
int main() {
    int a;
    while (scanf("%d", &a) != EOF) { // 注意 while 处理多个 case
    
        if(a>=140)
            printf("Genius");

    }
    return 0;
}

2.双分支结构

这一结构需要在if的基础上增加一个else分支。语法形式如下:

if(表达式)
	语句1 //也可以执行多条语句
else
	语句2

程序实例:若输入的数能被5整除(是5的倍数),则输出YES,否则输出NO。

#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    if(n%5==0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

3.多分支结构

在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。语法形式如下:

if(表达式2)
	语句1
	
else if(表达式2)
	语句2
	
····· //中间还可以插入更多个else if分支
	
else
	语句3

程序实例:判断从键盘输入的两个数的大小关系并打印。

#include <stdio.h>
int main() {
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
        if (a > b)
            printf("%d>%d\n", a, b);
        else if (a < b) 
            printf("%d<%d\n", a, b);
        else printf("%d=%d\n", a, b);
    }
    return 0;
}

注:如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。

除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。语法形式如下:

switch (expression) {
	case value1: statement
	case value2: statement
	default: statement
}

程序实例:输⼊任意⼀个整数值,计算除3之后的余数

#include <stdio.h>
int main()
{
	int n = 0;
	scanf("%d", &n);
	switch(n%3) { //()内必须填整型表达式(字符本质是ASCII码,是整型,也可以放进去)
		case 0: //case和后边的数字之间必须有空格
			printf("整除,余数为0\n"); 
			break; //每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。否则下面case 1,2也会被顺序执行
		case 1:
			printf("余数是1\n"); 
			break;
		case 2:
			printf("余数是2\n"); 
			break;
		//default可被省略
	}
	return 0;
}

在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊default ⼦句

以上就是C语言中分支结构的简单介绍和实现啦,祝大家学习愉快~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值