C语言(流程控制)

 

目录

一、流程控制类语句总结

二、C语言提供6种关系运算符:

三、逻辑运算符汇总

四、选择结构

1、if...else...语句

1.1(基本运用)

         1.2(选择结构的嵌套) 

2、switch...case 语句

2.1

五、循环控制语句

1、while语句

        1.1

        1.2

2、do...whlie 语句

         3、for 语句

        3.1(示例代码)

        3.2(循环的嵌套)

六、补充知识点

1、break 语句

1.1 break在switch语句中的使用

1.2 break在循环语句中的使用

2、continue 语句

2.1  continue 语句在循环结构中的使用


一、流程控制类语句总结

1、if().....else...        (条件语句)

2、for()....                (循环语句)

3、while()....            (循环语句)

4、do...whlie()         (循环语句)

5、continue             (结束本次循环语句)

6、break                  (中止执行switch或循环语句)

7、switch                 (多分支选择语句)      

8、return                 (从函数返回语句)


二、C语言提供6种关系运算符:

1、优先级相同(高)

<             (小于)       

<=           (小于或等于)

>             (大于)

>=          (大于或等于)

2、优先级相同(低)

==           (等于)

!=            (不等于)


三、逻辑运算符汇总

运算符含义举例说明
&&逻辑与a && b如果a和b都为真,否则为假
||逻辑或 a || b如果a和b只有一个以上为真,则结果为真,二者为假时都为假
逻辑非

a!

如果a为假,!a为真,如果a为真,则!a为假

四、选择结构

1、if...else...语句

//语法

if (表达式)
{
 语句1
}
else
{
 语句2
}
执行逻辑:
如果表达式1成立(表达式1的结果为逻辑真),则执行语句1,否则执行语句2
1.1(基本运用)
#include <stdio.h>

int main()
{
	int money;
	
	printf("你手里有多少钱?\n");
	scanf("%d",&money);
	
	if(money >= 100){
		printf("借给我50,谢谢。\n");	
	}else{
		printf("没事了我就问问。\n");
	}
	
	return 0;
}

1.2(选择结构的嵌套) 

//语法
if (表达式1)
{
 if (表达式2)
 {
 语句1
 }
 else
 {
 语句2
 }
}
else //else if ()
{
 if (表达式3)
 {
 语句3
 }
 else
 {
 语句4
 }
}
//案例
#include <stdio.h>

int main()
{
	int t; 	//体育老师
	int y;	//语文老师
	
	printf("体育老师生病了吗?yes = 1 or no = 2\n");
	scanf("%d",&t);
    if (t == 1){
		printf("语文老师有课吗?yes = 1 or no = 2\n");
		scanf("%d",&y);
		if (y != 2)
		{
            printf("上语文课\n");
        }
		else
		{
			printf("上自习");
		}
    }
	else
	{
		printf("上体育课\n");
    }
	printf("讨论结束!/n");
	
	return 0;
}

2、switch...case 语句

//语法
switch (表达式)
{
case 常量表达式1: 语句1;break;
case 常量表达式2: 语句2;break;
...
case 常量表达式n-1: 语句n-1;break;
default : 语句n
}
执行逻辑:
计算"表达式"的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的 值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达 式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
2.1
/*
	学生成绩划分
*/

#include <stdio.h>

int main()
{
	int score;
	
	puts("请输入学生的分数。");
	scanf("%d",&score);
	
	switch(score/10){
		case 0:
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			printf("等级为D,不合格\n");
			break;
		case 6:
		case 7:
			printf("等级为C,及格\n");
			break;
		case 8:
		case 9:
			printf("等级为B,良好\n");
			break;
		case 10:
			printf("等级为A,优秀\n");
			break;
		default:
			printf("成绩非法.\n");
	}
	puts("done!");

	return 0;
}

五、循环控制语句

1、while语句

1.1

/*
	循环输出10次“大狗熊”
*/
#include <stdio.h>

int main()
{
	int num;
	num = 10;
	while(num){
		puts("大狗熊");
		num --;
	}
	return 0;
}

1.2

/*
	求1+2+3+4+5+6+...+100的和
*/
#include <stdio.h>

int main()
{
	int sum = 0;
	int data = 1;

	while(data <= 100){
		sum = sum + data;
		data++;
	}
	printf("0-100的和是:%d\n",sum);
	
	return 0;
}

2、do...whlie 语句

//语法
do{
 语句
}while (表达式);

执行逻辑:
这个循环与 while 循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,如果为 真则继续循环;如果为假,则终止循环。因此, do-while 循环至少要执行一次循环语句。其执行 过程可用下图表示。
#include <stdio.h>

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

总结:do~ while和while的区别在于:do~while至少会执行一次循环体语句  


3、for 语句

//语法
for(表达式1; 表达式2; 表达式3)
{
 语句
}
执行逻辑:
1. 先求解表达式1。
2. 求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面
第3)步;若其值为假(O),则结束循环,转到第5)步。
3. 求解表达式3。
4. 转回上面第2)步继续执行。
5. 循环结束,执行for语句下面的一个语句。

 3.1(示例代码)

#include <stdio.h>

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

3.2(循环的嵌套)

总结:循环逻辑种有循环逻辑

//循环的嵌套(输出九九乘法表)、

#include <stdio.h>

int main()
{
	int i,j;
	
	for(i = 1;i <= 9;i++)
	{
		for(j = 1;j <= i;j++){
			printf("%d*%d=%d\t",i,j,i*j);
		}
		printf("\n");
	}
	
	return 0;
}

六、补充知识点

1、break 语句

1.1 break在switch语句中的使用
break用于switch中时,可使程序跳出switch,如果没有break语句,则会继续执行下一个case逻辑
中的语句(不论case后面的表示式结果与switch后的表达式结果是否相等),直到遇到break才 会跳出switch。

//break在switch语句中的使用
#include <stdio.h>

int main()
{
	int x;
	
	printf("请输入1-4的数字\n");
	scanf("%d",&x);
	printf("输出后返回的数\n");
	switch(x){
		case 1:
			printf("1\n");
			break;
		case 2:
			printf("2\n");
		case 3:
			printf("3\n");
			break;
		case 4:
			printf("4\n");
			break;
	}
	
	return 0;
}
注意:上面的例子中因为case 2 逻辑后没有break,所以当x为2时,输出结果为 2 3
1.2 break在循环语句中的使用
当break语句用于do-while、for、while循环语句中时,可使程序 终止循环 而执行循环后面的语
句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。
#include <stdio.h>

int main()
{
	int m, n;
	
	for (m = 0; m < 10; m++)
	{
		for (n = 0; n < 10; n++)
		{
			if (n == 3)
			break;
		printf("%d\n", n);
	}
}
	
	return 0;
}

2、continue 语句

continue语句运用于循环结构中,作用是结束本次循环,继续下次循环

2.1  continue 语句在循环结构中的使用
#include <stdio.h>

int main()
{
	int m, n;
	
	for (m = 0; m < 10; m++)
	{
		for (n = 0; n < 10; n++)
		{
			if (n == 3)
			continue;
		printf("%d\n", n);
	}
}
	
	return 0;
}

 当执行到continue语句时,此次循环结构中continue语句后的其他所有语句都不会被执行到

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值