龙空技术网

了解C语言中的操作符

C语言初探者 723

前言:

现在小伙伴们对“c语言怎么表示正负”都比较讲究,你们都想要分析一些“c语言怎么表示正负”的相关内容。那么小编也在网络上汇集了一些有关“c语言怎么表示正负””的相关内容,希望咱们能喜欢,大家一起来了解一下吧!

一:操作符

算数:+-*/%——五个

解析:%取模——取余数

例1:

比如想求9%2

那么应该怎么操作呢?

取模:求余数——%

取模

求商:——/

移位操作符——<<左移——>>右移——移动的是二进制位(比如说1的二进制位01)

分析:整型1占4个字节——32bit位;00000000000000000000000000000001

位操作(2进制)

&——位与——一假必假

分析:3的二进制是0011,5的二进制是0101。所以在使用位与的时候,根据0为假,1为真,当两个都为真的时候,结果才为真。所以得出的结果就是0001。

|——位或——一真即真

^——异或——对应的二进制位相同的话,那么结果是0;要是不同的话,那就是1;

比如说:

3——0011

5——0101

显示为0110

赋值操作

=——一个等号是赋值,==——两个等号是判断相等

原本给a赋值,a是等于4

那么要是想要更改a的值,要怎么操作呢?其实很简单,就是直接在下面更改a的值就行了。

a=a+5 ——a +=5这两种表达式是等价的

a=a+5:解析:表示a加完5之后,赋值给a;

a +=5:解析:表示a自身加上5;

a=a+5 和 a += 5 两种表达式是等价的。它们都表示将变量 a 的值增加 5。在编程语言中,这两种表达方式是等价的。

a = a + 5 是一种直接赋值的方式,先将a + 5,再赋值给 a。

a += 5 简写,它表示 a = a + 5。

所以,如果你想增加变量 a 的值,你可以使用任何一种方式,它们都会得到相同的结果。

减法也是类似的:

a=a-5 和 a -= 5 两种表达式是等价的。它们都表示将变量 a 的值减去 5。在编程语言中,这两种表达方式是等价的。

a = a - 5 是一种直接赋值的方式,先 a -5,结果赋值给 a。

a -= 5 简写,它表示 a = a - 5。

所以,如果你想减少变量 a 的值,你可以使用任何一种方式,它们都会得到相同的结果。

&也是类似的:

a=a&5 和 a &= 5 两种表达式是等价的。它们都表示对变量 a 进行按位与运算,然后将结果赋值给 a。在编程语言中,这两种表达方式是等价的。

a = a & 5 是一种直接赋值的方式,先将 a 的值与 5 进行按位与运算,再赋值给 a。

a &= 5简写,它表示 a = a & 5。

所以,如果你想对变量 a 进行按位与运算,你可以使用任何一种方式,它们都会得到相同的结果。

如果将两种格式同时写进去,会是怎样的结果呢?

5+5+4=14

复合赋值符是一种简化变量赋值操作的特殊符号。在C、C++和其他一些编程语言中,复合赋值符被表示为“+=”、“-=”、“*=”、“/=”和“%=”。

这些复合赋值符允许我们在一行代码中同时进行计算和赋值。例如,如果我们想要将变量“a”的值增加5,我们可以使用“+=”复合赋值符,如下所示:

a += 5;

这行代码的含义是:“将5加到变量a上,然后将结果赋值给a”。

同样地,其他复合赋值符的含义如下:

-=:将一个数从变量中减去,然后将结果赋值给该变量。*=:将一个数乘以变量,然后将结果赋值给该变量。/=:将一个数除以变量,然后将结果赋值给该变量。%=:将一个数取模除以变量,然后将结果赋值给该变量。

这些复合赋值符可以使代码更简洁、可读性更高,同时也有助于减少代码错误。

单目操作符与双目操作符与三目操作符

单目操作符

单目操作符指的是一种只需一个操作数就能完成运算的运算符。常见的单目操作符包括:

正负号运算符(+、-)

逻辑非运算符(!)——0为假;非0为真;

按位取反运算符(~)

取模运算符(%)

正负号运算符(+、-):用于改变一个数的符号。

x = -y; // y的相反数赋值给x

x = +y; // y的值赋值给x

逻辑非运算符(!):用于对一个布尔值进行逻辑非运算。

x = !y; // 如果y为假(false),则x为真(true),否则相反

按位取反运算符(~):用于对一个整数进行按位取反运算,即将每个二进制位上的0变为1,1变为0。

x = ~y; // 对y的二进制表示取反,然后将结果赋值给x

取模运算符(%):用于计算两个数相除的余数。

x = y % z; // y除以z的余数赋值给x

