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

初识C语言 3 入门篇——操作符

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

初识C语言 3 入门篇——操作符

文章目录
  • 前言
    • 一、算数操作符
    • 二、移位操作符
    • 三、位操作符
    • 四、赋值操作符
    • 五、单目操作符(只有一个操作数)
    • 六、关系操作符
    • 七、逻辑运算符
    • 八、条件运算符(三目操作符)
    • 九、逗号表达式
    • 十、下标引用和函数调用和结构成员
  • 总结


前言

C语言是非常灵活的,因为c语言有着丰富的操作符,使用起来就比较灵活,我们现在就来认识一下这些操作符,学习起来家人们!!!


一、算数操作符
  +	   -	   *	  /	     %
 加	   减	   乘	  除	取模(求余)	

加减乘跟数学一样,但 / 和 % 要重点注意一下

#include
int main()
{
	int a = 7 / 2;//除法表达式
	int b = 7 % 2;//取模表达式
	printf("%dn", a);//打印结果是3
	printf("%dn", b);//打印结果是1

	return 0;
}

7 % 3 是求余,7 % 3的余数是1,所以打印1,这边要注意取模表达式两边必须是整数
7 / 2 在数学中运算应该等于3.5,为什么打印3呢,因为表达式两边都是整型类型打印出只能是整型,如果要打印小数结果必须表达式两边至少一边变浮点数(小数)并且数据类型和输出格式也得变成浮点类型;正确写法如下

#include
int main()
{
	//2这边改成2.0,当然你也可以把7改成7.0,一样的
	//int类型也要改成浮点类型
	float a = 7 / 2.0;
	int b = 7 % 2;
	
	//%d整型的格式改成浮点类型格式%f
	//注意这边我们要的值是3.5;是一位小数所以得改成%.1f
	//两位小数就改成%.2f,不该的话程序会输出double类型打印3.500000
	printf("%.1fn", a);//打印3.5
	printf("%dn", b);//打印1

	return 0;
}
二、移位操作符

涉及到二进制运算,学到在讲,不好意思啦

   >>            <<
右移操作符	 左移操作符
三、位操作符

也涉及二进制运算,还没学到,不好意思啦

   &		^   	  |
 按位与   按位异或	按位或
四、赋值操作符
   =	+=	 -=	   *=	 /=
   &=   ^=	 |=    >>=   <<=

赋值的 = 要特别注意一下,代码解释

#include
int main()
{
	int a = 0;//初始化
	a = 20;//赋值,一个 = 叫赋值
	a == 3;//两个 = 才叫等于
	return 0;
}

那 += 和其他符号加=,是什么意思呢,演示一个 +=,和 -=,我们就明白了,代码演示:

int main()
{
	int a = 0;//初始化
	a = 20;//20赋值给a

	a = a + 3;//打印 23
	a += 3;//也可以写成这样与上面那种写法是一样的打印结果也是23
	       //你可以理解为a + 3
	
	a = a - 3; //打印17
	a -= 3;//和上面写法结果一样
	return 0;
}

其他符号加= 意思跟上面两个差不多get到了吗家人们

五、单目操作符(只有一个操作数)
     !        -        +       &  
 逻辑反操作    负值     正值	  取地址
 
   sizeof 
 操作符的类型长度(以字节为单位)

     ~    
 对一个数的二进制按位取反(还没学到,学到说,不好意思啦)

	 --    
 前置、后置--
 	
 	 ++
 前置、后置++

	 *
 间接访问操作符(解引用操作符)

  (类型)
 强制类型转换	  

讲第一个 !逻辑反操作前我们得先补充一个知识点
C语言中 0 表示假,非 0 表示真

1.逻辑反操作符 !,代码演示:


如果 if 的把 ! 去掉就打印不出来了,因为为假程序不进入打印;
判断条件 !a 不改的话,改变a的值也是不等于0也是一样的打印不出来,因为a如果为真,
判断条件加 ! 意思就变了,真的变成假的,就不打印了

2.负值 - 和正值 +

跟数学一样如果一个正数加上负号则变负值,而一个负数加上一个负号就变正数,
而正负数加上正号不会发生改变,代码演示如下:

#include
int main()
{
	int a = -1;
	int b = -a;//a=-1,但加了负号就发生了改变
	printf("%dn",b);
	return 0;
}

3. 取地址符 &
涉及到指针后面说

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

sizeof 一个测量长度的关键字同时他还是单目操作符,sizeof 写法如图:


