文章目录
- 前言
- 一、分支语句
- 1.if语句
- 2.if else else if
- 3.switch语句
- 二、循环语句
- 1.for循环
- 2.while循环
- 3.do-while循环
- 三、跳转语句
- 1.break语句
- 2.continue语句
- 3.goto语句
- 四、嵌套语句
- 1.if语句嵌套
- 2.for语句嵌套
- 3.while语句嵌套
- 总结
前言
C语言中的控制语句是非常重要的一个知识点,其实说白了,C语言中的控制语句就是我们在生活中经常会说到的:如果
,否则
,或者
。。。。其实这些控制语句都是非常贴近于我们的生活的。
一、分支语句
C语言中的分支语句可以根据条件执行不同的代码分支。
其中,常用的分支语句包括:
1.if语句
if语句:用于根据条件的真假执行不同的代码。语法结构如下:
if (条件表达式) {
// 条件为真时执行的代码
} else {
// 条件为假时执行的代码
}
其中,条件表达式返回值为非0时为真,为0时为假。
用我们生活中的话这里可以翻译为如果条件表达式是真的
那么就执行if括号里面的代码,否则就执行else括号里面的代码。
C语言代码例子:
#include <stdio.h>
int main()
{
int a = 10;
if (a > 10)
{
printf("a大于10这是对的\n");
}
else
{
printf("a大于10这是错的\n");
}
}
运行效果:
2.if else else if
else if语句的语法结构如下:
if (条件表达式1) {
// 条件1为真时执行的代码
} else if (条件表达式2) {
// 条件2为真时执行的代码
} else {
// 以上条件都不成立时执行的代码
}
当条件表达式1的返回值为非0时,执行if语句后的花括号中的代码;否则判断条件表达式2的返回值,若为真,执行else if后的花括号中的代码;若二者都为假,则执行else后的花括号中的代码。
需要注意的是,else if语句的判断顺序是从上到下,只要找到一个为真的条件,就会执行对应的代码,并跳过后续的else if条件和else语句。
(这里的意思就是当执行了if的话就不会执行下面的else if和else,当执行else if后就不会执行下面的else了,翻译过来就是说只会执行其中的一个分支)
以上是if else else if语句的基本语法和运行原理,需要根据实际情况选择合适的方式实现程序逻辑。
3.switch语句
switch语句:将某个表达式的值与多个case标签所表示的值进行匹配,执行对应的代码。语法结构如下:
switch (表达式) {
case 标签1:
// 表达式值与标签1相等时执行的代码
break;
case 标签2:
// 表达式值与标签2相等时执行的代码
break;
default:
// 表达式值都不匹配时执行的代码
break;
}
注意:在case分支中必须加上break语句,否则将会继续执行下一个case分支中的代码。
代码例子:
使用scanf输入数字,输入1和2可以执行switch中不同的分支。
int main()
{
int a = 0;
scanf_s("%d", &a);
switch (1)
{
case 1:
printf("ONE\n");
break;
case 2:
printf("TOW\n");
break;
default:
break;
}
}
二、循环语句
1.for循环
语法结构:
for (初始表达式; 循环条件; 更新表达式)
{
循环体语句;
}
其中,初始表达式是在循环开始前执行的,循环条件是在每次循环开始前测试的,如果循环条件为真,就执行循环体中的语句,然后执行更新表达式,然后再次测试循环条件。如果循环条件为假,则退出循环。
代码示例:
循环打印5次a的值。
int main()
{
int a = 0;
for (a = 0; a < 5; a++)
{
printf("a = %d\n", a);
}
}
2.while循环
语法结构如下:
while (循环条件)
{
循环体语句;
}
while循环首先测试循环条件,如果循环条件为真,则执行循环体中的语句,然后再次测试循环条件。如果循环条件为假,则退出循环。
代码示例:
while循环打印5次a的值:
int main()
{
int a = 0;
while (a < 5)
{
printf("a = %d\n", a);
a++;
}
}
3.do-while循环
语法结构:
do
{
循环体语句;
} while (循环条件);
do-while循环会先执行循环体中的语句,然后测试循环条件。如果循环条件为真,则继续执行循环体。如果循环条件为假,则退出循环。
需要注意的是,在使用循环语句时,应注意循环条件的准确性,以避免陷入无限循环的危险。
示例代码:
do {
printf("a = %d\n", a);
a++;
} while (a < 5);
三、跳转语句
在C语言中,跳转语句可以使程序在不同的位置之间跳转,从而改变代码的执行流程。C语言中主要有三种跳转语句:break、continue和goto。
continue和goto其实在实际开发中用的比较少,这里只做简单介绍。
1.break语句
break语句一般用于循环语句和switch语句中,用于跳出当前的循环或switch语句。当执行到break语句时,程序会立即退出当前的循环或switch语句。
2.continue语句
continue语句用于循环语句中,用于跳过当前循环的剩余部分,直接开始下一次循环。当执行到continue语句时,程序会跳过循环体中remain语句,直接进行下一次循环的测试。
3.goto语句
goto语句可以在程序中跳转到一个标签(label)所指定的位置。它的语法结构如下:
goto label;
...
label: statement;
goto语句会使程序跳转到代码中的标记标签处进行执行,与标签的位置无关。goto语句的使用应当谨慎,因为它容易造成程序流程的混乱,从而使程序更难以理解和维护。
需要注意的是,虽然跳转语句可以使程序流程更加灵活,但过多地使用会增加代码的复杂性,从而降低程序的可读性和维护性。因此,在使用跳转语句时,应当视情况而定,尽量遵循代码风格的规范性和可维护性原则。
四、嵌套语句
在C语言中,嵌套语句指的是在一个语句中,包含了另一个完整的语句,即一个语句中嵌套了另一个语句,这样的语句被称为嵌套语句。嵌套语句可以用来组合多个操作,实现更复杂的功能。C语言中支持多种类型的嵌套语句,常见的有以下几种:
1.if语句嵌套
if语句可以嵌套在另一个if语句或其他语句中。if语句嵌套的语法如下:
if (condition1) {
// do something
if (condition2) {
// do something
}
}
2.for语句嵌套
for语句也可以嵌套在另一个for语句或其他语句中。for语句嵌套的语法如下:
for (initialization;condition;increment) {
// do something
for (initialization;condition;increment) {
// do something
}
}
第一个for语句中的初始化表达式、循环条件和更新表达式控制了外层循环的执行过程;而内层的for语句中的初始化表达式、循环条件和更新表达式则控制了内层循环的执行过程。注意,内层循环的循环体语句会在每一个外层循环执行时重复执行。
下面给出一个九九乘法表代码示例:
#include <stdio.h>
int main() {
for (int i = 1; i <= 9; i++) { // 控制行
for (int j = 1; j <= i; j++) { // 控制列
printf("%d*%d=%d\t", j, i, i*j);
}
printf("\n");
}
return 0;
}
这里提一个点for语句嵌套的执行次数为内层次数乘外层次数。
3.while语句嵌套
while语句同样支持嵌套。while语句嵌套的语法如下:
while (condition1) {
// do something
while (condition2) {
// do something
}
}
需要注意的是,嵌套语句可以让程序的逻辑结构更加清晰,但是嵌套层数过多会降低代码的可读性,导致代码难以理解和维护。因此,在实际使用中应当根据具体情况进行选择,避免过多的嵌套和复杂的代码逻辑。
总结
本篇文章主要带大家学习了C语言的控制语句,这个也是C语言中的一个重点希望大家能够好好理解消化。