一个break不能跳2个循环,只能跳一个
j=1后跳出1个循环,然后继续执行外面的循环 结果为内循环.......1内循环结束*3外循环结束
#include <stdio.h>
int main()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 5; j++)
{
printf("内循环.......%d", j);
break;
}
printf("内循环结束\n");
}
printf("外循环结束\n");
return 0;
}
goto语句
- goto去哪就去哪
- 格式:goto a; a:(不一定为a,也可以为其他字母或字符串,不能是数字)
- goto可以跳到任何地方去,但跳到前面会进入死循环
#include <stdio.h>
int main()
{
for (int i = 1; i <= 3; i++)
{
for (int j = 1; j <= 5; j++)
{
printf("内循环.......%d", j);
goto a;
}
printf("内循环结束\n");
}
return 0;
}
函数
- main()主函数printf()是输出函数
- 我们可以定义函数,例如下面的f1():
#include<stdio.h>
//1. 定义
//void:函数中没有返回值,即return
//f1:函数名,自己定义的,规则与变量名一样
void f1(){
//这个函数的功能
printf("函数f1被执行\n");
}
//main:主函数,一切代码的入口
int main(){
f1();
printf("主函数开始执行\n");
//2. 调用
f1();
f1();
return 0;
}
- 函数要定义在main前面
- 函数之间可以互相调用 如下面死循环:
#include<stdio.h>
//1. 定义
//void:函数中没有返回值,即return
//f1:函数名,自己定义的,规则与变量名一样
void f1(){
//这个函数的功能
printf("函数f1被执行\n");
f2();
}
void f2(){
printf("函数f2被执行\n");
f1();
}
//main:主函数,一切代码的入口
int main(){
//2. 调用
f2();
f1();
return 0;
}
- 函数后面要写(),定义时不用写分号,调用时需要
- void:函数中没有返回值,即return后面的值。如果你想让函数返回一个值,你可以使用数据类型(如
int或float等)代替void,并在函数内部使用return关键字,若需要返回值则需要根据数据类型选择(保持一致)。 - return:1. 把它后面的值作为函数的返回值2. 结束函数的执行,后面代码无效 例:a为返回值114
#include<stdio.h>
int f1(){
printf("函数f1被执行\n");
return 114;
printf("函数f1执行结束\n");//不会执行
}
int main(){
int a = f1();
printf("a = %d\n",a);
return 0;
}
- 函数定义的最终模式:返回值类型 函数名(参数列表){函数体return 返回值;}
- 传参:在调用函数时,把对应的参数填进去
- 三个数比大小
#include <stdio.h>
int f1(int x, int y, int z)
{
if (x > y)
{
if (x > z)
{
return x;
}
else
{
return z;
}
}
else
{
if (y > z)
{
return y;
}
else
{
return z;
}
}
}
int main()
{
int x,y,z;
scanf("%d %d %d", &x, &y, &z);
printf("max is %d\n", f1(x, y, z));
return 0;
}
```
```c
#include <stdio.h>
int f1(int n)
{
for (int i = 2; i <n; i++)
{
if (n % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int x;
printf("输入1个数字: ");
scanf("%d", &x);
int y = f1(x);
printf("%d", y);
return 0;
}