选择和循环结构

本文详细介绍了C语言中的选择结构,包括if...else...、switch case语句和条件运算符,以及循环结构,如while、for循环,同时讲解了break和continue的用法。内容覆盖了选择结构和循环结构的基本语法、特点及常见应用。
摘要由CSDN通过智能技术生成

目录

一、选择(判断)结构

       1.if...else...

       2.switch case语句

       3.条件运算符

二、循环结构

       1.while循环

       2.for循环

       3.break和continue

三、选择结构循环结构总结

       1.选择结构

       2.循环结构


        C语言中有三大结构,分别是顺序结构、选择结构(判断)和循环结构(分支结构):

  • C语言顺序结构就是让程序按照从头到尾的顺序依次执行每一条C语言代码,不重复执行任何代码,也不跳过任何代码。
  • C语言选择结构也称分支结构,就是让程序有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。
  • C语言循环结构就是让程序“杀个回马枪”,不断地重复执行同一段代码。

       前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构。但是对于很多情况,顺序结构的代码是远远不够的,还需要选择结构循环结构。由于顺序结构相对简单,所以本篇我们将重点学习选择结构与循环结构。

一、选择(判断)结构

       1.if...else...

       C 语言提供了以下类型的判断语句:

语句 描述
if 语句 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。
if...else语句 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。
嵌套 if 语句 一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
switch 语句 一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套 switch 语句 一个 switch 语句内使用另一个 switch 语句。
//多个if...else...
#include <stdio.h>
int main()
{
	char c;
	printf("请输入一个字符:");
	c = getchar();
	if (c < 32)
		printf("这是一个控制字符\n");
	else if (c >= '0' && c <= '9')
		printf("这是一个数字\n");
	else if (c >= 'A' && c <= 'Z')
		printf("这是一个大写字母\n");
	else if (c >= 'a' && c <= 'z')
		printf("这是一个小写字母\n");
	else
		printf("这是一个其他字符\n");
	
	return 0;
}
//运行结果:
请输入一个字符:d
这是一个小写字母
//if语句嵌套
#include <stdio.h>
int main()
{
	int a, b;
	printf("请输入两个数字:");
	scanf("%d %d",&a,&b);
	if (a != b){
		if (a > b)
			printf("a>b\n");
		else
			printf("a<b\n");
	}
	else
	{
		printf("a=b\n");
	}
	return 0;
}
//运行结果:
请输入两个数字:12 13
a<b

 总结:a、语句块就是由{ }包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{ }。

            b、一旦遇到能够成立的判断条件,则不再执行其他的语句块,最终只能有一个语句块被执行

            c、在 if 语句中,判断条件必须用括号括起来。接下来的语句块由{ }包围,但要注意的是在}之后不需要再加分号;(当然加上也没错)。

           d、if 语句嵌套时,要注意 if 和 else 的配对问题。C语言规定,else 总是与它前面最近的 if 配对。

           e、关系运算符的优先级低于算术运算符高于赋值运算符。在六个关系运算符中,<、<=、>、>=的优先级相同,高于==和!=,==和!=的优先级相同。赋值运算符(=) < &&和|| < 关系运算符 < 算术运算符 < 非(!)

           f、if 语句的判断条件中不是必须要包含关系运算符,它可以是赋值表达式,甚至也可以是一个变量,例如:if(b){//TODO:};if(b=3){//TODO:}都是允许的。这里根据变量 b 的最终值来判断的,如果 b 的值为非0,那么条件成立,否则不成立。

       2.switch case语句

       C语言虽然没有限制if...else...能够处理的分支数量,但当分支过多时&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值