选择结构和循环结构

选择结构

if…else 语句

if…else 语句的一般形式:

if (判断条件)
{
     //满足条件时执行此代码块1;
}
else
{
     //不满足条件时执行此代码2;
}

if…else 语句的流程图为:
在这里插入图片描述

例如,利用键盘输入两个数 a 和 b,编写代码输出其中最大的那个数。

#include<stdio.h>

int main()
{
	int a, b,max;
	printf("input a and b:");
	scanf("%d %d", &a, &b);
	if (a > b)
	{
		max = a;
	}
	else
	{
		max = b;
	}
	printf("max = %d\n", max);
	return 0;
}
/*
结果为
input a and b:12 4
max = 12
*/

switch 语句

switch 是另外一种选择结构的语句,可以用来代替简单的、拥有多个分支的 if…else 语句。

switch 语句格式如下:

switch(表达式)
{
    case 整型数值1: 语句 1;breakcase 整型数值2: 语句 2;break......
    case 整型数值n: 语句 n;breakdefault: 语句 n+1;break}

由于 default 是最后一个分支,匹配后不会再执行其他分支,所以也可以不添加break语句。

注意:
case 后面必须是一个整数,或者是结果为整数的表达式,

break 是C语言中的一个关键字,专门用于跳出 switch 语句。所谓“跳出”,是指一旦遇到 break,就不再执行 switch 中的任何语句。

#include<stdio.h>

int main()
{
	int a;
	printf("Input integer number:");
	scanf("%d", &a);
	switch (a)
	{
	case 1: printf("Monday\n"); break;
	case 2: printf("Tuesday\n"); break;
	case 3: printf("Wednesday\n"); break;
	case 4: printf("Thursday\n"); break;
	case 5: printf("Friday\n"); break;
	case 6: printf("Saturday\n"); break;
	case 7: printf("Sunday\n"); break;
	default:printf("Error\n"); break;
	}
	return 0;
}

循环结构

for 循环

for 循环的一般形式为:

for(表达式1; 表达式2; 表达式3)
{
    //语句块;
}

它的运行过程为:

  1. 先执行 表达式1

  2. 再执行 表达式2 ,如果值为真(非0),则执行循环体,否则结束循环

  3. 执行完循环体后再执行 表达式3

  4. 重复执行步骤 2) 和 3),直到 表达式2 的值为假,就结束循环。

表达式1 仅在第一次循环时执行,以后都不会再执行,可以认为这是一个初始化语句
表达式2一般是一个关系表达式,决定了是否还要继续下次循环,称为“循环条件”。
表达式3很多情况下是一个带有自增或自减操作的表达式,以使循环条件逐渐变得“不成立”。

此处不得不说一说 i++ 与 ++i 的区别。
主要区别有两个:

  1. i++ 返回原来的值,++i 返回加1后的值。
  2. i++ 不能作为左值,而++i 可以。

for 循环的流程图为:
在这里插入图片描述

例如,编写代码计算1+2+3+…+100的值。

#include<stdio.h>

int main()
{
	int sum = 0;
	int i;
	for (i = 1; i <= 100; i++)
	{
		sum = sum + i;
	}
	printf("sum = %d\n", sum);
	return 0;
}
/*
结果为:
sum = 5050
*/

while 循环

while 循环的一般形式为:

while(表达式){
    //语句块
}

通常将 表达式 称为 循环条件,把 语句块 称为 循环体,整个循环的过程就是不断地判断循环条件、并执行循环体的过程。

同样之前 for 循环的例子。(编写代码计算1+2+3+…+100的值。)

#include<stdio.h>

int main()
{
	int sum = 0, i = 1;
	while (i <= 100)
	{
		sum += i;
		i++;
	}
	printf("sum = %d\n", sum);
	return 0;
}
/*
结果为:
sum = 5050
*/

do-while 循环

do-while 循环的一般形式为:

do{
    语句块
}while(表达式);

最后那个分号必须有,不能丢。
do-while 循环先执行 语句块 ,然后再判断表达式是否为真,若为真则继续循环;若为假,则终止循环。

再次重复循环的那个例子。(编写代码计算1+2+3+…+100的值。)

#include<stdio.h>

int main()
{
	int sum = 0, i = 1;
	do{
		sum += i;
		i++;
	} while (i <= 100);
	printf("sum = %d\n", sum);
	return 0;
}
/*
结果为:
sum = 5050
*/

比较常用的循环是 for 循环和 while 循环…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值