a为4个字节,是因为a变量的类型是int,而int类型是4个字节,所以打印4

整型数组用sizeof测量大小求法:


这里要特别注意求数组元素个数的求法

5. - - 和 ++

 i++; //后置++,先使用,后++
 ++i; //前置++,先++,后使用
 i--; //后置--,先使用,后--
 --i; //前置--,先--,后使用

i++(后置++) 代码演示:

#include
int main()
{
	int a = 10;
	int b = a++;//后置++,先使用,后++

	//先把a=10的值赋给b,b就为10,然后再进行a+1的值11赋返回给a,a就为11
	//也就是先 int b = a;然后再 a=a+1
	printf("%dn",b);//打印10
	printf("%dn",a); //打印11
	return 0;
}

++i(前置++) 代码演示:

int main()
{
	int a = 10;
	int b = ++a;//前置++,先++,再使用

	//先把a = 10加1,在把 a = 10的值加1的值赋给b
	//也就是先 a = 10+ 1,然后再 b = a
	printf("%dn", b);//打印11
	printf("%dn", a); //打印11
	return 0;
}

上面的代码说明后置 i++ 和前置 ++i 的意思,后面两个后置 i- -和前置 - -i,也是一样的这边就不过多演示了

6.(类型)强制类型转换

可以把类型强制转换成另一种,代码演示:

#include
int main()
{
	//3.14本质是浮点类型,在他前面加个(int类型)就可以强制转换成int类型
	//注意是要在转换值前面加(类型),括号里面填你想要转换的类型
	int a = (int)3.14;
	printf("%dn", a);
	//3.14 字面浮点数,编译器会默认理解为double类型
}
六、关系操作符
  >   大于
  >=  大于等于
  <   小于
  <=  小于等于
  !=  用于测试“不相等”(不等于)
  ==  用于测试“相等”(等于)

关系操作符跟数学一样,但我们要特别注意一下 ==,和赋值 = ,代码演示:

#include
int main()
{
	int a = 0;//a初始化为 0
	a = 10;  //10赋值给 a

	//判断a等于3,而a是为10的,不等于3,判断条件为假,不执行下面打印 hehe
	//假如我们把a == 3,换成 a = 3,变成赋值就可以执行打印 hehe
	//因为 3 赋值给 a,判断 a为 3,为真,执行打印 hehe
	if (a == 3)
	{
		printf("hehen");
	}
	return 0;
}
七、逻辑运算符
  &&       ||
 逻辑与   逻辑或

1 .逻辑与 &&

逻辑与就是 && 两边必须都为真才真,一个为假则假,代码写法演示:

代码中a,b,一假一真,判断为假,不执行下面语句,不打印

2.逻辑或 ||

逻辑或就是 || 两边的表达式,只要一个为真就执行下面语句,两边都为假才为假,代码演示:

>代码中,b为真,a为假,b真所以执行下面语句

八、条件运算符(三目操作符)
   exp1 ? exp2 : exp3  
  表达式1 ?表达式2 :表达式3

上图:

图中的代码 a>b 为假,假的话执行第三个表达式 b 的值也就是 20,所以整个表达式结果为 20;
如果改一下 a=30;b=10;的话 a>b 就为真,真的话执行第二个表达式 a 的值 30;所以整个结果为30
证明条件操作数可以求两个数的较大值

九、逗号表达式
   exp1, exp2, exp3, ...expn
 表达式1,表达式2,表达式3,...表达式n  

逗号表达式就是逗号隔开的一串表达式
特点是:从左向右依次计算,整个表达式的结果是最后一个表达式的结果:

代码运行可以看到他打印逗号隔开的最后一个表达式结果,所以我们这边需要重点注意最后一个表达式结果,但 c=a+b为10,是前面 b = 7,a初始化为3算出来的;
注意:用逗号表达式时要加括号

十、下标引用和函数调用和结构成员
   []    ()    .    ->

1. [ ]下标引用操作符


图中的 arr 和 10 就是 [ ] 的操作数
注意:定义数组和访问数组要区别开
数组下标从0开始算

2.()函数调用操作符


删除括号就不是函数了,比如上面的sizeof a;就说明sizeof不是函数

3、 . 和 -> 学到说sorry啦

总结

不知不自觉操作符这篇又码了4000多个字,其中我想解释的通俗易懂点,所以解释会很长,用手机看的家人辛苦了,愿我们一起拼搏,你一定能成为你想要成为的人!!!

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

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

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