栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【初识C语言】操作符

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【初识C语言】操作符

 

1、算术操作符

         +     -     *    /    %                                 

(1) 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。

(2)% 操作符的两个操作数必须为整数。返回的是整除之后的余数。

2、移位操作符(二进制的计算和存储)

       >>     <<                                                  

3、位操作符

       &     ^    |                                                  

& :按位与

^  :按位异或

|   :按位或

4、赋值操作符

       =   +=   -=   *=   /=   %=  &=  |=   >>=   <<=  

a=10;其中“=”就是赋值操作符

a+=5就相当于a=a+5

5、单目操作符(只有一个操作数的操作符)

       !   -     +    &   sizeof   ~   --   ++   *    (类型)                                     

  (1)!  :逻辑反操作

      //c语言中的真假

     0表示假,非0表示真。

     a=5   !a=0

     a=0    !a=1//语法规定,假变成真用1表示真

  (2)+   -:正负值

  (3)&:取地址

(4)sizeof:操作数的类型长度(以字节为单位)

sizeof是操作符,不是函数!

#include
int main()
{
     int a=10;

     printf("%d",sizeof(a));//sizeof(a)也可以写成sizeof a,变量括号可以省略,但不建议省略
     printf("%d",sizeof(int));//类型名括号不能省略

     return 0;
}

sizeof也可以计算数组的大小

int main()
{
     int arr[10]={0};
     printf("%dn",sizeof(arr));//40,计算的是数组的总大小,单位是字节
     printf("%dn",sizeof(arr[0]));//4,计算的是数组第一个元素的大小
     printf("%dn",sizeof(arr)/sizeof(arr[0]));//10,计算的是数组元素的个数

     return 0;
}
sizeof与strlen

a、sizeof是操作符,它只关注占据了多大内存空间,不关注内存中存放的数据,返回值的单位是字节。

b、strlen是库函数,是求字符串长度的,它关注字符串中是否有“”,统计之前出现的所有字符的个数。

int main()
{
    char arr1[]="bym";
    char arr2[]={'b','y','m'};
    printf("%dn",strlen(arr1));//3
    printf("%dn",strlen(arr2));//随机值
    printf("%dn",sizeof(arr1));//4,包括
    printf("%dn",sizeof(arr2));//3

    return 0;
}

(5)~:对一个数的二进制按位取反

(6)++   --:

前置++,先++,后使用

后置++,先使用,后++

int main()
{
     int a=10;
     int b=++a;//a=a+1,b=a>>a=11,b=11
     
     int c=10;
     int d=c++;//d=c,c=c+1>>c=11,d=10
      
     printf("%d %d %d %d",a,b,c,d);
     return 0;
}

(7)*:间接访问操作符

(8)(类型)强制转换类型

int main()
{
     int a=(int)3.14;
     printf("%dn",a);//结果是3!
     
     return 0;
}
7、关系操作符

         >    >=   <   <=   !=   ==                

=   :赋值

==:判断相等

8、逻辑操作符

&&:逻辑与

||:逻辑或

9、三目操作符

     exp1?exp2:exp3                          

10、逗号表达式

     exp1,exp2,exp3,……               

int main()
{
	int a = 5;
	int b = 8;
	int c = 4;
	int d = (a = b - 3, b = a + c, c = a - b, a = c + 2);
	//a=8-3=5;b=5+4=9;c=5-9=-4;a=-4+2=-2;
	printf("%dn", d);
	return 0;
}

逗号表达式会从左向右依次计算,但是整个表达式的结果是最后一个表达是的结果

11、下标引用、函数调用和结构成员

        [ ]     ( )     .     ->                              

(1)[ ]:下标引用操作符

操作数:一个数组名+一个索引值

int arr[10];//创建数组
arr[0]=5;//[]的两个操作数是arr和0

(2)( ):函数调用操作符

接受一个或多个操作数:第一个操作数是函数名,剩余操作数就是传递给函数的参数

(3).    :结构体.成员名

(4)->  :结构体指针->成员名

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1019656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号