您现在的位置是:主页 > news > 电信备案网站/工业和信息化部

电信备案网站/工业和信息化部

admin2025/4/25 8:29:39news

简介电信备案网站,工业和信息化部,大连无网站的企业有哪些,新手怎样学校做网站一、赋值运算符 运算符描述实例将右边操作数的值赋给左边操作数AB,即将B的值赋给A加法赋值运算符,将右边操作数加上左边操作数的结果赋值给左边操作数B A 等价于 B B A-减法赋值运算符,将左边操作数减去右边操作数的结果赋值给左边操作数B - A 等价于…

电信备案网站,工业和信息化部,大连无网站的企业有哪些,新手怎样学校做网站一、赋值运算符 运算符描述实例将右边操作数的值赋给左边操作数AB,即将B的值赋给A加法赋值运算符,将右边操作数加上左边操作数的结果赋值给左边操作数B A 等价于 B B A-减法赋值运算符,将左边操作数减去右边操作数的结果赋值给左边操作数B - A 等价于…

一、赋值运算符

运算符描述实例
=将右边操作数的值赋给左边操作数A=B,即将B的值赋给A
+=加法赋值运算符,将右边操作数加上左边操作数的结果赋值给左边操作数B += A 等价于 B = B + A
-=减法赋值运算符,将左边操作数减去右边操作数的结果赋值给左边操作数B -= A 等价于 B = B - A
*=乘法赋值运算符,将右边操作数乘以左边操作数的结果赋值给左边操作数B *= A 等价于 B = B * A
/=除法赋值运算符,将左边操作数除以右边操作数的结果赋值给左边操作数B /= A  等价于 CB= B / A
%=求余数赋值运算符,求两个操作数的模赋值给左边操作数,浮点数不适用取余数B %= A   等价于 B = B % A

注意:赋值运算符支持的是C语言的基本数据类型,包括char、int和double,字符串(字符数组)不能使用赋值运算符。

#include<stdio.h>
int main()
{int A=35;           //定义变量A 并初始化int B=23;           //定义变量B 并初始化//简单赋值运算符B=A;printf("简单运算符=,B的值=%d\n",B);//加法赋值运算符B+=A;printf("加法运算符+=,B的值=%d\n",B);//减法赋值运算符B-=A;printf("减法运算符-=,B的值=%d\n",B);//乘法赋值运算符B*=A;printf("乘法运算符*=,B的值=%d\n",B);//除法赋值运算符B/=A;printf("除法运算符/=,B的值=%d\n",B);//求余数赋值运算符B=600;B%=A;printf("求余数运算符%=,B的值=%d\n",B);return 0;}

结果演示:

 

二、算术运算符

算术运算符跟赋值运算符极其的相似:

运算符描述表达式
+两个数相加A+B 
-两个数相减A-B 
*两个数相乘A*B 
/分子除以分母A/B 
%余数运算符,整除后的余数B%A 
++自增运算符,整数值增加 1A++ 或者++A
自减运算符,整数值减少 1A--   或者  --A

注意:变量的自增或自减有两种表达方法

A++  —— 表示在本次使用变量后再自增;

++A  ——表示在本次使用变量前自增;

A--   —— 表示在本次使用变量后再自减;

--A   —— 表示在本次使用变量前自减;

三、关系运算符

关系含义表达式
小于<
小于等于<=
大于>
大于等于>=
等于==
不等于!=

四、逻辑运算符

逻辑运算符表述结合性
&&与运算,双目左结合
||或运算,双目左结合
非运算,单目右结合

 五、条件运算符

三元运算符,是由一个问号和一个冒号组成。

语法:

  表达式1?表达式2:表达式3;

语义:

先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果;如果表达式1的结果如果为假,执行表达式3,运算式的结果是表达式3的结果。

  int a,b,c;a=7;b=6;c=(a>b)?a:b;

等价于:

  if (a>b) c=a;else c=b;

六、sizeof运算符

sizeof是C语言的关键字,sizeof不是函数,它用来计算变量(或数据类型)在当前系统中占用内存的字节数。sizeof有两种写法:

用于数据类型

  sizeof(数据类型);

数据类型必须用括号括住。

用于变量

  sizeof(变量名);sizeof 变量名;

变量名可以不用括号括住,带括号的用法更普遍,大多数程序员采用这种形式。

6.1 sizeof用于结构体

sizeof可以用于结构体,得到结构体占用内容在总大小。

用法:sizeof(结构体名)或sizeof(结构体变量名)

6.2 sizeof不能用于void

void是无值型或空类型,不知道存储空间大小的类型,编译器也不能确定它的大小。void不能声明变量,以下代码编译无法通过:

  void A;

但是以下代码是正确的:

  void *p;printf("sizeof(void*)=%d\n",sizeof(p));   // 输出sizeof(void)=8

p是一个void指针,在64位操作系统中,指针变量占用的内存的大小都是8.

6.3 在子函数中不能对字符指针用void

如果把一个字符串(如char strname[21])的地址传给子函数,子函数用一个字符指针(如char *pstr)来存放传入的字符串的地址,如果在子函数中用sizeof(pstr),得到的不是字符串占用内存的字节数,而是字符指针变量占用内存的字节数(8字节)。

所以,不能在子函数中对传入的字符串进行初始化,除非字符串的长度也作为参数传入到了子函数中。

6.4 不能在子函数中对结构体指针用sizeof

如果把一个结构体(如struct st_girl stgirl)的地址传给子函数,子函数用一个结构体指针(如struct st_girl *pgril)来存放传入的结构体的地址,如果在子函数中用sizeof(pgirl),得到的不是结构体占用内存的字节数,而是结构体指针变量占用内存的字节数(8字节)。

七、运算符是优先级

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

~

按位取反运算符

~表达式

++

自增运算符

++变量名/变量名++

--

自减运算符

--变量名/变量名--

*

取值运算符

*指针变量

&

取地址运算符

&变量名

!

逻辑非运算符

!表达式

(类型)

强制类型转换

(数据类型)表达式

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

%

余数(取模)

整型表达式%整型表达式

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

5

<< 

左移

变量<<表达式

左到右

双目运算符

>> 

右移

变量>>表达式

6

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

小于

表达式<表达式

<=

小于等于

表达式<=表达式

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1?

表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

逗号运算符

表达式,表达式,…

左到右

--

注意:

    同一优先级的运算符,运算次序由结合方向所决定。
    简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符