C语言入门系列 - 控制语句

C语言入门系列 - C语言控制语句

第一节 C 语言基础以及基本数据类型
第二节 C 语言运算符
第三节 C 语言控制语句
第四节 C 语言自定义函数
第五节 C 语言修饰变量的关键字
第六节 C 语言构造数据类型–数组
第七节 C 语言字符串
第八节 C 语言指针
第九节 指针与函数、指针函数、函数指针
第十节 数组与指针、二级指针&NULL&void 指针
第十一节 结构体
第十二节 链表
第十三节 共用体union,枚举enum,宏定义#define,条件编译,const与指针
C语言–图书管理项目



前言

控制语句可以分成四大结构9种语句。
顺序结构语句,条件选择结构语句,循环结构语句,跳转结构语句


一、顺序结构语句

  程序默认的形式,main 函数开始,不跳过任何一句。
  上一句执行完毕才会执行下一句

二、条件选择语句

if-else 组合

又分成 1.直接使用一个 if
    2. 二选一 if - else
    3. 多选一 条件不止一个, if() … else if() … else if() … else

1.直接使用一个 if
格式:if(表达式) 	表达式:常量 变量 操作和运算符的组合
	{
		// 如果表达式为真的时候执行的语句块。
	}
规则:判断表达式,如果表达式为真,那么执行{}里面的语句块。如果表达式为假,跳过 if 语句。
if(num<0)
{
	printf(“输入数据错误”);
	return 0;
}

2. 二选一 if - else
格式:
if(表达式)
{
	// 表达式为真的时候执行的语句块
}else
{
	// 表达式为假的时候执行的语句块。
}
规则:
先计算表达式,如果表达式为真,则执行 if{}里面的语句块,跳过 else{}里面的语句
如果表达式为假,逃过 if{}里面的语句,执行 else{}里面的语句。
if(8 > 5)
{
	printf("8 > 5");
}else
{
	printf("8 < 5");
}

3. 多选一 条件不止一个, if() ... else if() ... else if() ... else
格式:
if(表达式 1)
{
	// 表达式 1 为真执行的语句,
}
else if(表达式 2)
{
	// 表达式 1 为假,表达式 2 位真的时候执行的语句块。
}
... else if(表达式 n)
{
	// 表达式 1~n-1 为假,表达式 n 为真的时候执行的语句块。
}
else {
	//以上表达式全部为假的时候,执行的语句。
}

switch-case组合

格式:
switch(表达式)
{
	case 常量 1:执行语句块;
	case 常量 2:执行语句块;
.... default:执行语句块;
}
规则:
先计算表达式的值,然后比较表达式的值和常量1,如果两个相等,执行常量 1 后面语句块。
如果表达式的值不等于常量 1,比较表达式的值和常量 2,如果两个相等,执行常量 2 后
面的语句块。
.... 如果 case 后面所有的常量 都不等于 表达式的值,那么执行 default 后面的语句块。
注意:
case 后面必须是常量
case 如何匹配上会执行后面的语句,但是如果没有 break;那么会从当前语句依次向下执行直到遇
到 break;或者执行到最后一个 case。
如果一个 case 希望只执行一个语句块,那么后面加 break;

	int a = 5,b = 6,res;
	char ch;
	scanf("%c",&ch);
	switch(ch)
	{
		case+: res = a + b;break;
		case-: res = a- b; break;
		case*:res = a * b;break;
		case/:res = a / b;break;
	}
	printf("%d%c%d=%d\n",a,ch,b,res);

三、循环语句结构

4种循环语句

4种,while 循环 do-while 循环 for 循环 if goto 循环,也可以说就3种循环语句,就前面3种。if goto很少见。

while 循环

格式:
while(表达式)
{
	语句块;
}
规则:先计算表达式的值,如果表达式的值为真(非 0,那么执行{}语句块
	如果为假,跳过{}里面的语句,继续向下执行。
使用:
	while(time >= 1000)
	{
		time = time - 1000;
	}

do-while 循环

格式:
do{
	// 执行的语句
}while(表达式);
规则:
先执行 do{}里面的语句,然后判断表达式的值,如果值为真则继续执行 do{}里面的语句,如果为假,
则跳出循环,继续向下执行。
	int i = 1;
	do{
		i++;
	}while(i<1);
	结果 i == 2;

for 循环

格式:
for(赋初值;条件判断;条件的因变量改变)
{
	//
}
规则:先赋初值,然后判断条件,如果条件满足,执行{}里面的语句块。执行条件的因变量改变操作,然后继
续判断条件,如果条件满足,继续执行{}里面的语句块..... 如果条件不满足,跳过 for{}里面的语句。
	for(num=1;num<=10;num++) // 输出1~10
	{
		printf(%d ”,num);
	}

四、跳转语句结构

3种跳转语句

3种,break; continue; goto;
goto很少见。

break

break: 跳出离它最近的一层循环
	int i;
	for(i=0;i<6;i++)
	{
		if(i==3)
		{
			break;
		}
		printf("%d ",i);
		}
	}	//就打印了:  0  1  2

continue

continue: 跳出本次循环,继续下一次循环
	int i;
	for(i=0;i<6;i++)
	{
		if(i==3)
		{
			break;
		}
		printf("%d ",i);
		}
	}	//打印了:  0  1  2  4  5  

goto

goto;	无条件跳转。一般用于跳出多层循环
	for(i=0;i<9;i++)
	{
		for(j=0;j<9;j++)
		{
			if(j==3)
			{
				goto START;
			}
			printf("%d,%d ",i,j);
		}
		printf("\n");
	}
	// 定义一个 标识符: 一般标识符大写
	START:
	printf("循环结束。");		
	打印了: 0,0 0,1 0,2 循环结束。

总结

主要是记住 break:跳出离它最近的一层循环
     continue:跳出本次循环,继续下一次循环
     goto; 无条件跳转。一般用于跳出多层循环
goto使用的时候,需要先定义标识符,标识符采用全部大写的形式。
     标识符:在需要跳转的地方使用 goto 标识符;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值