概述
[一篇读懂]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:
2 if-else语句
- if 判断条件(表达式)为真,就执行某个语句,反之不执行这个语句。
- if 判断条件(表达式)为真,就执行某个语句,反之用else分支执行另一个语句。
- 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语句应使用花括号,可使程序更加清晰,避免向循环内添加语句时出错。
【例】计算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.
- 求解表达式2,若其值为真(值为非0),则先执行for语句中指定的内嵌语句,后执行第(3)步。若其值为假(值为0),则结束循环,转到第(5)步。
- 求解表达式3。
- 转回第(2)步继续执行。
- 循环结束,执行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讲解总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复