zoukankan      html  css  js  c++  java
  • [C语言学习笔记五]复合语句和操作符的区分

    复合语句的概念和用法

    在部分时候,语句必须要与其他语句相结合才能实现应有的功能。放在花括号 {} 里的代码叫做复合语句。

    例如:

    int a,b;
    if (a == b) 
        ... ...         /* 这一部分代码配合 if 函数使用,因此放在花括号内。 */
    }
    

    为了增加程序的可读性,在需要时可以把用于实现同一个功能的代码放在花括号里。例如:

    int a=1,b=2,c;
    if (a < b) {
        printf("a = b");
        {
            c = a
            printf("%d",c)
        }
    }
    

    这种用法一般没有必要,可以结合适当空行和注释来指明。

    左值和右值与多元操作符

    例如:

    int a,b,c,d;
    c = a + b;
    //d = c = a + b;    /* 这是一种不好的习惯! */
    

    不要使用注去的写法!此处可理解为

    d = c;
    c = a + b;
    

    而应该理解为

    d = a + b;
    c = a + b;
    

    这可能会导致错误,因此请极力避免此写法。

    此处加号 + 和等号 = 是操作符,且是二元操作符。因为它们都有两个被操作的数,即等号左边的 c 和右边的 a 。因它们所处的位置,所以操作符左边的部分称为左值,右边的称为右值。
    在所有操作符中,同一个符号可能有不同的意义,例如:

    c = a * b   /* 取 a 与 b 的乘积 */
    c = * (a)   /* 取 a 的指针 */
    

    第一种写法有两个操作数,为二元操作符,所以为乘法运算符;第二种有一个操作数,为一元操作符,所以为指针操作符。

  • 相关阅读:
    rmq +二分暴力 hdu 5726
    8.25 ccpc 比赛总结
    莫比乌斯反演题目总结
    HDU 4848 Wow! Such Conquering! (搜索+floyd)
    Codeforces 982 C Cut 'em all!(DFS)
    Codefoces 986C AND Graph(DFS)
    CodeForces 986A Fair(BFS)
    ACM经验贴
    Kattis A+B Problem(FFT)
    CF E. Porcelain (双向dp)
  • 原文地址:https://www.cnblogs.com/moreal/p/12441813.html
Copyright © 2011-2022 走看看