您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页c语言基础四:选择结构、循环结构

c语言基础四:选择结构、循环结构

来源:伴沃教育


一、选择结构

1.if语句

简单来时就是:当什么什么的时候。

比如实现一个大小比较功能,当a大于b时输出a

#include <stdio.h>

int main()
{
	int a = 1;
	int b = 2;

	if (a > b)
	{
		printf("%d\n", a);
	}

	return 0;
} 

2.if....else语句

简单来说就是:当什么什么的时候我们就这样做,否则我们就那样做

比如大小比较时总是输出大的


#include <stdio.h>
int main()
{
	int a = 1;
	int b = 2;

	if (a > b)
	{
		printf("%d\n", a);
	}
	else
	{
		printf("%d\n", b);
	}
	return 0;
}

3.else if语句

当什么什么的时候我们就这样做,或者当什么什么的时候我们那样做,在或者.........否则我们不做了!!!

比如比较a,b,c大小

 

#include <stdio.h>

int main()
{
	int a,b,c;
    if (a>b and a>c){
        printf(a);
    }
    else if(b>a and b>c){
        printf(b);
    }else{
        printf(c)
    };

	return 0;
}

4.三目运算符

语法为:条件+?+条件为真时的输出+:+条件为假时的输出

#include <stdio.h>

int main()
{
	int a = 10;
	int b = 20;
	int c;

	if (a > b)
	{
		c = a;
	}
	else
	{
		c = b;
	}
	printf("c1 = %d\n", c);

	a = 1;
	b = 2;
	c = ( a > b ? a : b );
	printf("c2 = %d\n", c);

	return 0;
}

5.switch语句

switch(表达式){ 

    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    … 
    case 常量表达式n:  语句n;
    default:  语句n+1;

}

意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句; 而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case语句之后增加break 语句, 使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。

例如:

#include <stdio.h>

int main()
{
	char c;
	c = getchar();

	switch (c) //参数只能是整型变量
	{
	case '1':
		printf("OK\n");
		break;//switch遇到break就中断了
	case '2':
		printf("not OK\n");
		break;
	default://如果上面的条件都不满足,那么执行default
		printf("are u ok?\n");
	}
	return 0;
}

二、循环结构

1.while语句

关键字:while

while语句创建了一个循环,重复执行直到测试表达式为假或0。

while语句是一种入口条件循环,也就是说,在执行多次循环之前已决定是否执行循环。因此,循环有可能不被执行。

循环体可以是简单语句,也可以是复合语句。

形式:

while (表达式)

{

循环语句;

}

#include <stdio.h>

int main()
{
	int a = 20;
	while (a > 10)
	{
		scanf("%d", &a);
		printf("a = %d\n", a);
	}

	return 0;
}

2.do...while语句

do
{
  语句序列
}while(循环控制表达式);

先执行语句,在判断条件

#include <stdio.h>

int main()
{
	int a = 1;
	do
	{
		a++;
		printf("a = %d\n", a);
	} while (a < 10);

	return 0;
}

3.for语句

for (表达式1; 表达式2; 表达式3)
{
        语句;
}

表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号

循环过程:

求解表达式1。
求解表达式2。若其值为真,则执行 for 语句中指定的内嵌语句,然后执行第3步;若表达式2值为假,则结束循环,转到第5步。
求解表达式3。
转回上面第2步继续执行。
循环结束,执行 for 语句下面的语句。

#include <stdio.h>

int main()
{
	int i;
	int sum = 0;
	for (i = 0; i <= 100; i++)
	{
		sum += i;

	}

	printf("sum = %d\n", sum);

	return 0;
}

三、跳转语句

1.break语句

在switch条件语句和循环语句中都可以使用break语句:

1.当他出现在switch条件语句中时,作用是终止某个case并跳出switch结构

2.当它出现在循环语句中时,作用是跳出当前内循环语句,执行后面的代码

3.当他出现在嵌套循环语句中时,跳出最近的内循环语句,执行后面的代码

#include <stdio.h>

int main()
{
	int i = 0;
	while (1)
	{
		i++;
		printf("i = %d\n", i);

		if (i == 10)
		{
			break; //跳出while循环
		}
	}

	int flag = 0;
	int m = 0;
	int n = 0;

	for (m = 0; m < 10; m++)
	{
		for (n = 0; n < 10; n++)
		{
			if (n == 5)
			{
				flag = 1;
				break; //跳出for (n = 0; n < 10; n++)
			}
		}

		if (flag == 1)
		{
			break; //跳出for (m = 0; m < 10; m++)
		}
	}

	return 0;
}

2.continue语句

在循环语句中,如果希望立即终止本次循环,并且执行下一次循环,此时就需要continue语句

#include <stdio.h>

int main()
{
	int i = 0;
	while (1)
	{
		i++;
		printf("i = %d\n", i);

		if (i == 10)
		{
			break; //跳出while循环
		}
	}

	int flag = 0;
	int m = 0;
	int n = 0;

	for (m = 0; m < 10; m++)
	{
		for (n = 0; n < 10; n++)
		{
			if (n == 5)
			{
				flag = 1;
				break; //跳出for (n = 0; n < 10; n++)
			}
		}

		if (flag == 1)
		{
			break; //跳出for (m = 0; m < 10; m++)
		}
	}

	return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务