目录
一、跳转语句
goto 可以在函数内任意跳转
它可能会破坏已经设定好的分支、循环语句,因此绝大多数公司禁止使用
但是它在驱动编程时特别适合用于处理异常
标签名:
...
goto 便签名;
练习1:不使用循环语句计算N的阶乘
break
1、配合switch使用,关闭执行开关
2、跳出循环,只能跳一层
continue
结束本次循环,直接进入下一次循环
return
1、返回一个数据给函数的调用者
2、立即结束函数的执行
练习2:不使用循环语句,计算第N项的斐波那切数列
1 1 2 3 5 8 13 21 34 ...
二、数组
什么是数组:变量的组合,是一种批量定义变量的方式
定义:类型 数组名[数量];
int arr[5];
使用:数组名[下标];
下标:从 0 开始
范围:0 ~ 数量-1
arr[0]
遍历:一般与 for 循环配合,使用循环变量i当做数组的下标
初始化:类型 数组名[数量] = {1, 2, 3, 4 ...};
1、数组与普通变量一样默认值是随机的,为了安全要对数组进行初始化
2、这种初始化语法只能在定义数组时使用,并且只能逐个赋值,不能整体赋值
3、初始化数据过多,编译器会产生警告并丢弃
4、初始化数据不足时,编译器会自动补0
5、初始化数据可以省略,只写大括号,相当于给所有元素赋值0
6、初始化数组时,长度可以省略,编译器会自动统计大括号中数据的个数然后告诉数组
数组的长度 = sizeof(arr) / sizeof(arr[0])
练习3:定义一个长度为10的数组并初始化,然后计算出该数组的最大值、最小值、平均值
练习4:定义一个长度为10的数组并初始化,进行升序排序
数组越界:为了程序的运行效率考虑,不会检查数组下标
数组越界的后果:
1、一切正常
2、段错误(非法使用内存)
3、脏数据
练习5:定义一个长度为10的数组并初始化,然后找出数组中的第二大的值。不允许排序