• C语言程序设计核心详解 第四章&&第五章 选择结构程序设计&&循环结构程序设计


    第四章 选择结构

    1.定义:从main()开始,由上往下有哪些语句执行,哪些语句不执行

    1.两类表达式

    1.1 关系运算符及关系表达式(得到的值要么是1,要么是0)

    < <= > >= == !=

    < <= > >= 是6级
    == != 是7级
    同级顺序是自左往右

    例题:

    4>5     0
    5==5    0
    7=7     非法,赋值运算符左边必须为变量
    5>4>3   0  5>411>30,所以是0
    

    1.2 逻辑运算符与逻辑表达式

    && || !(单目)

    单目是2级,&&是11级 ,||是12级

    (1)在c语言中逻辑表达式的值只有1或0两种值。其中,1表示“真”,0表示“假”
    (2)&&是全真为1,有0为0,||是有1为1,全0为0 ,!是1变0,0变1

    例题:

    a++>5 
    ++a>5
    5||5
    4<3 && 9
    0&&7
    5>4>3&&3
    

    2.if语句

    格式1:

    if(表达式)
    	语句序列1=>if子句
    后继语句
    

    格式2:

    if(表达式)
    	语句序列1else
    	语句序列2

    格式3:if语句的嵌套

    if(表达式1if(表达式2)
    		语句序列11else 
    		语句序列12else
    		语句序列2

    3.switch语句

    switch语句值得注意的点有很多,要小心谨慎。

    switch(表达式)
    {
    case 常量表达式1:子句1
    case 常量表达式2:子句2
    ...............
    case 常量表达式n:子句n
    default: 子句n+1
    }
    

    注意点:

    1. 【default: 子句n+1】该条语句可以有,也可以省略
    2. case后只能接常量整型或字符型,不能有变量和逗号表达式
    3. 各case后常量不能出现相同的值
    4. 只有每一个case常量表达式都不符合,才会跳转执行default
    5. 在子句不执行break语句的情况下,符合常量表达式1,会把子句1到n,以及default内子句n+1

    来看几个列子:深刻理解switch语句
    不带break:

    #include
    int main()
    {
        int x;
        scanf("%d",&x);
        switch(x)
    {
        case 1:printf("语句1\n");
        case 2:printf("语句2\n");
        case 3:printf("语句3\n");
        default:printf("语句default\n");
    }      
    }
    

    在这里插入图片描述

    带break:

    #include
    int main()
    {
        int x;
        scanf("%d",&x);
        switch(x)
    {
        case 1:printf("语句1\n");break;
        case 2:printf("语句2\n");break;
        case 3:printf("语句3\n");break;
        default:printf("语句default\n");
    }     
    }
    

    在这里插入图片描述

    运算符先后顺序大总结

    第一级:()
    第二级:单目
    第三级-第十二级:双目

    双目运算符:按顺序分,算术,关系,逻辑三类运算符

    第十三级:三目
    第十四级:=
    第十五级:,

    单目运算符就是一个符号的,双目就是两个符号的

    第五章 循环结构

    定义:从main()开始,从上向下,使得某些语句重复执行。
    循环结构的程序:在顺序结构中加入循环控制语句。

    1.循环控制语句(4类)

    1.1 while语句(当型循环)

    第一类:

    while(表达式)
    {
    	循环体语句序列;
    }
    

    先执行表达式,再执行循环体语句
    执行完循环体语句,再回到表达式,判断是否继续进入循环
    while执行一条语句或一条复合语句

    1.2 do-while语句(直到型循环)

    第二类:

    do
    {
    	循环体语句序列;
    }while(表达式)

    先执行循环体语句,然后进入表达式,判断是否进行下一次循环
    do-while也是就近控制一条或花括号的复合语句

    1.3 for语句

    第三类:

    for(表达式1 ;表达式2 ;表达式3)
    {
     	循环体语句序列;
    }
    

    表达式1是初始化,表达式2是判断,表达式3是增减语句
    for循环流程描述:

    表达式1,是初始化,就执行一次,然后从表达式1到表达式2,判断表达式2
    执行循环体语句
    执行表达式3,回到表达式2判断,判断决定结束循环或进入到循环体语句

    1.4 if(){} else{} goto配合使用

    第四类(几乎不用):
    if(){} else{} goto配合使用

    2.两个控制语句—break continue

    格式:break
    功能:终止退出
    范围:循环体中和switch体

    匹配最近的循环体

    格式:continue
    功能:结束一次循环继续
    范围:循环体中

    匹配最近的循环体

    3. 例题

    1.下面程序的运行结构是()

    # include
    int main()
    {
         int num=0;
         while(num<=2)
         {
             num++;
             printf("%d\n",num);
         }
    }
    

    运行结果:

    1
    2
    3
    

    2.设整型变量x的当前值为3,执行以下循环语句后,输出的结果是()

    # include
    int main()
    {
        int x=3;`1
        do
            printf("%d\t",x-=2);
        while(!(--x));
    }
    

    运行结果:

    1	-2
    
  • 相关阅读:
    论文发表需要的重复率是多少?
    Kotlin 协程(线程)切换
    【JavaEE重点知识归纳】第11节:认识异常
    操作系统进程调度算法的模拟实现(c语言版本)
    一篇文章搞懂WPF动画的使用技巧
    XAML语言
    2022_08_09__106期__二叉树
    AM@无穷小和无穷大
    基于Vue2.0对Tinymce Editor富文本编辑器进行封装与使用
    VSCODE配置unity(windows)
  • 原文地址:https://blog.csdn.net/weixin_62613321/article/details/140412077