分支循环语句

C语言是结构化的程序设计语言——顺序结构、选择结构、循环结构

C语句可分为以下五类: 1. 表达式语句 2. 函数调用语句 3. 控制语句 4. 复合语句 5. 空语句

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。 可分成以下三类:

1. 条件判断语句也叫分支语句:if语句、switch语句;

2. 循环执行语句:do while语句、while语句、for语句;

3. 转向语句:break语句、goto语句、continue语句、return语句

目录

if语句

Switch语句

 While语句


if语句

else的匹配:else是和它离的最近的if匹配的。

例:输出1-100之间的奇数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//输出1-100之间的奇数
int main()
{
	int i=0 ;
	while (i < 100)
	{
		i++;

		if (i % 2 != 0)
		{
			printf("%d\n",i);
		}
		else
		{
			;
		}

	}
	return 0;
}

Switch语句

switch语句是一种分支语句,用于多分支情况

1.基本格式

switch(整型表达式)

{    

   语句项

}

2.语句项——是一些case语句:

如下:

case 整形常量表达式:    

           语句;

3.break——跳出/停止

break将语句列表划分为不同的分支部分

4.default子句

每个switch语句中只能出现一条default子句,但是它没有顺序问题,而且语句流也会像执行一个case标签一样执行default子句

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//switch语句
int main()
{
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
	case 5:
	case 6:
	case 7:
		printf("周末\n");
		break;
	
	default:
		printf("火星\n");
		break;
	}
	return 0;
}

 While语句

1.while 语法结构

while(表达式)

{

循环语句;

}

2.break——在while循环中,break用于永久的终止循环

3.continue——在while循环中,跳过本次循环continue后面的代码,直接去判断部分,看是否进行下一次循环

//while语句
int main()
{
	int ch = 0;
	while ((ch = getchar()) != EOF))//getchar获取一个字符
	{
		putchar(ch);//putchar输出一个字符
	}

	return 0;
}

 getchar,scanf等输入函数——>在中间的缓冲区取数据<——键盘

//一个缓冲区的概念
int main()
{
	char password[20] = {0};
	printf("请输入密码:>");
	scanf("%s", password);
	
	
	//清理缓存
	//清理缓冲区的多个字符
	int t = 0;
	while ((t = getchar() )!= '\n')
	{
		;
	}
    
    printf("请确认密码(Y/N):>");
  
	int ch = getchar();
	if (ch == 'Y')
	{
		printf("确认成功\n");
	}
	else
	{
		printf("确认失败\n");
	}
	return 0;
}

例如:密码输入071503 abcdef

若不清理缓冲区数据,scanf先取071503,getchar就可以取缓冲区保留的 abcdef\n

正确处理:scanf先取071503,while循环getchar取完 abcdef\n,这样余后的getchar可以读取Y或者N

存在问题:此时password的值并不是071503 abcdef,而成了071503

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值