双目操作符

双目操作符是指需要两个操作数的运算符,例如加法运算符(+)、减法运算符(-)、乘法运算符(*)、除法运算符(/)等。这些运算符在两个操作数之间执行相应的数学运算,并返回一个结果。

三目操作符

三目操作符(也称为条件运算符)是一种需要三个操作数的运算符,通常以“? :”的形式表示。它根据第一个操作数的值来决定返回第二个操作数还是第三个操作数的值。例如:

x = (y > z) ? y : z;

上述代码中,如果y大于z,则将y的值赋值给x;否则,将z的值赋值给x。

需要注意的是,对于不同类型的操作数,双目操作符和三目操作符的行为可能会有所不同。

例如,对于布尔类型的操作数,逻辑与运算符(&&)和逻辑或运算符(||)的行为会不同于其他双目操作符。因此,在使用这些运算符时,需要仔细考虑它们的操作数类型和行为。

sizeof——计算的变量/类型所占空间的大小,单位是字节;——操作数的类型长度(以字节为单位)

在C语言中,sizeof是一个运算符,它用于获取特定类型或变量在内存中的大小。sizeof运算符返回的大小是以字节(byte)为单位的。

sizeof运算符的使用方式有两种:

对变量使用:sizeof(variable)。这将返回变量在内存中所占用的字节数。

对类型使用:sizeof(type)。这将返回该类型在内存中的大小。例如,sizeof(int)将返回整数类型在内存中的字节数。

需要注意的是,sizeof运算符的结果依赖于系统的具体实现和编译器。因此,它在不同的系统和编译器上可能会有不同的结果。

#include <stdio.h>

int main() {

int a = 10;

printf("Size of a: %zu bytes\n", sizeof(a));

double b = 20.0;

printf("Size of b: %zu bytes\n", sizeof(b));

char c = 'c';

printf("Size of c: %zu bytes\n", sizeof(c));

return 0;

}

这段代码将打印出变量a、b和c在内存中的大小。这些大小可能因系统而异,但无论如何,它们都应该大于等于1字节。这是因为最小的数据类型(例如char)在内存中至少占用1字节。

这段代码是用C语言写的,它展示了如何使用sizeof运算符来获取不同数据类型的大小。sizeof运算符返回其操作数的大小,以字节为单位。

分析:

#include <stdio.h>:这一行包含了C标准库的头文件stdio.h,以便使用printf函数。

int main():这是主函数的开始,C程序的执行从这里开始。

{:标记函数体的开始。

int a = 10;:声明一个整数变量a并初始化为10。

printf("%d\n", sizeof(a));:打印变量a的大小。sizeof(a)返回int类型的大小,通常为4字节。

double b = 20.0;:声明一个双精度浮点数变量b并初始化为20.0。

printf("%d\n", sizeof(b));:打印变量b的大小。sizeof(b)返回double类型的大小,通常为8字节。

char c = 'c';:声明一个字符变量c并初始化为字符'c'。

printf("%c\n", sizeof(c));:这一行有些问题。sizeof(c)将返回1,因为char类型通常在内存中占用1字节。但是,printf("%c\n", ...)是用来打印字符的,而不是整数。这里应该使用printf("%d\n", ...)来打印整数大小。

return 0;:表示程序执行成功,并返回0。

}:标记函数体的结束。

总的来说,这段代码展示了如何使用sizeof运算符来获取不同数据类型的大小,但是最后一行的打印语句有误,应该改为整数格式的打印。

printf("%d\n", sizeof(a));——printf("%d\n", sizeof(int));——两种格式是一样的;

数组中使用sizeof

计算数组的元素个数:

使用sizeof运算符来计算数组的元素个数。公式:个数=总大小/每个元素的大小。

sizeof(arr)/sizeof(arr[0])

sizeof运算符返回的是数组的总字节大小除以单个元素的字节大小,从而得到数组中元素的个数。

#include <stdio.h>

int main() {

int arr[] = {1, 2, 3, 4, 5};

int length = sizeof(arr) / sizeof(arr[0]);

printf("数组的元素个数为:%d\n", length);

return 0;

}

在上面的代码中,我们定义了一个整型数组arr,并初始化了5个元素。然后,我们使用sizeof(arr) / sizeof(arr[0])来计算数组的元素个数。

sizeof(arr)返回整个数组占用的字节大小,sizeof(arr[0])返回一个元素占用的字节大小。两者相除就是数组中元素的个数。最后,我们使用printf函数将结果输出到控制台。

标签: #c语言怎么表示正负 #c语言里面正负号的规律改变 #c中同或操作符 #c语言bytes #c程序的执行总是从程序第一句开始