【C语言入门】分支和循环

这篇具有很好参考价值的文章主要介绍了【C语言入门】分支和循环。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

 ✨✨欢迎大家来到Celia的博客✨✨

🎉🎉创作不易,请点赞关注,多多支持哦🎉🎉

所属专栏:C语言

个人主页:Celia's blog~

目录

引言

1. if语句

1.1 if

 1.2 else

1.3 if的嵌套 

2. 操作符

2.1 关系操作符

2.2 条件操作符 

2.3 逻辑操作符

2.3.1 逻辑取反运算符 !

2.3.2 逻辑或运算符 | |​编辑

2.3.3 逻辑与运算符 &&

3. switch语句

4. 循环

4.1 while循环

4.2 for循环

4.3 do while循环

5. break 与continue语句

6.循环的嵌套

7.goto语句


引言

  在C语言中,有三种结构,分别是顺序结构,选择结构,循环结构,这篇文章将会简单介绍选择结构和循环结构。

1. if语句

1.1 if

  if语句的语法如下:

if(表达式)
{
    语句
}

在C语言中,0为假,非0为真, 如果表达式里的结果为真,就执行下面的语句,反之不执行。 

 举例:

#include<stdio.h>
int main()
{
	int a = 3;
	if(a==3)
	{
		printf("%d", a);
	}
	return 0;
}

这个程序会判断a是否等于3,如果是则输出a的值。结果如下:

 【C语言入门】分支和循环,C语言,c语言,开发语言,算法

注意: 如果if后只有一条语句,是可以不加花括号的,如果if后有多条语句,就必须加上花括号。

 1.2 else

  如果一个数不是偶数,那么这个数一定是奇数,我们用if else语句来实现判断一个数是奇数还是偶数,代码如下:

#include<stdio.h>
int main()
{
	int a ;
	scanf("%d", &a);
	if (a % 2 == 0)
	{
		printf("偶数\n");
	}
	else
		printf("奇数\n");
	return 0;
}

 【C语言入门】分支和循环,C语言,c语言,开发语言,算法

 【C语言入门】分支和循环,C语言,c语言,开发语言,算法

注意

1.else的后面是不能加“ ()”的。在这里,如果a可以被2整除,就执行if后的语句,除这种情况外,都会执行else后的语句。

2.else总是和最近的if进行匹配。

1.3 if的嵌套 

  在if else语句中,else后的语句中可以包含if,形成多重判断。举一个简单的例子。

输入一个人的成绩 grade

  • 90<grade<=100,输出A
  • 80<grade<=90,输出B
  • 59<grade<=80,输出C
  • 0<grade<=59,输出D
#include<stdio.h>
int main()
{
	int grade ;
	scanf("%d", &grade);
	if (grade>90 && grade<=100)
	{
		printf("A");
	}
	else
	{
		if (grade > 80 && grade <= 90)
		{
			printf("B");
		}
		else
		{
			if (grade > 59 && grade <= 80)
			{
				printf("C");
			}
			else
			{
				if (grade > 0 && grade <= 59)
				{
					printf("D");
				}
			}
		}
	}
	return 0;
}

我们也可以简化一下代码:

#include<stdio.h>
int main()
{
	int grade ;
	scanf("%d", &grade);
	if (grade>90 && grade<=100)
	{
		printf("A");
	}
	else if (grade > 80 && grade <= 90)
		{
			printf("B");
		}
	else if (grade > 59 && grade <= 80)
			{
				printf("C");
			}
	else if (grade > 0 && grade <= 59)
			{
				printf("D");
			}
	return 0;
}

2. 操作符

2.1 关系操作符

  • >:大于运算符
  • <:小于运算符
  • >=:大于等于运算符
  • <=:小于等于运算符
  • ==:等于运算符
  • !=:不等于运算符

例如:

a>b
a<b
a>=b
a<=b
a==b
a!=b

 关系表达式通常返回 0 或 1 ,表示真假。

注意:多个关系运算符不宜连用,比如a>b>c,实际上运算的形式为:

(a>b)>c

在上面的式子中,(a>b)会返回0或1与c进行比较。

正确的写法为:

a>b && b>c

2.2 条件操作符 

  条件操作符也叫三目操作符,形式如下:

exp1 ? exp2 :exp3

它的意思是,判断 exp1的真假,如果为真,exp2计算,计算的结果就是整个表达式的结果,如果为假,exp3计算,计算的结果就是整个表达式的结果。

比如下表面这段代码:

#include<stdio.h>
int main()
{
	int a, b;
	scanf("%d", &a);
	if (a > 5)
		b = 3;
	else
		b = 6;
	printf("%d", b);
	return 0;
}

