开发环境:
- 网页版:跳转
- 本地开发(Vscode):跳转
文章目录
- 一、基础语法
- (1)if (如果)
- 示例1: 普通使用 if
- 示例2: 带否则 else
- 示例3: 否则如果 else if
- (2)switch case (选择)
- 规则
- 示例1:
- (3)for (计次循环)
- 示例1:
- (4)while (判断循环)
- 示例1:
- (5)do while (判断循环尾)
- 示例1: 和while效果一致
- 示例2: 和while的区别 (保证能执行一次)
- (6)break (跳出循环)
- 示例1:
- (7)continue (到循环尾)
- 示例1:
- (8)return (返回)
- 规则
- 示例1: 在循环体中使用
- 示例2: 返回参数
- (9)goto (跳转)
- 规则
- 示例1:
一、基础语法
(1)if (如果)
示例1: 普通使用 if
一般形式: if (表达式) {语句;}
#include <stdio.h>
int main() {int a = 8; // 定义一个变量if (a > 6) { // 为真执行语句 为假不执行printf("%d\n", a);}return 0;
}
示例2: 带否则 else
一般形式:if(表达式) {语句1; } else { 语句2;}
#include <stdio.h>
int main() {int a = 8; // 定义一个变量if (a > 10) { // 为真执行语句 为假不执行printf("a > 10, a = %d\n", a);} else {printf("a < 10, a = %d\n", a);}//a = 88; // 改变变量值if (a > 10) { // 为真执行语句 为假不执行printf("a > 10, a = %d\n", a);} else {printf("a < 10, a = %d\n", a);}return 0;
}
示例3: 否则如果 else if
一般形式:
if(表达式1) { 语句1;}
else if(表达式2) {语句2;}
…
else if(表达式n){语句n;}
else{语句n+1;}
#include <stdio.h>
int main() {int a = 8; // 定义一个变量if (a > 10) { // 为真执行语句 为假不执行printf("a > 10, a = %d\n", a);} else if (a < 9) {printf("a < 9, a = %d\n", a);} else {printf("a < 10, a = %d\n", a);}return 0;
}
(2)switch case (选择)
一般形式:
switch(表达式)
{
case 常量1:语句1;
case 常量2:语句2;
…
case 常量n:语句n;
default: 语句n+1;
}
规则
- switch表达式必须是整数或字符类型。
- case值必须是整数或字符常量。
- case值只能在switch语句内部使用。
- switch case中的break语句是可选的。如果在case中没有找到break语句,匹配的case之后的所有case都会被执行。这被称为C语言switch语句的"穿透"状态。
示例1:
#include<stdio.h>
int main() {int a = 10;switch(a) {case 10:printf("数字等于10");break;case 50:printf("数字等于50");break;case 100:printf("数字等于100");break;default:printf("数字不等于10、50或100");}return 0;
}
(3)for (计次循环)
一般形式:
for(循环变量赋初值;循环条件;循环变量增值){
语句
}
示例1:
#include<stdio.h> //头文件
int main() { //主函数for(int i=1;i<11;i++) { //循环条件和增量printf("%d",i);//输出结果}return 0;//函数返回值为0
}
(4)while (判断循环)
一般形式:
while(表达式){
//代码块
}
示例1:
#include<stdio.h> //头文件
int main() { //主函数
int i=0;while(i != 10) { //循环条件 (i≠10)printf("%d\r\n",i);//输出结果i++; // i每次+1}return 0;//函数返回值为0
}
(5)do while (判断循环尾)
一般形式:
do{
循环体
}while(表达式);
示例1: 和while效果一致
#include<stdio.h> //头文件
int main() { //主函数
int i=0;do { //循环条件 (i≠10)printf("%d\r\n",i);//输出结果i++; // i每次+1} while(i != 10);return 0;//函数返回值为0
}
示例2: 和while的区别 (保证能执行一次)
#include<stdio.h> //头文件
int main() { //主函数
int i=0;do { //循环条件 (i≠10)printf("%d\r\n",i);//输出结果i++; // i每次+1} while(i != 1);printf("最终结果:%d\r\n",i);//输出结果return 0;//函数返回值为0
}
(6)break (跳出循环)
break语句通常用于do-while、for、while循环语句中时,可使程序终止循环。
示例1:
#include<stdio.h> //头文件
int main() { //主函数
int i=0;while(i != 10) { //循环条件 (i≠10)printf("%d\r\n",i);//输出结果i++; // i每次+1if (i==5) break; // 如果i=5,则跳出循环}return 0;//函数返回值为0
}
(7)continue (到循环尾)
continue语句放在循环体内,用来跳过循环体中某一次后面的语句,进入下一次循环。
示例1:
#include<stdio.h> //头文件
int main() { //主函数
int i=0;for(i=0; i<10; i++) { //循环条件 (i≠10)if (i==5) continue; // 如果i=5,则进入下个循环printf("%d\r\n",i);//输出结果}return 0;//函数返回值为0
}
(8)return (返回)
用于函数的返回值和控制流程
规则
- 在函数执行过程中,只能使用return语句一次。
- 如果函数的返回值类型为void,则可以省略return语句;否则必须使用return语句返回一个值。
- 如果在函数中使用了多个return语句,则需要保证每个return语句都能够被执行到,并且返回的值是正确的。
- 在使用return语句时,应该考虑函数的调用方式和传递参数的方式,以确保返回的值能够满足调用方的需要。
示例1: 在循环体中使用
#include<stdio.h> //头文件
int main() { //主函数
int i=0;for(i=0; i<10; i++) { //循环条件 (i≠10)if (i==5) return 0; // 如果i=5,则跳出循环。 这里的return相当于breakprintf("%d\r\n",i);//输出结果}return 0;//函数返回值为0
}
示例2: 返回参数
#include<stdio.h> //头文件
int test(void) {return 8;
}int main() { //主函数int i=test(); // 调用test函数得到返回值printf("%d\r\n",i);//输出结果return 0;//函数返回值为0
}
(9)goto (跳转)
一般形式:
goto a;
.
.
a: 语句;
规则
- 使用 goto 语句只能 goto 到同一函数内,而不能从一个函数里goto到另外一个函数里。
- 应该避免向两个方向跳转, 防止函数进入死循环,无法退出。
注意:在任何编程语言中,都不建议使用 goto 语句。因为它使得程序的控制流难以跟踪,使程序难以理解和难以修改。任何使用 goto 语句的程序可以改写成不需要使用 goto 语句的写法。
示例1:
#include <stdio.h>
int main () {/* 局部变量定义 */int a = 0;do {if(a == 5) {/* 跳过迭代 */a = a + 1;goto FLAG1; // 跳转到标记1}printf("a 的值: %d\n", a);a++;}while(a < 20);
FLAG1: // 标记1printf("标记1\r\n");return 0;
}