我们进入了C编程的第三章,我们将在其中讨论操作符、操作数、表达式和转义序列。我想你已经看过了第1章- C语言中的数据类型和第二章:C语言中的变量和关键字.
操作符—操作符通常是特定操作的符号表示。例:-+意味着之外*意味着乘法等。
操作数—操作数通常是操作符执行操作的数据。例:-c = a + b;这里c a b是操作数;而as +和=是两个不同的运算符。操作数可以是常量或变量。例:- c = 10 +;
表达式表达式是一个完整的指令,它可以是操作符和操作数的组合。例:- c = a + b;是一个完整表达式。其他完整表达式的例子有:a++;p = p + 3;+ +;
关于操作数和表达式的细节没有太多要讲的。让我们更深入地了解C语言中的运算符。
运营商
C中基本上有7种类型的操作符,即:-
- 算术运算符
- 一元操作符
- 赋值操作符
- 关系和相等运算符
- 逻辑运算符
- 按位运算符
注意:-如果一个操作符需要两个操作数来操作-它被称为二元运算符。如果一个操作符只需要一个操作数进行操作,则将其称为a一元运算符。
算术运算符
C中有5个算术运算符,如下表所示。下面是在处理算术运算符时需要注意的几点。
- 两个操作数都应该是数值(整型数、浮点数或字符数(ASCII值))。
- 没有计算指数值的算子。
- 在除法操作符的情况下-如果两个操作数都是整数类型,则结果将是一个整数。在整数除法的情况下,可能出现的任何小数部分将被截断到零。(例如:- 10/3得到的答案是3而不是3.33)。如果操作数中的任何一个是浮点类型,则除法的结果将是浮点类型。
操作符 |
函数 |
评论 |
+ |
除了 | 对两个操作数执行加法。 |
- - - - - - |
减法 | 对两个操作数执行减法:这里b从a中减去,结果存储在c中 |
* |
乘法 | 对两个操作数执行乘法运算。 |
/ |
部门 | 执行整数的除法。分母必须是非零的。 |
% |
剩余(模式操作符) | 输出整数除法的余数。两个操作数都必须是整数。如果输入值中有小数部分,它将被截断。例:10.14/3.75 -我们的答案将是1(因为它得到10/3的余数) |
示例程序:
int x = 20, y = 7, a, s, m, d, r;
浮动xp = 20.75, yp = 7.25,美联社,sp, mp, dp, rp;
一个= x + y;s = x - y;
m = x * y;d = x / y;
r = x %;
美联社= xp + yp;sp = xp-yp;
mp = xp * yp;dp = xp / yp;
rp = xp % yp;
输出
A =27 s= 13 m= 140 d= 2 r= 6
Ap =28 sp=13.5 mp=150.43 dp= 2.862 rp=6
注意:-在float和int两种情况下,模式操作符产生的结果是相同的(r = rp =6)。
注意:-c = a + b;在本例中,首先计算' = '右边的内容,然后将其赋值给左边的变量。
一元操作符
它们只需要一个操作数进行操作。他们是:-
- -操作符
- 自增和自减操作符
- Sizeof运算符
-操作符-也称为反运算符。该操作符总是在变量、常数或表达式之前。它把负号赋给变量/常数。例如:- int i= -8;现在变量I赋值为- 8。另一个Ex:- int i=-10, j;j =我;现在j的值等于-(-10)也就是+10。
自增和自减操作符
从名字本身,你可以猜出这两个操作符的用途-它们用于对变量进行递增和递减。自增操作符为++,即在操作数上加1;自减操作符为-,即从操作数上减1。这两个操作符既可以是后固定的也可以是前固定的。后缀和前缀操作符的工作方式是不同的。
例子:- + +;b -;+ + b;——;等。
后缀和前缀的区别
int = 5, x, y;
x = a + +;/* post fixing */
y = + +;/*预固定*/
输出:
X = 5,然后a将增加1 (a=6);这里a先赋给x,然后只有a是递增的
y=6和a =6这里a先加1,然后在a加1后,赋值y。
Sizeof运算符
该操作符以字节为单位返回操作数的大小。
int a、b;
b =运算符(一个);
输出
B = 2(因为a是一个整型变量,整型占2字节)
赋值运算符
有两种类型的赋值操作符。我们经常使用的是=运算符。
例:- c = a + b;右边的表达式=运算符首先求值。然后将表达式的结果赋值给左边的变量。这里=被称为赋值操作符。
另一种类型的赋值操作符是+ =当左边的变量和操作符后面的变量相同时使用。
例如:- a = a+2;它也可以表示为a+=2;
int = 5;
+ = 2;
输出:
= 7;这里,a中的值加上2,然后将新的结果赋值给a本身。
注意:可以使用变量代替常量。例:= a + b;可以写成a+=b;
这种赋值操作对其他操作符(如- *和/)也有效。
例子:- / = 5 (= / 5);- = 5 (= 5);* = 5 (= * 5);
关系运算符
有4个关系操作符,如下所示。
操作符 |
函数 |
评论 |
> | 大于 | 比较两个值。例:>b -将a内部的值与b内部的值进行比较,如果a大于b,则条件为真,否则条件为假。如果condition为真,则表达式返回1,否则返回0。 |
>= | 大于或等于 | 例:- > = b |
< | 不到 | 例:- - - |
< =强烈= " " > | 小于或等于 | 例:- < = b td = " " > |
平等的运营商
操作符 |
函数 |
评论 |
== | 等于 | 例:- a==b -检查a是否等于b。如果相等,则认为表达式为TRUE,否则为FALSE。 |
! = | 不等于 | 例:-一个!=b – checks if a and b are unequal. If they are unequal, then expression is considered TRUE, else FALSE. |
逻辑运算符
操作符 |
函数 |
评论 |
& & | 逻辑和 | 例如:- (a>9)&&(b<5) - 5=“”- =“”> |
|| | 逻辑或 | 例如:- (a>9)||(b<5) - 5= " " - = " " > |
注:-
逻辑“与”(& &)-该表达式从左到右计算,只有当两个条件(左和右)都为TRUE时才被认为是TRUE。如果这两个条件中的任何一个为FALSE,则整个表达式为FALSE。
逻辑或(| |)-该表达式从左到右求值,如果两个条件(左和右)中的任何一个为TRUE,则认为为TRUE。如果两个条件都为FALSE,则只有整个表达式变为FALSE。
按位运算符
操作符 | 函数 | 评论 |
~ |
否定 | 补充操作数。1被转换成0 0被转换成1。 |
& |
和 | 输出完全符合与运算的真值表。 |
| |
或 | 输出完全符合OR操作的真值表。 |
^ |
x或(异或) | 输出完全符合X-OR操作的真值表。 |
>> |
转变对吧 | 将位向右移动(表达式中给出的固定no位) |
<< |
左移位 | 将位向左移动(表达式中给出的固定位号) |
转义序列
转义序列 | 函数 | 评论 |
\ n | 新行 | 在输出显示中,这个序列将光标移到下一行。 |
\ b | 退格 | 将光标从当前位置移动到左侧(一个位置) |
\ t | 选项卡的空间 | 将光标从当前位置向右移动一个制表符空间。 |
、一个 | 警报/警告 | 在连接到计算机的扬声器中产生声音。 |
\” | 双引号 | 在输出显示器上打印双引号。 |
\ ? | 问号 | 在显示器上打印一个问号。 |
\ ' | 单引号 | 打印单引号 |
\ \ | 反斜杠 | 打印反斜杠 |
\ 0 | 零 | |
\ f | 换页 | |
v \ | 垂直制表符 | |
r \ | 回车 |
反斜杠' \ '称为转义字符。反斜杠后面的字符为转义序列提供了意义/目的。转义序列实际上被认为是单个字符(尽管它看起来像是两个字符的组合)。
我们已经介绍了C语言中操作符的基本知识。更多具体的例子和解释将在接下来的章节中给出。
在下面的图像中,几乎C中的所有操作符都列出了其顺序和优先级。我将在另一篇文章中解释操作符的顺序和优先级。
16评论
这篇文章写得很好,简单而富有成效。如果你以可下载的格式发送c和c++的概念,这将更有用。这是我的建议。
可以用于Amega8编程的C编译器应该是什么
@Aditya -http://winavr.sourceforge.net/download.html
我可以从这个网站学习“嵌入式C”吗?有任何文章可以访问?????吗回复Plzzzz
我们将在未来提出“嵌入式C”教程。
谢谢电路,我不能做技术上的评论,我只是很高兴得到信息
谢谢先生,
我已经读过你以前关于c编程的文章。这对我帮助很大。
请尽快写更多的章节。
@ elex Wood和@ Rowan Walters -非常感谢你们的溢美之词。