我是靠谱客的博主 标致乌龟,最近开发中收集的这篇文章主要介绍[一篇读懂]C语言三讲:选择、循环1. 选择if-else讲解2. 循环while,for讲解,continue,break讲解总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[一篇读懂]C语言三讲:选择、循环

  • 1. 选择if-else讲解
    • 1 关系表达式与逻辑表达式
      • 计算表达式的过程
    • 2 if-else语句
      • 【例】判断输入值是否大于0
  • 2. 循环while,for讲解,continue,break讲解
    • 1 while循环
      • 【例】计算1到100之间所有整数之和
    • 2 for循环
      • 【例】for循环语句实现计算1到100之间的所有整数之和
    • 3 continue语句
    • 4 break语句
  • 总结
    • 1.1
    • 1.2
    • 2.1
    • 2.2
    • 2.3
    • 2.4


1. 选择if-else讲解

1 关系表达式与逻辑表达式

  • 算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符、相同优先级的运算符从左至右进行结合等。

计算表达式的过程

计算表达式 5 > 3 & & 8 < 4 − ! 0 5>3&&8<4-!0 5>3&&8<4!0
1

2 if-else语句

  • if 判断条件(表达式)为真,就执行某个语句,反之不执行这个语句。
  • if 判断条件(表达式)为真,就执行某个语句,反之用else分支执行另一个语句。
    if
  • if后面不能加分号。
    如果有else分支语句,加分号导致编译不通过;
    如果没有else分支语句,加分号导致i无论取何值,都执行if语句。

【例】判断输入值是否大于0

#include <stdio.h>
//练习if与else
int main()
{
	int i;
	while (scanf("%d", &i))
	{
		if (i > 0)//不要在if后加分号
		{
			printf("i is bigger than 0n");//为了避免加代码时出现问题 - 加大括号!
			//不加大括号的问题1:新加的语句不属于if语句!
			//不加大括号的问题2:悬空的else和那个if配对?
		}
		else
		{
			printf("i is not bigger than 0n");
		}
	}
	return 0;
}
  • if 语句和else语句也可以多个同时使用(多分支语句)。
  • 无论有多少个if语句和else if语句,程序都只会执行其中的一个语句。
  • if语句支持多层嵌套。
    注意,使用if嵌套语句时,要考虑“悬空的else”问题。例如,
if(i > 1)
	if(i < 10)
		printf("i > 1 and i < 10n");
	else 
		printf("no,they are notn")
  • C语言中的else子句从属于最靠近它的不完整if语句。
  • 上例中的else子句从属于第二个if语句,如果想让它从属于第一个if语句,那么可以用一个花括号把第二个if语句包含在一个单独的代码块内:
if(i > 1)
{
	if(i < 10)
		printf("i > 1 and i < 10n");
}
	else
		printf("no,they are notn");
  • 在if语句中的语句列表前后加上花括号,可以防止不小心加了一句代码后,使实际未被包含的语句被包含在某个if语句中的错误。

2. 循环while,for讲解,continue,break讲解

1 while循环

  • 当while表达式的值非0时,执行while语句中的内嵌语句,从而实现语句多次执行的效果。。
  • 先判断表达式,后执行语句。
  • 为了避免程序进入死循环(不停地进行循环操作),在语句中需要有让表达式趋近于假的操作来使程序跳出循环。
    while
  • while后面不能加分号,程序会发生死循环。
  • while语句应使用花括号,可使程序更加清晰,避免向循环内添加语句时出错。

【例】计算1到100之间所有整数之和

#include <stdio.h>
//计算从1到100的和
int main()
{
	int i = 1, total = 0;
	//while后加分号 - 死循环
	//循环体内没有让while趋于假的操作 - 死循环
	while (i <= 100)//while后不能加分号 - 否则死循环
	{
		total = total + i;//把i加到total上
		i++;//i++即 - i=i+1 - 让语句趋于假
	}
	printf("total = %dn", total);
	return 0;
}

2 for循环

  • for循环语句使用最为灵活,可用于循环次数已经确定的情况,也可用于循环次数不确定而只给出循环结束条件的情况。
  • for语句完全可以替代while循环语句。
