今天学习了分支语句、循环语句
- if语句结构为
if(表达式) { 语句1 } else if(表达式2) { 语句2 } else { 语句3 }
※else
是和它离的最近的
if
匹配的
-
switch语句结构
switch(整型表达式) { case标签: }
※switch语句中的break是结束循环
- default子句:如果表达式的值与所有case标签都不一样,就可用default。(每个swich语句中只可出现一次)
- while循环结构
while(表达式) 循环语句;
※while语句中的break和continue区别 。break是永久终止循环,即不再循环。continue是终止本次的循环,即还会继续循环。
- for语句结构
for(初始部分;条件判断部分;调整部分)
循环语句;
※for语句中的break和continue区别 。break是永久终止循环,即不再循环。continue是终止本次的循环,即还会继续循环。
※1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。
- do while()循环语句
do 循环语句; while(表达式);
※该循环语句至少执行一次,且while后要加 ;
※do while语句中的break和continue区别 。break是永久终止循环,即不再循环。continue是终止本次的循环,即还会继续循环。
- 折半查找法
#include<stdio.h> int main() { int arr[]={1,2,3,4,5,6,7,8,9,10}; int i=6; int sz = sizeof(arr)/sizeof(arr[0]); int left= 0; int right = sz-1; while(left<=right) { int mid=(left+right)/2; if(arr[mid]>i) { right=mid-1; } else if (arr[mid]<i) { left=mid+1; } else { printf("找到了\n"); break; } } if(left>right) { printf("找不到\n"); } return 0; }