选择与循环(含例题)

         c语言包括顺序结构,选择结构,循环结构,总的来说,选择结构通过if,switch实现,循环结构通过for,while,do while实现。接下来我们就总结一下他们的特点和作用吧!

目录

一.选择结构

1.if  else语句

(1).语法形式

2.switch语句

(1)一般形式

系列文章目录

文章目录

前言

一、循环结构有哪些

二、for结构

一般形式

​编辑

​编辑

其实还有一个问题,就是一定要注意各个大括号的作用和范围,像这个代码中我出现了一个小失误就是printf要在for循环之外,在整个代码的最后,否则会使代码错误

三.while循环


一.选择结构

1.if  else语句

(1).语法形式

if(表达式)

语句1

else

语句2

(2).举例

判断一个数的奇偶性

可知当输入一个整数时判断奇偶,只有2种情况,如下图所示:

02dcd694cea14e069710f032328b1c0b.png

判断成年

c705ca168cc64e2cb6289d430395dc8b.png

        值得注意的是,如果if后面跟多个语句,也就是说,要输出不只一个语句时要加大括号{},因此,在日常写代码时,养成在if,else后面加大括号(即使只有一个语句),可以减少错误的几率。

        当然,除了上面那些极为简单的程序外,还有更多的代码是更复杂的。例如,

判断一个数是正数还是负数,如果是正数,是奇数还是偶数

efae240d595d4c85b84cec17da6f217b.png

        这里再插入一个例子,可以对上面的知识做一个总结练习:

3ce800cb9b96499a912c7cb34b0ea8d5.png

else总是与最近的配对

2.switch语句

选择结构的另一种

(1)一般形式

switch(整形表达式)

case  1;

    printf();

    break;

case  2

    printf();

    break;

default

    printf();

case后面的1,2必须是整型常量表达式  case和后面的数字之间一定要有空格

注意:字符是由ASCII存储的,所以字符也是整型

case 与default的顺序没有要求

(2)例子

输入一个整数值,计算除3之后的余数
 753a49fd06144575a77ec244b9732e30.png
打印对应的星期几

41b71c82dab44a018ad3567721df95b1.jpg

 b78ee900288b4ea0993a79ca2662df30.png

 2ea24a6a880b48559b50a7183cdc74bb.png

一、循环结构

首先要了解一下,循环结构有for结构,while结构和do while结构

1.for

1.一般形式

for(表达式1;表达式2;表达式3;)

{

语句

}

注意:表达式1用于循环变量的初始化

         表达式2用于循环结束条件的判断

         表达式3用于循环变量的调整

          表达式1只进行一次,2之后进行语句,最后进行3,然后重复2,3,2,3

2.while

(1)一般形式

while(表达式) 

语句

//输入一个正整数,逆序打印这个整数的每一位
int main()
{
	int n = 0;
	scanf("%d", &n);
	while (n)
	{
		printf("%d ", n % 10);
		n /= 10;
	}
	return 0;
}

3.do while结构

(1)一般形式

do

    语句

while(表达式)

//输入一个正整数,计算这个整数是几位数
int main()
{
	int n = 0;
	int count = 0;
	scanf("%d", &n);
	do
	{
		count++;
		n /= 10;
	} while (n);
	printf("%d", count);

		return 0;
}

当然,while与do while的区别是while先判断后运行,而do while则是先运行再判断,因此,do while至少循环一次

三.break和continue

1.break在选择结构中就有提到,而在循环中也适用。break的作用是跳出循环且永久的终止循环

在switch语句中放在case后面

switch,while,for,do while

2.continue的作用是跳出本次循环,不再执行后面的代码,直接去判断部分,循环继续。

switch,while,for,do while

四.goto

goto语句可以实现在同一个函数里面跳转到goto这里 

int main()
{
	printf("hehe\n");
	goto next;
	printf("haha\n");
	next:
	printf("oioi\n");

	return 0;
}

五.练习

1.打印1~10

while

int main()
{
	int n = 1;
	while (n < 11)
	{
		
		printf("%d ", n);
		n++;
	}
	return 0;
}

for

int main()
{
	for (int n = 1; n < 11; n++)
	{
		printf("%d ", n);
	}

	return 0;
}

do while

int main()
{
	int n = 1;
	do
	{
		printf("%d ", n);
		n = n + 1;
	} while(n < 11);
	return 0;
}

2.输入一个正的整数,逆序打印这个数的每一位

输入1234  输出4321

int main()
{
	int n,m;
	scanf("%d", &n);

	for ( n; n != 0 ; n = n / 10)
	{
		m = n % 10;
		printf("%d", m);
		
	}
	return 0;
}

3.计算1~100之间的3的倍数的和

int main()
{
	int n = 3,sum;
	for (n = 3, sum = 0; n < 100; n += 3)
	{
		sum += n;
	}
	printf("%d\n", sum);
	return 0;
}

4.输入一个正整数,计算这个数是几位数

int main()
{
	int m, n = 0;
	scanf("%d", &m);
	while(m)
	{

		n = n + 1;
		m = m / 10;
	}
	printf("%d\n", n);
	return 0;
}

5.找出100~200之间的素数并打印出来

int main()
{
	int i = 0;
	for (i = 100; i <= 200; i++)
	{
		int j = 0;
		int flag = 1;
		for (j = 2; j < i; j++)
		{
			if (i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		if (flag == 1)
			printf("%d ", i);
	}

	return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值