• 问题总会出现,不过解决问题的方法也会出现!!!

C语言基础学习笔记07

学习笔记 小雨 505次浏览 已收录 0个评论

—— ——-

11-sizeof运算符

sizeof运算符介绍

sizeof是C语言的一种单目操作符,如C语言的其他操作符++、- -等。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。

Pascal的一种内存容量度量函数:

C语言中判断数据类型或者表达式长度符;不是一个函数,字节数的计算在程序编译时进行,而不是在程序执行的过程中才计算出来!

  1. sizeof的使用方法
  2. 用于数据类型

sizeof使用形式:sizeof(type)

数据类型必须用括号括住。如:sizeof(int)

C语言基础学习笔记07

ascii码表:

C语言基础学习笔记07

12-逗号运算符

  1. 基本概念

C语言中逗号“,”也是一种运算符,称为逗号运算符。

其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。

a=(a+b,c+2);

其一般形式为:

表达式1,表达式2

  1. 求值过程

其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。

C语言基础学习笔记07

如果逗号表达式如下:

表达式1,表达式2,···表达式n

整个逗号表达式的值等于表达式n的值。

C语言基础学习笔记07

13-逗号运算符应用及使用注意

  1. 逗号运算符应用:

int result=(a+1,a++,a+2,a-3);

printf(“result = %dn”,result);

  1. 逗号运算符使用注意:
  2. 逗号表达式一般形式中的表达式1和表达式2也可以又是逗号表达式。

形成了嵌套情形。因此可以把逗号表达式扩展为一下形式:

例如:表达式1,(表达式2,表达式3)

  1. 程序中使用逗号表达式,通常是要分别要求逗号表达式内各表达式的值,并不一定要求整个逗号表达式的值。
  2. 并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。

14-关系运算符

  1. C语言中的真假性

C语言中所有数值都是有真假性,非零即真,只有0为假

关系运算符返回值只有两个要么是真(1)要么是假(0)

关系运算符(比较运算符)

  1. 关系运算符

在程序中经常需要比较两个量的大小关系,以决定下一步的工作。

比较两个量的运算符称为关系运算符。

C语言基础学习笔记07

15-关系运算符的优先级和结合性

  1. 关系运算符的结合性

关系运算符都是双目运算符,其结合性均为左结合。

C语言基础学习笔记07

  1. 逻辑运算符和其它运算符优先级的关系可表示如下:

C语言基础学习笔记07

C语言基础学习笔记07

16-逻辑运算符

  1. 逻辑运算符的概念

C语言中提供了三种逻辑运算符:

&&(与运算)

||(或运算)

!(非运算)

  1. 逻辑表达式

逻辑表达式的一般形式为:

表达式     逻辑表达式 表达式

其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:

(a&&b)&&c

a+b

a+(a+b)

根据逻辑运算符的左结合性,上式也可写为:

a&&b&&c

逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。

  1. 逻辑表达式的值也为“真”和“假”两种,用“1”和“0”来表示。其求值规则如下:
  2. 与运算(&&)

参与运算的两个量都为真时,结果才为真,否则为假。例如:

5>0 && 4>2

由于5>0为真,4>2也为真,相与的结果也为真。

口诀:一假则假

  1. 或运算(||)

参与运算的两个量只要一个为真,结果就为真。两个量都是假时,结果为假。例如:

5>0 || 5>8

由于5>0为真,相或结果也就为真。

口诀:一真为真

  1. 非运算(!)

参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:

!(5>0)的结果为假

口诀:真变假,假变真

注意:

  1. 虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但是反过来以“0”代表假,以非“0”的数值作为“真”。

例如:

由于5和3均非“0”,因此5&&3值为“真“,即为1。

又如:

5||0的值为“真“,即为1。

C语言基础学习笔记07

  1. 逻辑表达式真值表

C语言基础学习笔记07

17-逻辑运算符结合性和优先级

  1. 结合性

与运算符(&&)和与运算符(||)均为双目运算符,具有左结合性。

非运算符(!)为单目运算符,具有右结合性。

C语言基础学习笔记07

  1. 优先级

    C语言基础学习笔记07

 

18-逻辑运算符的短路问题

与短路:&&只要第一个表达式为假那么后面的条件表达式就不参与运算了

或短路:||只要第一个表达式的值为真那么后面的条件表达式就不参与运算了C语言基础学习笔记07

C语言基础学习笔记07

C语言基础学习笔记07

19-三目运算符及求值方法

  1. 三目运算符(条件运算符)概念

三目运算符(条件运算符)为?和:,它是一个三目运算符,即有三个操作数参与运算的量。

由条件运算符组成条件表达式的一般形式为:

表达式1?表达式2:表达式3
C语言基础学习笔记07

  1. 求值规则

如果表达式1的值为真,则表达式2的值作为表达式的值

否则以表达式3的值作为整个条件表达式的值。

条件表达式通常用于赋值语句中。

例如条件语句:

if(a>b) max=a;

else max=b;

可用条件表达式写为:max=(a>b)?a:b;

执行该语句的语义是:如a>b为真,则把a赋予max,否则把b赋予max。

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

因此max=(a>b)?a:b可以去掉括号谢伟max=a>b?a:b;

  1. 条件运算符?和:是一对运算符,不能分开单数使用。
  2. 条件运算符的结合方式是自右至左。

例如:a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d)

这也就是条件表达式嵌套的情形,即其中的表达式3又是一个条件表达式。

20-三目运算符应用

在键盘接收 3个整数 并求出最大值

C语言基础学习笔记07


本博客内容既有转载自网络的内容,也有本作者原创内容,仅供学习与交流之用
如有侵权或者错误之处,请及时在下方留言!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址