我们可以将它改造成:

#include<stdio.h>
int main()
{
	int a, b;

	scanf("%d", &a);
	b = a > 5 ? 3 : 6;
	printf("%d", b);

	return 0;
}

2.3 逻辑操作符

  • &&:逻辑与运算符(两侧表达式都为真,则为真,否则为假)
  • | |:逻辑或运算符(两侧表达式有一个为真,则为真)
  • !:逻辑取反运算符(改变表达式的真假)

2.3.1 逻辑取反运算符 !

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

#include<stdio.h>
int main()
{
	int a=0, b=10;

	if(!a)
	 printf("%d", b);

	return 0;
}

如果a为真,!a就为假,如果a为假,!a就为真。 

 【C语言入门】分支和循环,C语言,c语言,开发语言,算法

2.3.2 逻辑或运算符 | |【C语言入门】分支和循环,C语言,c语言,开发语言,算法

#include<stdio.h>
int main()
{
	int a=0, b=10;

	if(a==0||b==5)
	 printf("%d", b);

	return 0;
}

 a==0 与 b==5 这两个条件满足其中一个即为真。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

2.3.3 逻辑与运算符 &&

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

#include<stdio.h>
int main()
{
	int a=0, b=10;

	if(a==0 && b==5)
	 printf("%d", b);

	return 0;
}

 a==0 与 b==5 这两个条件必须同时满足才为真。 【C语言入门】分支和循环,C语言,c语言,开发语言,算法

如上所示,什么都没有输出。 

3. switch语句

  除if语句外,switch语句也是一种分支结构,它是一种特殊形式的if else语句,用于判断条件有多个结果的情况。

#include<stdio.h>
int main()
{
	int a;
	scanf("%d", &a);
	switch(a)
	{
	case 1 :
		printf("A\n");
		break;
	case 2 :
		printf("B\n");
        break;
	default:
	    printf("C\n");
	}

	return 0;
}

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

  这段代码会判断a的值,如果a的值为1,则执行case 1后的语句,如果a的值为2,则执行case 2后的语句,除了这两种情况之外,执行default后的语句。

  当switch语句进入case后,会一直执行下去直到遇到break。如果删掉break,那么执行结果是这样的:

#include<stdio.h>
int main()
{
	int a;
	scanf("%d", &a);
	switch(a)
	{
	case 1 :
		printf("A\n");
	case 2 :
		printf("B\n");
	default:
		printf("C\n");
	}

	return 0;
}

【C语言入门】分支和循环,C语言,c语言,开发语言,算法 所以一定不要忘了在每个case和default后加上break。

注意:

1.switch后括号内的值必须是整型表达式(字符会转换成ASC码)。

2.case后的值,必须是整形常量表达式(字符会转换成ASC码)。

3.case和default没有先后的位置限制。

4. 循环

4.1 while循环

  while循环的结构如下:

  while(条件)

{

        循环体;

}

  当程序执行到while循环时,会先判断条件是否为真,如果为真,则执行一次循环体,然后再次进行条件判断。如果循环体执行了n次,那么条件语句则执行了n+1次。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

4.2 for循环

  for循环的结构如下:

for(表达式1;条件 ; 表达式3)

{

        循环体;

}

  当程序执行到for循环时 ,会先执行表达式1,之后进行条件判断,如果为真,则执行一次循环体,最后执行表达式3,再进行条件判断。如果循环体执行了n次,那么条件语句则执行了n+1次。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

4.3 do while循环

do while循环的结构如下:

do

{

        循环体;

}while(条件);

  当程序执行到do while循环时,会先执行一次循环体,然后进行条件判断,如果为真,则执行一次循环体,再进行条件判断。如果循环体执行了n次,那么条件语句则执行了n次。 注意do while循环的while后需要加上一个分号。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

5. break 与continue语句

  跳出循环的方法除了不满足循环条件外,还可以用break和continue语句来对循环进行控制。

  • break:跳出整个循环体。
  • continue:跳出当前循环,进行下一轮循环。

来举一个简单的例子:

【C语言入门】分支和循环,C语言,c语言,开发语言,算法 

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

在这段代码中,当 i 等于1 的时候,跳出循环,只打印了2个c。

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

在这段代码中,当i等于1的时候,执行continue语句,跳出当前一轮循环,并进行下一轮循环。故当i等于1的时候没有打印c,总共只打印了4个c。

6.循环的嵌套

  【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

这段代码中, 在for循环里嵌套了一个for循环。外层循环会执行4次,每次外层循环会执行一次内层循环,每次内层循环会打印4个 * ,之后在每次外层循环最后进行换行,就可以打印出上图所示的图案。当然,while循环,do while循环,for循环都是可以互相嵌套的,需要视不同情况进行选择。

