Ⅰ c语言中的/=是什么含义
这是C语言里常用的复合赋值运算,下面解释一下。
1.C
语言中的基本赋值运算
首先讲解一下C语言中的基本赋值运算,其运算符为“=”,这里不是等于,而是赋值。举例如下所示:
图中,定义了三个变量a,b,c,分别把1赋值给变量a,把2赋值给变量b,把求和表达式a+b赋值给变量c。
2.复合赋值运算符
复合赋值运算符常见的符号有:+=、-=、*=、/=、%=,有两方面的含义,首先做数学计算,而后再赋值。
从图上可以看出,运算符两边的变量先做左边的数学运算,然后将结果赋值给左边的变量。这样的写法简化了C语言的代码,结构上看起来比较清爽,提升代码效率。
举例如下:
执行完a += 1后,a = 2;
执行完b -= a+5后,b=b-(a+5)=-5;
执行完c *= a-4后,c=c*(a-4)=-6;
c语言里有很多需要理解的符号,它跟数学符号很有关系,但有些又是区分于数学符号,比如“=”在数学上是等于的意思,所以a=1,我们读作a等于1,可是如果在c语言里,“=”是赋值的意思,a=1是指把1赋值给a,而a==1才读作a等于1。
所以我首先要弄清楚基本的运算符号如+,-,/,*,%,&,!=等的意思,至于乘法运算,c语言里没有×这个符号,而是用了*,对于除法,没有÷这个符号,用了/,例如5*3就是15,6/3就是2
像a=a+1,就是把a+1赋值给了a,我们可以简便写法那就是a+=1.
同理a-=1其实就是a=a-1.
a/=5就是a=a/5,a*=6就是a=a*6。
例如a=20,a*=6,那么结果就是a=120
例如a=30,a/=6,那么结果就是a=5
希望能解决到你的问题
这是C语言里的简化写法(也叫复合运算符)
即可将
加+ 减- 乘* 除/ 求余数%
五种运算符的表达式
a=a#x
表示为
a#=x
其中#表示五种运算符,x表示变量或某个值
其实++,--也是哦
Ⅱ C语言的!=是什么意思
不等于的意思。!= :a != b
判断a和b是否不相等
不相等返回true(真),否则返回false(假)
=!意思“不等于”
1、“=”是赋值运算符
2、“!”逻辑非运算符,逻辑操作符一般将其操作数视版为条件表达式,返权回结果为Bool类型:首先对其操作数求值,若结果为0,则条件为假(false),否则为真(true)。
3、优先级上“!”先于“=”。
(2)bc语言扩展阅读:
==和!=为关系运算符PS:<=,<,>= ,>,== ,!=都为关系运算符
= 和 ==,经常看到有用if(条件判断)进行判断的时候误将=(赋值操作符)当做判断两边是否相等使用
==:a == b
判断a和b是否相等
相等返回true(真),否则返回false(假)
C语言运算
1、C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。
2、在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单;
3、但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全
Ⅲ “~”在c语言中是什么意思
如下图所示:
Ⅳ C语言-> ,--,++,>=,==,>>是什么意思
举例来说
p->a 相当于(*p).a
i-- 相当于i=i-1;(i--)的值为i,(--i)的值为i-1
i++ 相当于i=i+1;(i++)的值为i,(++i)的值为i+1
>= 相当于≥
a==b 若a b相等,则(a==b)的值为1,否则(a==b)的值为0 a b值不变。
*上面四个括号中的i--,a==b,a=b都是表达式(不含扩号),C语言规定所有表达式都是有值的,但不一定每个表达式都改变变量的值。
另有= 如果a=b将b的值赋给a,(a=b)的值为b。
>> 按二进制右移
例如:
char a=66; /*二进制 01000010*/
char b=a>>3;/*结果为 00001000 左面补3个0 右面去掉3位*/
/*至此b=8 相当于66除以8(二进制1000),余数不要*/
Ⅳ C语言<<=是什么意思
位运算符与赋值运算符可以组成复合赋值运算符;例如a << =2相当于a = a << 2
1、左移运算符(<<)
左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出则舍弃该高位。
例如:将a的二进制数左移2位,右边空出的位补0,左边溢出的位舍弃。
若a=15,即00001111(2),左移2,位得00111100(2)。
拓展资料
运算符含义描述
& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1
~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
<< 左移 用来将一个数的各二进制位全部左移N位,右补0
>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0
Ⅵ C语言中{}作用
取决于在scanf中使用还是在printf中使用。
在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。
例如:int a,b;char b[10];scanf("%d%*s",&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。
例如:
printf("%*s",10,s);/意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s);/
(6)bc语言扩展阅读:
C语言%*s用法
1、在scanf中使用,则添加了*的部分会被忽略(跳过),不会被参数获取。
例如:
int a,b;
char b[10];
scanf("%d%*s",&a,b);
输入为:
12 abc
那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b)
用*和扫描集配合,可以从输入中只选出需要的内容,而忽略其余的东西。
另外,也常用于清空缓冲区。
2、在printf中使用,*表示用后面的形参替代*的位置,实现动态格式输出。
例如:
printf("%*s", 10, s); /*意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s", s);*/
printf("%.*s
",int,str) ;
// %.*s 其中的.*表示显示的精度 对字符串输出(s)类型来说就是宽度
// 这个*代表的值由后面的参数列表中的整数型(int)值给出
例如:
printf("%.*s ", 1, "abc");// 输出a
printf("%.*s ", 2, "abc");// 输出ab
printf("%.*s ", 3, "abc");// 输出abc >3是一样的效果 因为输出类型type = s,遇到'