黑马程序员 -- IOS C语言 基础运算02

来源:互联网 发布:js弹出警告窗口 编辑:程序博客网 时间:2024/06/05 09:03

-------------------------------------- android培训java培训ios培训期待与您交流! --------------------------------



赋值运算

1简单赋值

int a = 10 + 5 ;

a = b = 10;

等号左边不能是常量

比如:10 = 11


2.复合赋值

附加 加减乘除余:  a+     等同于4 + 5;


int main()

{

int a = 10;

a = a + 5;

a += 5;          相当于 a=a+5

a *= 5;        相当于 a=a*5

printf("%d",a);

return 0;

}

结果为100.



运算符是有先后顺序和优先级的:

a = 5 + 6 * 5 + 8    要先算乘法 后相加,结果为41



自增自减运算符

习题:int a = 10   想给a的值加上1在赋值回去

//int a = 10  想给a的值加上1在赋值回去


#include<stdio.h>


int main()

{

    int a = 10;

    a = a +1;

    printf("%d\n",a);

    


    return 0;

}   //结果为11




自增运算符++,如 a++  ,  ++a  都等于是 a= a+1;

自减运算符--, 如  a--, --a 都等于是 a= a-1;

5++   ,6++ 是错误的



a++ 和++a 的区别

1.a++

int = a = 10;

b = a++;    a++   a在前面的花等于把a之前的值先赋予b,然后再用10+1得 a的值

b = 10;

a = 11;


2.++a

 int a = 10

 b = ++a;   ++a,a的值在后面等于把a 的值先运算,在赋值给b  就等于是 ++a=1+a=1+10=11 在把11给b

 a = 11;

 b = 11;


3.a++  和++a的运算

int b;

int a = 10;

b = (a++)+(++a);


解释:

b = (a++)+(++a);  a的值 是 10但 a++先把10赋予了b ,b此时是10 而a++在运算后a + 1 = 10 + 1为11

但此时,++a = 1+11 =12. a的值为12,那么,b= 10+12= 22

所以b = 22;a= 12;


4.++a和a++的运算

int b

int a = 10

b= (++a)+ (a++)


解释:

++a=1+10=11  此时b = 11+ (a + 1),而a++里a 的值为11在运算,a的值为12而,b=11+11

所以结果为22



sizeof

作用:用来计算一个变量或者一个常量,一种数据类型所占的内存字节数。

基本形式:

sizeof(常量),sizeof常量

int size = sizeof(10)

int size = sizeof10


sizeof(变量),sizeof变量

int size = sizeof(10)

int size = sizeof10



sizeof(数据类型)

int size = sizeof(char,double,float,int)



关系运算符

1:条件判断

默认情况下,在程序中写的每一项正确代码都会被执行,

但一般我们都想在某个条件成立的情况下才执行某一代码。


如何判断一个条件是否成立

2,真假

在c中,条件成立为·真·,条件不成立为·假·

因此,判断条件是否成立就是判断·真·与·假·

那么怎么判断真假?

c语言规定,任何数值都有真假性

任何非0的值都是·真·,只有0才是·假·

比如10.8 ,-10.8,4.5都是真    0 则是假


3关系比较

关系运算符的结果只有两种,

1),如果条件成立,结果为1,为真

2),如果条件不成立,结果为0,为假。


int main()

{

int a = 10,b = 11;

int result = b >a; 

return 0;

}

结果是1.



4,优先级

关系运算中:

==   ,!= 优先级想等

<  , <= ,  >=  , >优先级相等

但高于红色


关系运算符小于算术运算符

2==3>1  先计算3>1



计算方向为,:4>3>2从左往右



习题:

一。3>4+7

先计算3>4 结果是0,0+7 结果为7


二。5!=(4+(2*7))>3 ==10

先计算2*7:            5!=(4+14)>3 ==10

在计算4+145!=18>3 ==10

在计算18>35!= 1 ==10

在计算5!=1        1==10

结果为                      0



逻辑运算

逻辑运算结果只有2个    0与1;

逻辑运算分为3种:          逻辑与                   逻辑或逻辑非

逻辑运算符 :       &&                           ||    !

逻辑运算符性质:符号两边都成立       随便一边都成立      将结果相反



一 ,逻辑与  &&

1格式:条件a && 条件b

2运算结果:

只有当条件a 和 条件b都成立时  结果是1,真

       当条件a 和 条件b有一方不成立时,或者都不成立时结果是0,假

3运算过程

a)先判断条件a是否成立

如果成立 判断b是否成立,如果成立,1 真

b)先判断a是否成立,不成立就为0 假,如果a成立,那么看条件b  如果不成立 就为0,假。



比如:

int a = 10>3&&7<6     &&左边是 1  右边是0  所以右边不成立,那么  结果为0


习题:

abc各是多少

int  a = 10, b = 10;

int c = (a>5)&&(++b>b);

先计算(a>5),a是 10,那么,此时 a=10   ;10>5成立,结果为1.

在计算(++b>b),b是11,c是1

结果 a是10     b是11   c是1


int  a = 10, b = 10;

int c = (a<5)&&(++b>b);

先计算(a<5),a是 10,那么,此时 a=10   ;10<5不成立,结果为0.

&&左边已经不成立,所以没必要在计算右边,所以  b还是10 所以 c为0

结果 a是10     b是10   c是0,


二,逻辑或  ||

1格式:条件a || 条件b

2运算结果:

        当条件a 或条件b或者a和b 随便哪一项都能成立时  结果是1,真

       当条件a 和 条件b 两方都不成立时,结果是0,假

3运算过程

a)如果条件a成立,就不在判断b是否成立,因为已经成立了条件a 无论b结果如何,结果都是1,真

    如果条件a不成立,在判断b是否成立,如果b成立,结果也是1,真

b)如果条件a不成立,b也不成立,结果为0 假


习题:abc分别是多少

int a = 10,b=10;

int c = (a>5)||(b++10) ;    左边已经成立,右边不用在计算

a=10 ,b=10 c=1


int c =(a<5)||(b++ - 10 );    2步分析,一 : b++原来的值是10   ,10+1=11,b+11,  

                                                           二: b++=10-10=0  结果为0 假  所以 0是c

  b++ - 10 是拿之前的数来-10 10 - 10 = 0

a = 10, b = 11, c = 0 



 

逻辑非

格式:!条件A

运算结果:就是为条件A进行取反:a成立就是0,  不成立 就是1

真的就是假的,假的就是真得。

比如:


int a = !(10>8);0

int a = !10;0

int a = !0; 1

int a = !10>8;0

int a =!!1010;1




单目运算符!5

二目运算符10>5



三目运算符

格式:      条件     ?        数值1   :        数值2

inta=       10>5      ?           9        :              89     结果是9

先判断,?钱的条件是否成立

成立返回9 不成立返回89




习题:

计算三个数谁的值最大并赋给d

int a = 10    b = 20    c = 30   d


int admax=(a>b)?    a:b

int d = (admax>c)   ?  abmax:c


新建一个函数abmax

先比较出a和b的大小。

在比较出abmax和c的大小就得出了d的大小

int admax=(a>b)?    a:b      此项不成立,取b 20 为大

int d = (admax>c)   ?  abmax:c    20>30 不成立取 c  结果为d = 30

















0 0
原创粉丝点击