黑马程序员技术交流社区

标题: ios基础第3天续1 [打印本页]

作者: sunyongnan    时间: 2015-8-5 06:34
标题: ios基础第3天续1
本帖最后由 sunyongnan 于 2015-8-5 06:35 编辑

上接:http://bbs.itheima.com/thread-222108-1-1.html

五、赋值及自增自减

1、运算符是什么?

“=”赋值运算符、“+=”加等于运算符、“-=”减等于运算符、“++”自增运算符、“--”自减运算符

2、运算符由什么用?

改变数据的值。

3、运算符怎么用?

int a = 1; a += 2; a -= 2; a++; a--; ++a; --a;

4、运算符什么时候用?

当你想改变数据的值。

5、运算符由什么特点?

      1)变量才能自我变化,如自增或自减,但常量不能。

      2)++a与a++,对a本身没有区别,但是参与其它运算时,a++这个整体的值没有变化。如,int a = 1; int b = a++; 那么a = 2,b等于1,但如果是int b = ++a; 则a和b都为2,即++在前,则运算前自增,再参与别的运算,但++在后,则先参与别的运算后再自增 。

六、sizeof

1、sizeof是什么?

sizeof是C语言的一个关键字,是一种单目操作符,而不是函数。

2、sizeof有什么用?

sizeof操作符以字节形式给出了其操作数或数据类型的存储大小。

3、sizeof怎么用?

sizeof(类型说明符,数组名或表达式)  如,sizeof(int);

或sizeof变量名  如:int a; sizeof a;

4、sizeof什么时候用?

当需要查看数据类型或变量在当前编译环境占用字节数时。

5、sizeof有什么特点?

      1)sizeof是根据当前系统的编译环境去计算字节的大小。

      2)注意sizeof后面直接连字符的用法,会自动变成ASCII对应的int值。

6、补充

      1)有几部分内容参与运算,就叫几目运算符。

      2)只有一部分内容参与运算,就是单目操作符。

      3)“+”有两部分内容参与运算,叫双目操作符。

      4)sizeof后不能直接跟数据类型,需要加括号sizeof(int)。

      5)sizeof应用场景:当需要字节数参与运算时(编译器环境不同,占用的字节数也不同)  如:用int字节数,乘以10   printf(“%lu\n”,sizeof(int)*10);

      6)printf(“%lu)n”,sizeof(‘a’));  //4   ‘a’自动转换成ASCII码对应的数值97,97是整型,所以返回占用的字节数是4。

      7)任何的一个字符参与运算的时候读会转换成对应的ASCII码对应的int值。

      8)sizeof运算结果是一个无符号(long unsigned int)的长整型,表示正整数,用lu占位,但是可以跟int互相转换(有符号的长整型包括所有范围内的整数)。

七、关系运算

1、关系运算时什么?

“==”、“>”、”<”、”>=”、”<=”、”==”、”!=”

2、关系运算符有什么用?

对数据进行比较,看是否成立。

3、关系运算符怎么用?

把运算符号放在两个要比较的数据中间就可以。条件成立=真(1),条件不成立=假(0)。

4、关系运算符什么时候用?

当需要对两个数据进行比较。

5、关系运算符有什么特点?

      1)关系运算符运算结果是一个int值.0或1。

      2)优先级:>、<、>=、<=、优先级相等,但大于==和!=,同时==与!=优先级相等。

      3)如果优先级相同的两个运算,先后顺序看结合律(结合律值要么从左往右运算,那么从右往左运算),关系运算符结合律是从左往右,即:先看优先级,再看结合律,如下:int b = 1 != 2 > 3 < 4; 等效于:2 > 3为假=0,0 < 4为真=1,1 != 1为假=0,所以最终结果=0。

八、逻辑运算

1、逻辑运算是什么?

“ ||”或“ && ”与(且) “ ! ”非

2、逻辑运算有什么用?

对多个表达式进行并列真假判断.。

3、逻辑运算怎么用?

||只要有一边的表达式为真,则结果为真1,两边都不成立,则结果为假0。

而&&必须两边 全部为真才为真,只要有一边的表达式为假,结果为假。

如:1>2||2>1;结果为真(1),但如 果1>2&&2>1.结果为假(0);!则是取当前结果的反面.真假调换.

4、什么时候用?

当需要对对多个表达式进行并列真假判断。

5、有什么特点?

     1)所有数据都有真假值.0为假,其它的数都为真(规定).。结合律:从左往右执行。

     2)如果||表达式左边表达式已经为真,则右边不执行。而&&只要左边为假右边不执行。3.优先级顺序为:小括号() > 负号( -) > ! > 算术运算符 > 关系运算符 > && > || 如:1+2<3||!-3<4&&5>0 等效于(1+2)<3 || ( ( !(-3) )<4 && (5>0) ) 结果是:1。

6、示例

        int main() {

            int a = 2;

            int b = 1 > 2 || a++; //1>2不成立,返回0,但是a的值是2是真,返回1

            printf("a=%d,b=%d\n",a,b);  //a=3,b=1

            int a1 = 1 + 2 < 3 || !-3 < 4 && 5> 0;

            printf(“%d”,a1);  //1

            return 0;

        }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2