美文网首页
C primer Plus study note chapter

C primer Plus study note chapter

作者: 转身一世铅华尽 | 来源:发表于2019-08-13 15:06 被阅读0次

运算符、表达式、语句
基本运算符:=,+,_*,/,指数运算符在C中是不存在的,
C中提供了一个专门的函数进行指数运算,pow()函数,如:pow(3.2,2.2)返回3.2的2.2次幂

C中 = 符号不是一个意味着相等的符号,而是一个赋值运算符 ,将右侧的表达式或者值赋予左边的变量,左侧必须为变量名或其余的引用内存地址的对象,因为左侧必须要引用一块存储位置
根据C中的新定义,可以称呼左值为 对象定位值
赋值顺序为根据运算符优先级从右往左,括号内的表达式优先

  • 运算符
    加法运算符,用于将其两侧的表达式或者值相加。,其运算对象可以为常量也可以是变量

— 运算符
原理同 + 运算符

乘法运算符 *
将运算符两边的表达式或值相乘

除法运算符 /
在这里需要注意一点就是:
在除法运算符中,如果是整数相除,得出的结果必将是整数,会将小数部分给截掉,只留下整数部分
只有浮点数相除才会留下小数位。

PS:+,—,×,/ 这些运算符是按照从由向左的顺序计算的,括号优先计算,遇上一元和二元运算符相遇先计算二元运算符如:一元运算符(正(+),负(-))
一元运算符:只需要一个运算对象的,二元运算符是需要两个运算对象的。

sizeof运算符和size_t类型
sizeof运算符以字节为单位返回运算对象的大小,其运算对象可以是具体的数据对象(如:变量名)或者类型。如果运算对象是类型则必须使用括号将其扩其扩起来
sizeof返回size_t类型的值,这是一个无符号整形的类型,C的头文件中通常使用typedef把size_t声明为unsigned in类型或者unsigned long的别名,这样在使用size_t的时候系统会根据各个不同的系统替换标准类型

求模运算符 %

一般用于整数的运算,用于求取运算符左侧除与运算符右侧的余数

递增运算符 : ++
执行简单的任务,将运算对象递增1,该运算符有两种方式实现递增,一种是运算符在表达式前面(如:++i,就是将i先递增1再参与计算),另外一种就是运算符在表达式后面(如:i++ ,就是先将i进行计算,再递增1)

递减运算符 --
其任务与递增运算符类似,只不过这个是递减

PS:切记。。。。如果一个变量出现在一个函数的多个参数中,不要对该变量使用递增或者递减运算符,如果一个变量多次出现在一个表达式中,则不要对该变量使用递增或则递减运算符。

表达式和语句:
表达式是有运算符和运算对象组成的,最简单的表达式是一个单独的运算对象,以此为基础可以建立复杂的表达式
C中表达式最重要的一个特性就是,每一个表达式都有一个值。

语句
语句是C程序的基本构建块,一条语句就相当于一条完整的计算机指令,大部分语句都是以分号结尾的,但是并非所有的指令都是语句,以分号来來识别;
PS:声明不是表达式语句,迭代语句不以没有结尾符号。

C中的副作用,副作用是对数据对象和文件的修改,绝大多数时候,运算符的主要目的就是其副作用。

序列点:就是程序执行的点,在该点上,所有的副作用都在进入下一步之前发生,在C中语句的分号标记了一个序列点,,另外,任何一个表达式的结束也是一个序列点。

复合语句块

复合语句是使用花括号括起来的一条或多条语句,复合语句也称为块

类型转换:
通常语句和表达式应当使用类型相同的变量和常量,如果是混合类型,则C中会采用一套规则进行自动的类型转换,以下是最基本的类型转换规则

1.当类型转换出现在表达式时,,无论是unsigned还是signed的char和short都会自动转换成int,如果有必要,还会转换成unsigned int(如果short和int的大小相同,则unsigned short就比int大,这种情况下,Unsigned short 会被转换成unsigned int),基本上都是低类型向高类型转换。
2.涉及两种类型的运算,两个值会被分别转换成两种类型的更高级别。
3.类型的级别由高到低为: logn double>double>float>unsigned long>long long>unsigned long>long>unsigned int >int ,另外当相邻大小的两个类型值相等时,则加了unsigned的低类型大于高类型如:当long 值等于int值,则unsigned int>long
4.在赋值表达式语句中,计算的最终结果会被转换为被赋值变量的类型,这一过程可能会导致降级,即类型转换为更低的类型。
5.当作为参数传递时,函数原型会自动覆盖升级,就是作为参数时,char和short的值会被转换为int,float的值会转换为double

降级则不同,当出现降级时,,待赋的值能够赋给目标的值,无法超过目标的类型和值。

强制类型转换符,通过在值前面加一个用括号()括起来的类型进行强制类型转换,形参和时参可相互转换
形参是变量,实参是函数调用提供的值,实参被赋值给相应的形参。

PS:对于类型转换尽量进行显式转换或强制转换,虽然C中提供了自动转换,但是自动转换并不稳妥

相关文章

  • C primer Plus study note chapter

    循环语句: while( expression ) 循环语句根据语句中的判断条件对判断条件进行判断,如果表达式ex...

  • C primer Plus study note chapter

    数组和指针 头文件:把函数原型和已定义的字符常量放在头文件中是一个良好的编程习惯 指针取址运算符 &用于拿到变量的...

  • C primer Plus study note chapter

    存储类别:C中提供了许多不同的模型或者存储类别在内存中存储数据。从硬件方面看:被存储的值都占用了一定的物理内存,C...

  • C primer Plus study note chapter

    运算符、表达式、语句基本运算符:=,+,_*,/,指数运算符在C中是不存在的,C中提供了一个专门的函数进行指数运算...

  • C primer Plus study note chapter

    条件控制语句if(){}else{}语句 getchar();本函数从终端读取输入的字符赋给一个字符对象,当遇上回...

  • C primer Plus study note chapter

    字符串是由空字符结尾的char类型数组字符串常量:双引号括起来的内容称为字符串常量。字符串常量属于静态存储类别,就...

  • C语言从入门到精通所需的7本书

    C Primer Plus C Primer Plus作为一本被人推崇备至的c入门经典,C primer plus...

  • Note from C primer plus

    Notes after reading C primer plus Data and C## Definition...

  • EN Note # A Study in Scarlet, Ch

    上接 EN Note # A Study in Scarlet, Chapter 1-7 Chapter 8The...

  • Learning C Primer Plus | Chapter

    数据与C 位(bit)是计算机最小的存储单位。它可以容纳两个值(0或1)之一,是计算机存储的基本单位。字节(byt...

网友评论

      本文标题:C primer Plus study note chapter

      本文链接:https://www.haomeiwen.com/subject/noxbjctx.html