for(表达式1;表达式2;表达式3) 语句;
  1. 先求解表达式1.
  2. 求解表达式2,若其值为真(值为非0),则先执行for语句中指定的内嵌语句,后执行第(3)步。若其值为假(值为0),则结束循环,转到第(5)步。
  3. 求解表达式3。
  4. 转回第(2)步继续执行。
  5. 循环结束,执行for语句下面的语句。
    for
  • for循环语句中必须且只能有两个分号。
  • for循环语句后加分号不会死循环,会结果不对。

【例】for循环语句实现计算1到100之间的所有整数之和

#include <stdio.h>

int main()
{
	int i, total;
	for (i = 1, total = 0; i <= 100; i++)//必须有两个分号 - 不能加分号 - 不会死循环,会结果不对
	{
		total += i;
	}
	printf("total = % dn", total);
	return 0;
}
  • for循环的可读性要比while循环的好,能使用for循环时不要强制改为while循环。

3 continue语句

  • continue语句的作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行是否执行下一次循环的判断。
  • 当continue用于while和do while循环中时,注意不要跳过让循环趋近于假的语句。
    【例】对1到100之间的奇数进行求和
#include <stdio.h>
//for 循环实现从1加到100
//使用continue求奇数的和
int main()
{
	int i, total;
	for (i = 1, total = 0; i <= 100; i++)//for小括号后不要加分号
	{
		if(i % 2 == 0)
		{
			continue;//continue下面的代码均不会得到执行
		}
		total += i;
	}
	printf("total = %dn", total);
	return 0;
}

4 break语句

  • break语句的作用是结束整个循环过程,不再判断执行循环的条件是否成立。
  • break语句也可用在while循环和do while循环中,起结束对应循环的作用。
    【例】break语句实例
#include <stdio.h>
//使用break跳出循环
int main()
{
	int i, total;
	for (i = 1, total = 0; i <= 100; i++)//for小括号后不要加分号
	{
		if (total > 2000)
		{
			break;//当和大于两千时,循环结束
		}
		total += i;
	}
	printf("total = %d,i = %dn", total,i);
	return 0;
}

总结

1.1

  • 算术运算符的优先级高于关系运算符、关系运算符的优先级高于逻辑与和逻辑或运算符、相同优先级的运算符从左至右进行结合等。

1.2

  • if 判断条件(表达式)为真,就执行某个语句,反之不执行这个语句。

  • if 判断条件(表达式)为真,就执行某个语句,反之用else分支执行另一个语句。

  • if后面不能加分号。
    如果有else分支语句,加分号导致编译不通过;
    如果没有else分支语句,加分号导致i无论取何值,都执行if语句。

  • if 语句和else语句也可以多个同时使用(多分支语句)。

  • 无论有多少个if语句和else if语句,程序都只会执行其中的一个语句。

  • if语句支持多层嵌套。

  • C语言中的else子句从属于最靠近它的不完整if语句。

  • 在if语句中的语句列表前后加上花括号,可以防止不小心加了一句代码后,使实际未被包含的语句被包含在某个if语句中的错误。

2.1

  • 当while表达式的值非0时,执行while语句中的内嵌语句,从而实现语句多次执行的效果。。
  • 先判断表达式,后执行语句。
  • 为了避免程序进入死循环(不停地进行循环操作),在语句中需要有让表达式趋近于假的操作来使程序跳出循环。
  • while后面不能加分号,程序会发生死循环。
  • while语句应使用花括号,可使程序更加清晰,避免向循环内添加语句时出错。

2.2

  • for循环语句使用最为灵活,可用于循环次数已经确定的情况,也可用于循环次数不确定而只给出循环结束条件的情况。
  • for语句完全可以替代while循环语句,for循环的可读性要比while循环的好,能使用for循环时不要强制改为while循环。
  • for循环语句中必须且只能有两个分号。
  • for循环语句后加分号不会死循环,会结果不对。

2.3

  • continue语句的作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行是否执行下一次循环的判断。
  • 当continue用于while和do while循环中时,注意不要跳过让循环趋近于假的语句。

2.4

  • break语句的作用是结束整个循环过程,不再判断执行循环的条件是否成立。
  • break语句也可用在while循环和do while循环中,起结束对应循环的作用。

最后

以上就是标致乌龟为你收集整理的[一篇读懂]C语言三讲:选择、循环1. 选择if-else讲解2. 循环while,for讲解,continue,break讲解总结的全部内容,希望文章能够帮你解决[一篇读懂]C语言三讲:选择、循环1. 选择if-else讲解2. 循环while,for讲解,continue,break讲解总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部