前情提要:
c语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构
。
当我们明白这一点的时候就可以开始学习c语言分支循环语句啦
~
一、if 语句
以下为语法形式:
if (表达式)
语句
若表达式为真,则语句成立;若表达式不成立,则语句不执行
1、else
在if.else语句中,else可以与另一个if语句连用,构成多重判断
比如:要求输入和一个整数,判断输入的整数是0,还是正数还是负数,并输出;如果不是正数则输出:负数.
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输入的数字是0\n");
else if(num > 0) //这里的if相当于嵌套在else语句中,形成了嵌套结构
printf("输入的数字是正数\n");
else
printf("输入的数字是负数\n");
return 0;
}
上图中橙色背景的代码就是嵌套在else子句中的,构成了嵌套的if语句。 以上就是嵌套 if 语句的语法,有了嵌套if语句,就可以完成更多复杂的逻辑判断。
2、悬空 else 问题
如果有多个 if 和 else ,可以记住这样一条规则,else 总是最接近的 if 匹配。
二、switch 语句
除了 if 语句外,c语言还提供了 switch 语句来实现分支结构。
switch语句是一种特殊形式的if…else结构,用于判断条件有多个结果的情况。它把多重的else if改成更易用、可读性更好的形式。
switch(expression)
{
case value1: statement
case value2: statement
default: statement
}
switch 后的 expression 必须是整型表达式
case 后的值,必须是整形常量表达式
case 和后面的数字之间必须有空格
每一个case 语句中的代码执行完成后,需要加上 break,才能跳出这个 switch 语句
1、default
在使用switch语句的时候,发现switch 后的表达式中的值无法匹配代码中的case 语句的时候,这时候要不就不做处理,要不就得在switch 语句中加入 default字句。
switch 语句中的case 和 default 没有顺序要求的,
不过我们通常是把 default 的句子放在最后处理的。
三、 while 循环
while 语句的语法结构和 if 语句非常相似
如果是不太理解的话,我们来实践一下
练习:在屏幕上打出1~10的值
参考代码:
#include<stdio.h>
int main()
{
int i = 1;
while(i <= 10)
{
printf("%d",i);
i = i + 1;
}
return 0;
}
四、for 循环
for 循环是三种循环中使用最多的,for 循环的语法形式如下:
for(表达式1; 表达式2; 表达式3)
语句; //如果循环体想要包含更多的语句的话,可以加上括号
表达式1 用于循环变量的初始化
表达式2 用于循环结束条件的判断
表达式3 用于循环变量的调整
练习:在屏幕上打印1~10 的值
参考代码
#include <stdio.h>
int main()
{
int i = 0;
for(i = 1; i <= 10; i++)
{
printf("%d", i);
}
return 0;
}
for 和 while 在实现循环的过程中都有初始化、判断、调整这三个部分,但是 for 循环的三个部分非常集中,便于代码的维护,而如果代码较多的时候 while 循环的三个部分就比较分散,所以从形式上 for 循环要更优一点
五、do_while 循环
在循环语句中 do _while 语句的使用最少
do
语句;
while(表达式);
该语句先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式
意思是指:循环体至少表达一次
练习:在屏幕上打印1~10 的值
参考代码
#include <stdio.h>
int main()
{
int i = 1;
do
{
print("%d", i);
i = i + 1;
}while(i <= 10);
return 0;
}
以上便是c语言的全部分支循环语句了,当然还有一下补充~
六、 goto 语句
c语言提供了一种非常特别的语法,就是 goto 语句和跳转标号,goto 语句可以实现在
同一函数内
跳转到设置好多标号处
例如:
#include<stdiop.h>
int main()
{
print("hello world\n");
goto flag: //标识符可以是任意无意义的单词
print("hello\n");
flag:
printf("world\n"); //可以看到该代码跳过了`hello` 的打印
return 0;
}
注意:goto语句如果使用的不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以我们的建议是能不用尽量不去使用;但是 goto 语句也不是一无是处,在多层循环的代码中,如果想要快速跳出,使用 goto 再好不过了。
结尾:
以上便是本次的全部内容了喔~
首先非常感谢你的观看,希望能对你有一点点小小的帮助~