栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

分支和循环语句

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

分支和循环语句

1.什么是语句 C语言语句可以分为五类         1.表达式语句(i > 1)         2.函数调用语句         3.控制语句 4.复合语句 5.空语句 控制语句用于控制程序的执行流程,他们由特定的语句定义符组成,C语言有九种控制语句。         1.条件判断语句也叫分支语句:if、switch。 2.循环执行语句:do while 、while、for。 3.转向语句:break、continue、return。 2.分支语句(选择结构) 2.1 if语句
    //单分支语句
    if (表达式语句){
        语句1;
        ...
        语句N;
    }
    //双分支语句
    if (表达式语句){
        语句1;
        ...
        语句N;
    }else{
        语句1;
        ...
        语句N;
    } 
    //多分支
    if (表达式语句){
        语句1;
        ...
        语句N;
    }else if(表达式语句){
        语句1;
        ...
        语句N;
    }else{
        语句1;
        ...
        语句N;
    }
在分支语句中,表达式为真(非0)执行{ }代码块中的内容,表达式为假(0)不执行{ }代码块中的内容。 2.1.1代码块 代码块:在C语言中,如果要执行多条语句,可以用{ }来进行执行。
#include 

int main(){
    int a = 1;
    //如果不加{}只会执行if后面的第一条语句
    if(a > 2)
        printf("成功执行了1");
        printf("成功执行了2");
    //如果加{}可以同时执行多条语句    
    if(a < 2){
        printf("成功执行了1");
        printf("成功执行了2");
    }
    return 5201314;
}
2.1.2悬空else else只会匹配离他最近的if
#include 

int main(){
    int a = 1;
    int b = 2;
    if(a > 2)
        if(b < 2)
            printf("成功执行了2");
    else
        printf("执行了");
    return 5201314;
}
2.2switch语句
    switch(整型表达式){
        //语句项;
        case 整型常量表达式:
            语句1;
            ...
        case 整型常量表达式:
            语句N;
            ...
        default:
            语句N+1;
    }
2.2.1switch语句(break) 在switch语句中,我们无法直接实现分支,需要搭配break来进行使用。
#include 

int main(){
    int day = 2;
    switch(day){
        case 7:
        case 6:
            printf("休息");
            break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
            printf("上班");
            break;
        default:
            printf("输入的什么玩意");
            break;
    }
    return 5201314;
}
2.2.1 switch语句(default) default:在switch语句中,当所有条件都不匹配的时候,无论default在switch语句中那个位置,都会最后执行该语句(最好放在switch语句的最后一句)。
#include 

int main(){
    int day = 8;
    switch(day){
        case 7:
        case 6:
            printf("休息");
            break;
        case 5:
        case 4:
        default:
            printf("输入的什么玩意");
            break;
        case 3:
        case 2:
        case 1:
            printf("上班");
            break;

    }
    return 5201314;
}
3.循环语句 C语言中,引入while循环语句,可以实现循环。 3.1while循环(判断循环首)
    while(表达式){
        语句1;
        ...
        语句N;
    }
3.1.1while循环中的跳出循环(break)
#include 

int main(){
    //while 首先要在表达式内进行判断
    //如果为真,执行括号中的语句
    //如果为假,不执行括号中的语句
    int i = 0;
    while(i < 10){
        printf("%d", i);
        i++;
        break;
        //不论循环多少次,直接跳出循环
    }
    return 5201314;
}
3.1.2while循环中的结束本循环(continue)
#include 

int main(){
    //while 首先要在表达式内进行判断
    //如果为真,执行括号中的语句
    //如果为假,不执行括号中的语句
    int i = 0;
    while(i < 10){
        if(i == 2) {
            i++;
            continue;
            //结束本次循环,后边的内容均不执行
        }
        printf("%d", i);
        i++;

    }
    return 5201314;
}
总结:break和continue的区别 break:终止循环,执行之后只要遇见他,while语句直接失效,调到while语句的下一个兄弟语句。 contine: 结束本次循环,执行之后遇见他,while内部代码块不执行了,回跳到while语句表达式。 区别:break结束了while语句的生命周期,continue相当于重头再来一遍while的循环。 3.2 for循环语句(计次循环首)
    //初始化表达式:在循环之前初始定义一个值,只执行一次。
    //条件判断表达式:在循环进行中进行判断。
    //结束表达式:在本次循环之后,执行一次结束表达式
    for(初始化表达式;条件判断表达式;结束表达式){
        语句1;
        ...
        语句N;
    }
3.2.1 for 与 while的利弊
#include 

int main(){
    //while循环语句
    //初始表达式
    int i = 0;
    //条件判断表达式
    while(i < 1){
        //控制变量表达式(结束表达式)
        printf("perfect");
        i++;
    }
    //for循环语句
    //初始表达式;条件判断表达式;控制变量表达式
    for(int i = 0; i < 1; i++){
        printf("perfect");
    }
    return 5201314;
}
 while循环和for循环一般情况下都要有三个必须条件,while循环语句的缺点三个表达式太分散,for循环语句可以简洁用一行进行表示。 3.2.2for循环中break和continue
#include 

int main(){
    //for循环语句
    //初始表达式;条件判断表达式;控制变量表达式
    for(int i = 0; i < 2; i++){
        printf("perfect");
        //终止for循环
        break;
    }
    for(int i = 0; i < 2; i++){
        printf("perfect%d",i);
        //跳出本次循环(执行控制变量表达式)
        continue;
    }
    return 5201314;
}
3.2.3for循环语句控制变量 1.尽量不要在for循环体内进行变量修改。 2.建议for循环语句的控制变量表达式的取值采取"前闭后开区间"写法。
int main(){
    int i = 0;
    //"前闭后开区间" 循环次数-1
    for(i = 0; i < 10; i++){}
    //"前闭后闭区间" 循环次数+1
    for(i = 0; i < 10; i++){}

    return 5201314;
}
3.3do...while循环语句(循环判断首)
do
    {
        语句1;
        ...
        语句N;
    }while(条件表达式);
3.3.1 do...while语句的特点 先执行一次循环体,在对其进行判断。
#include 

int main(){
    int i = 0;
    //先接受用户输入的数字
    do
    {
        scanf("%d", &i);
    }while(i < 10);
    //执行完循环体后在进行判断
    return 5201314;
}

3.4 goto语句

C语言中,提供了直接可以跳出多层循环的goto语句。break只能跳出一个循环语句。

#include 

int main(){
    int i = 0;
    int j = 0;

    for(i = 0;i < 10; i++){
        for(j = 0; j < 10; j++){
            printf("%d %dn", i, j);
            //当i=2,j=2时,执行goto语句可以任意跳跃
            if(i == 2 && j == 2){
                goto error;
            }
        }
        error:
            printf("满2了");
    }
    return 5201314;
}

作业

1.计算10!(for,while,do...while)

2.计算1!+2!+...+10!

3. 在一个有序数组中查询某个数字n。(二分法)

4.一个无序数组用二分法进行排序。

5.找一个1w以上最小的素数。

6.写一个斐波那锲数列的函数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913442.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号