7.goto语句

goto语句的结构如下:

again:

        代码段

goto again;//again可以替换成其他的字符,仅仅作为标识使用。

  goto语句可以使程序跳转到任意代码段,如下图所示:

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

【C语言入门】分支和循环,C语言,c语言,开发语言,算法

在这段代码中,当执行到if语句时,判断条件为真,使程序跳转到了对应的代码段,这就使得c被打印了2次。goto语句虽然方便,但是在日常代码的书写时不推荐使用,因为不当的使用goto语句会使程序逻辑被破坏,造成不可预想的后果。

以上就是分支与循环的全部内容啦~文章来源地址https://www.toymoban.com/news/detail-823854.html

到了这里,关于【C语言入门】分支和循环的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [C语言]分支语句和循环语句

    C语言的语句可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 其中, 控制语句用于控制程序的执行流程,以实现程序的各种结构方式 ,C语言有九种控制语句。 可分成以下三类: 条件判断语句也叫分支语句:if语句、switch语句; 循环执行语句:do whi

    2024年02月12日
    浏览(42)
  • 【C语言记】分支语句和循环语句

    C 语句可分为以下五类: 表达式语句:3+5; 函数调用语句:printf(\\\"hehen\\\"); 复合语句 空语句: ;(需要一条语句,但这条语句什么都不做。) 控制语句 控制语句 用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语言有九种控制语句。

    2024年02月07日
    浏览(36)
  • C语言_分支和循环语句(2)

    C语言:结构化的程序设计语言 顺序结构、选择结构、循环结构 导引 过于分散 使用for循环打印1~10 循环体默认只能控制一条语句 想控制多条语句的话,要加大括号 示例 建议: 1.不可在 for 循环体内修改循环变量,防止 for 循环失去控制。 2.建议 for 语句的循环控制变量的取值

    2024年02月10日
    浏览(31)
  • 【C语言】深入了解分支和循环语句

    💓 博客主页:江池俊的博客 ⏩ 收录专栏:C语言初阶之路 🎉如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 💫“每一天都是一个全新的机会,用积极的心态去迎接挑战吧!” 前言  一、什么是语句? 二、分支语句(选择结构) 2.1.if语句 2.1.1 悬

    2024年02月17日
    浏览(41)
  • 初阶C语言-分支和循环语句(下)

    “花会沿途盛开,以后的路也是。” 今天我们一起来继续学完分支语句和循环语句。 3.4.1 do语句的用法 在前面,我们学过了用 while循环 和 for循环 在屏幕上打印1~10的数字,那么在 do...while()循环 中,如何实现这步操作呢? 接下来,让我们用一张图了解一下 do...while()循环 的

    2024年02月15日
    浏览(44)
  • C语言学习笔记---C语言分支与循环语句

    前言: 什么是语句? C语言可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 语句 :C语言中,由分号隔开的句子就是一条语句 如: C语言中用 非零 表示 真 ,用 零 表示 假 ,即: 逻辑真,逻辑假 三大语法结构 :顺序结构、分支(选择)结构、循环结构

    2024年02月16日
    浏览(38)
  • c语言修炼第二章--分支与循环

    目录 前言 2.1分支语句 2.1.1什么是语句 2.2分支语句 2.2.1if语句的语法形式 2.2.2悬空else问题 2.2.3if书写形式的对比 2.3switch语句 2.3.1switch的语法形式 2.3.2 switch与break的关系 2.3.3 switch与default的关系 小伙伴们端午安康吖!今天我们要开始新的一章的学习!直接开始学习叭! 2.1.1什么

    2024年02月11日
    浏览(30)
  • 万字C语言之分支语句和循环语句

    前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! C语句可分为以

    2024年02月09日
    浏览(38)
  • 你真的掌握了“C语言分支循环”吗

    目录  前言 1. if语句 1.1 if 1.2 else 1.3 分支中包含多条语句 1.4 嵌套if 1.5 悬空else问题 2. 关系操作符 3. 条件操作符 4. 逻辑操作符: , || , ! 4.1 逻辑取反运算符 4.2 与运算符 4.3 或运算符 4.4 练习:闰年的判断 4.5 短路 5. switch语句 5.1 if语句和switch语句的对比 5.2 switch语句中的brea

    2024年02月03日
    浏览(28)
  • 【手撕C语言 第四集】分支和循环(上)

    C语句可分为以下五类: 表达式语句 函数调用语句 控制语句 复合语句 空语句 本章后面介绍的是控制语句。 控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选 择结构、循环结构),它们由特定的语句定义符组成,C语言有九

    2024年01月18日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包