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


  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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值