c语言操作符怎么定义,C语言操作符有哪些
Yyds干货库存
1.执行除法时,如果两个操作数都是整数,那么结果也是整数。期望的结果是浮点,至少有一个操作数是浮点,最后的结果也被定义为浮点类型。
2.执行模运算时,两个操作数都必须是整数,而不是小数。
3.右移分为算术右移和逻辑右移:
算术向右移动,丢弃右侧,并将原始符号位添加到左侧。
逻辑右移,弃右,左加0。
左移运算符:左边丢弃,右边用0填充。
在我们的C语言编程环境中,一般使用算术右移。
整数的内存是以补码的形式存储的,正整数的源代码、反码、补码都是一样的。
4.你不能创建临时变量,交换两个数。
加减法(因为A和B都是整数,所以存储范围有限。当A和B的值太大时,可能会发生溢出)#define _CRT_SRCURE_NO_WARNINGS
#包含stdio.h
int main()
{
int a=3;
int b=5;
a=a b;
b=a-b;
a=a-b;
printf(a=%d\nb=%d\n ,a,b);
返回0;
}
#define _CRT_SRCURE_NO_WARNINGS的异或方法
#包含stdio.h
int main()
{
int a=3;
int b=5;
a=a^b;
b=a^b;
a=a^b;
printf(a=%d\nb=%d\n ,a,b);
返回0;
}
5.求存储在内存中的一个整数的二进制1的个数。
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
#包含stdlib.h
int main()
{
int a=0;
int I=0;
int count=0;
Printf(请输入一个数字:
scanf(%d ,
for(I=0;我我)
{
如果((a i 1)==1)
{
数数;
}
}
printf(%d\n ,count);
返回0;
}
6.sizeof运算符只负责计算空间的大小。即使在其中进行操作,也不会真正改变其大小。
7.逻辑AND的一个特点是,当逻辑AND从左向右进行时,一旦左边出现false,即结果为0,右边的运算就不再执行。
OR逻辑的特点是,一旦最左边为真,即1,那么右边的运算就不会执行。
#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
#包含stdlib.h
int main()
{
int i=0,a=0,b=2,c=3,d=4;
I=a b d;
printf(a=%d b=%d c=%d d=%d\n ,a,b,c,d);
返回0;
}
结果是1 2 3 4。
8.三只眼操作员
exp1?exp2:exp3;如果表达式1为真,则执行表达式2;如果为假,则执行表达式3。
9.逗号表达式
支出1、支出2、支出3、支出4、支出5……
逗号表达式是由逗号分隔的多个表达式。逗号表达式从左到右执行。整个表达式的结果就是最后一个表达式的结果。
10.拜访一个组织的成员
结构。成员名结构指针-成员名#define _CRT_SECURE_NO_WARNINGS
#包含stdio.h
#包含stdlib.h
结构学生
{
char name[10];
int age
char sex[5];
双倍积分;
};//定义一个结构
void set_age1(结构学生stu)
{
stu.name=18
}
void set _ age 2(struct Student * pStu)
{
pStu-age=18;
}
int main()
{
指导学生学习;//这里struct Student类似于int,是一种叫做结构类型的类型。
struct学生* pstu=stu//定义一个结构指针。因为stu是一个结构变量,所以存储其地址的指针类型称为结构指针。
stu.age=20//结构成员访问
set _ age 1(stu);
pstu-age=20;//结构成员访问
set _ age 2(pstu);
返回0;
}
1.隐式类型转换
根据变量的数据类型的符号位提升整形。也就是说,如果符号位是1,前面就补1;如果符号位为0,则前面用0填充。任何对操作数进行运算计算的人都会进行整数提升。整数提升的意义:
表达式的整数运算将在CPU的相应运算部件中执行。CPU中整数运算器(ALU)操作数的字节长度一般是int的字节长度,也是CPU通用寄存器的长度。
所以,即使两个char类型加在一起,实际上也应该在CPU执行的时候,先在CPU中转换成整数操作数的标准长度。
一般CPU很难直接实现两个8位字节的直接相加(虽然其指令中可能有这种字节相加指令)。因此,长度可能小于int的表达式中的各种整数值,在送到CPU执行之前,必须先转换成int或无符号int。
算术类型转换long double
两倍
漂浮物
无符号长整型
长整型
无符号整数
(同Internationalorganizations)国际组织
从下到上,依次增加类型级别。如果同时出现不同级别,则应转换为更高级别的类型。
12.运算符的属性
复杂表达式的评估有三个影响因素:
1.运营商的优先级
2.运算符的组合
3.是否控制评价顺序?
两个相邻运算符中的哪一个将首先被执行?取决于它们的优先级,如果它们具有相同的优先级,则取决于运算符的组合。
喜羊羊
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。