黑马程序员--IOS基础第三天(C语言)

来源:互联网 发布:软件开发价格评估 编辑:程序博客网 时间:2024/05/19 04:53

  1. 运算符:告诉编译程序执行特定算术或逻辑操作的符号

  2. 功能分类:算数运算符、关系运算符、逻辑运算符、按位运算符(二进制运算)

  3. 根据运算的操作数的个数分为:单目运算符(i++,只有一个操作数);双目运算符(有两个操作数a+b);三目运算,唯一一个(a>b1:0

  4. 优先级:优先级划分为15级,1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。

   

  1. 结合性:a、自左至右,b自右至左。(优先级相同时,考虑结合性)

  2. 算数运算符:+ - * / %

  3. 求余的规则:

    m%n  m除以n之后,取得余数的部分。例如:10%3==1

    m=0 可以;n=0不可以,无意义;m>n 正常区域;m<n,结果为m

    写法规范:运算符的两侧我们一般加上一个空格

  4. 求余的注意事项:1 mn不能为小数 2m<0,结果为负数 3n<0,结果正负性取决于m

  5. 算数运算符中类型转换问题:

  1. 隐式转换(自动转换):系统自动完成的。例如:float+int int类型转化为float类型

  2. 显示转换(强制类型转换):格式:(要转换的类型)要转换的变量或表达式          例如:printf“%d”,(int)(f1+num);

  3. 注意事项:a.用一个大数加上一个特别小的数,如果使用float会有问题(造成数据丢失),因为float的有效数字只有7位。3455+0.0000003,输出结果3455.00000

               b.强制类型转换是临时转换。

10. 表达式:用运算符按一定的规则链接起来的、有意义的式子。分为算数表达式、逻辑表达式、字符串表达式、关系表达式。表达式一定有返回值

11. 表达式语句:表达式后面加上分号,构成表达式语句。

12. 赋值运算符“=“,作用:把等号右侧的值给等号左侧的变量。注意:等号的左侧必须是一个变量。

13.赋值运算符结合性:右结合(从右向左)。例如:a=b=c=1;(a=b=c=1)));

       Int a=b=c=1//错误,因右结合,定义a时,bc未定义

14.符合赋值运算符(双目运算符)+=a+=3---a=a+3

-=a-=3---a=a-3

*=, a*=3---a=a*3

 /= ,a/=3---a=a/3

15.++a(前缀表达式):求值,先让a的值+1,再取出a的值作为表达式的值(先变后用)

  a++(后缀表达式):求值,让取出a的值作为表达式的值,再让a的值+1(先用后变)

注意:1)不管是a++还是++a,最终执行完了以后,a的值都会被+1.++a+b+a++),a值最后为5

     2++5错误 ++a+3错误

16.自增、自检运算符技巧:i++先看到的是变量,表达式的值就是变量的值

                         ++i 先看到的是++,先让i的值+1,再算表达式的值

17. sizeof运算符:是一个单目操作符,不是一个函数,以字节形式给出了其操作数的内存大小。

         用法:sizeof(常量/变量)

 Sizeof在常量中的应用:Sizeof‘a’):计算字符‘a’在内存中占用的字节数,占4个字节 

               Char 占用1个字符,-128~127

               Char类型的常量存储,以int类型(4个字节)的数据进行存储

             Char 类型的变量以把字符串的ascii码转换为二进制(1个字节)进行存储

Sizeof在变量中的应用:

 int a=10; floatf1=2.3f;doubule d1=2.3;char ch=’a’;

Sizeof(a)=4; sizeof(f1)=4;sizeof(d1)=8; sizeof(ch)=1;

注意点:sizeof用在常量和变量的时候,是可以省略括号的。Sizeof 2.3

Sizeof用于计算某一种数据类型在内存中占用的字节数:

                   Sizeofint);sizeofdouble

             注意点:sizeof用在计算数据类型占用字节数时,括号不能省略。

18.逗号表达式:功能是把两个表达式连接起来组成一个表达式

一般形式为:表达式1,表达式2。。。表达式n

求值过程:分别计算1~n的值,最后取表达式n的值

           逗号运算符的使用注意:1)逗号运算符可以嵌套使用

                             a++,(a+3b+5z=a+b))

                     2简化了代码,不太注重表达式的值:a++b++;à a++,b++;

                     3)并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各标量之间的间隔符

  1. 关系运算符:a C语言中的真假性(非零为真,0位假)

                b 比较两个数或表达式之间的关系(>,<,!=,>=,<=,==

    关系表达式:用关系运算符连接的式子

    关系表达式的值:int a=3b=2

  1. b//返回值为1,只有两种(01

关系运算符的结合性:左结合(只有优先级相同的情况下,才谈结合性)、

关系运算符的优先级:>,<,>=,<=优先级高于==!=,

  1. 逻辑运算符:(|| && !)

       逻辑表示式的一般形式为:(表达式 逻辑运算符表达式)返回值为10      &&(逻辑与)表示多个条件同时成立。全真返回1,一个假返回0

 || (逻辑或)当有多个条件,只有一个成立就可以.一个为真及返回1,两个都假返回0

  (逻辑非) 取反

        结合性:&&||是左结合,!是右结合

  1. 逻辑运算符的短路问题:

    && A&&B如果A为假(0),B就不执行了,结果为假,这就是逻辑与短路

    ||  A||B  如果A为真(1),B就不执行了,结果为真,这就是逻辑或的短路问题

  2. 三目运算符(条件运算符):

    一般形式为:表达式1?表达式2:表达式3

    求值规则:表达式1为真,把表达式2的值作为结果返回

               表达式1为假,把表达式3的值作为结果返回

    注意事项:1.条件运算符的运算优先级低于关系运算符和算数运算符,但高于赋值符

              2.条件运算符?和:是一对运算符,不能分开单独使用

              3.条件运算符的结合方向是自右至左

0 0
原创粉丝点击