捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >知识点备忘 > 正文
15 2018.02

S1E16:拾遗

点击次数:1203 更新时间:2018/2/15 15:36:45  【打印此页

知识点回顾:


1. 赋值运算符

赋值运算符是 C 语言中用得最多的一个运算符,我们每天都在用它。因此它的设计简便与否直接影响到了 C 语言的开发效率。语法很简单,就是将右边的值放到左边的变量里边,因为它的执行方向是自右向左。

int a;
a = 5;

需要注意的是赋值运算符的左边必须是一个 lvalue,变量名就是 lvalue,但常数就不是了,所以你把 5 写在赋值号的左边就会出错:

5 = a;


编译系统会提示类似于“error: lvalue required as left operand of assignment”的错误。

lvalue 不建立理解为“left value of the赋值运算符”,这里我写了篇文章,大家可以参考下 ->什么是 lvalue,什么是 rvalue?


2. 复合的赋值运算符

由于赋值运算符的使用度非常高,所以 C 语言的作者也想出了一些编辑的方案。

比如:

 a = a + 1;


这样写太费劲,你完全可以写成:

a += 1;


同理还有:

a -= 2;
a += 3;
a /= 4;
a %= 5;



3. 自增自减运算符

当我们需要对一个变量加一或减一并赋值给自己的时候,我们可以写成 i++、i— 或 ++i、--i 的形式。

它们也被称为增量减量运算符,或 ++、-- 运算符。

它们的区别是:

 

·         i++ 是先使用变量 i 中保存的值,再对自身进行 ++ 运算;

·         ++i 是先对自身进行 ++ 运算,再使用变量 i 的值(这时候变量i的值已经加 1 了)。



另外,自增、自减运算符只能作用于变量,而不能作用于常量或表示。


4. 逗号运算符

逗号表达式的语法是:表达式1,表达式2,表达式3,...... ,表达式n

 

·         逗号表达式的运算过程为:从左往右逐个计算表达式;

·         逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。


不过,逗号运算符在C语言的所有运算符中,是最没有地位的那个。

因为连赋值运算符的优先级都比逗号运算符要高,所以……

a = 3, 5


相当于

a = 3;
5;


注意:在 C 语言中看到的逗号,不一定就都是逗号运算符,因为在有些地方,逗号仅仅是被用作分隔符而已。

比如:

int a, b, c; 
scanf("%d%d%d", &a, &b, &c); 


这里逗号都是作为分隔符使用,而不是运算符。


5. 条件运算符

有一个操作数的运算符称为单目运算符,有两个两个操作数称为双目运算符,然而 C 语言还有唯一的一个三目运算符,它的作用是提供一种简写的方式来表示 if-else 语句。

语法:exp1 ? exp2 : exp3;

exp1 是条件表达式,如果结果为真,返回 exp2,如果为假,返回 exp3。

所以:

if (a > b)
{
    max = a;
}
else
{
    max = b;
}


可以直接写成:

max = a > b ? a : b;



6. goto 语句

goto 语句可以说是一个历史遗留,因为早的编程语言都留有很多汇编语言的痕迹,比如 goto 语句就是其中之一。

goto 语句的作用就是直接跳转到指定标签的位置。

语法:goto 标签;

其中标签需要被定位于某个语句的前边,比如:

#include <stdio.h>

int main()
{
        int i = 5;

        while (i++)
        {
                if (i > 10)
                {
                        goto Label;
                }
        }

Label:  printf("Here, i = %d\n", i);

        return 0;
}


重要:开发中要尽量避免使用 goto 语句。        其实就连 C 语言的作者也觉得 goto 语句非常容易被滥用,并且建议一定要谨慎使用,甚至根本不用它。

但在一种情况下使用 goto 语句是情有可原的,那就是当面临要跳出多层循环的时候,使用 goto 语句要比多个 break 语句好使。


7. 注释

C 语言的注释有两种方式,一种是大家常用的,将注释写在两个连续斜杠的后边:

// 这是注释,编译器不会理会


这样每一行注释的开头都需要有两个斜杠,有时候你可能需要写多行注释,那你可以使用 /* 注释的内容 */ 来实现:

/* 这是一个跨越多行的注释
   这是注释,编译器不会理会
   这是注释,编译器不会理会
   这是注释,编译器不会理会
   这是一个跨越多行的注释 */
提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1203 更新时间:2018/2/15 15:36:45  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修