Die sechs Grundanweisungen der C-Sprache sind: 1. Arithmetische Operatoren und arithmetische Ausdrücke; 3. Relationale Operatoren und logische Ausdrücke; 6. Kommaoperatoren und Kommaausdrücke.
Die sechs Grundanweisungen der C-Sprache sind:
1. Arithmetische Operatoren und arithmetische Ausdrücke
1. Grundlegende arithmetische Operatoren
+
(Addition), -
(Subtraktion), *
(Multiplikation), /
( Division) und %
(Rest)
Die fünf Operatoren haben den Vorrang: + und - hoch. Das heißt, zuerst multiplizieren und dividieren und dann addieren und subtrahieren.
*
/
Wenn zwei ganze Zahlen dividiert werden, ist das Ergebnis eine ganze Zahl; wenn der Zähler kleiner als der Nenner ist, ist das Ergebnis Null. %
-5%3 verbleibende Zahlen sind -2 (Hinweis: Symbole der symbolischen Position & lt; Betrieb 1 & gt; Symbole)
5%-3 für die Zahl 2 (Hinweis: symbolische Position & lt; Anzahl der Operationen 1 & gt; Symbol)
2. Arithmetischer Ausdruck
Arithmetischer Ausdruck ist ein Ausdruck, der aus arithmetischen Operatoren und Operanden besteht . Der Wert eines Ausdrucks ist ein numerischer Wert und der Typ des Ausdrucks wird durch den Operator und die Operanden bestimmt.
Zum Beispiel: 5+3*(6-2) Der Typ des Ausdrucks ist int-Typ. 3+4.0-3/2.0 Der Ausdruckstyp ist doppelt.
3. Datentypkonvertierung
Normalerweise sind die an der Operation beteiligten Datentypen nicht vollständig konsistent. Während des Betriebs sollten sie zuerst in denselben Datentyp konvertiert und dann bearbeitet werden.
2.1 Erzwungene Typkonvertierung, bestimmte Daten direkt in den angegebenen Datentyp konvertieren
Erzwungene Typkonvertierung, der Variablenwert selbst ändert sich nicht
(double)a; (int)(x+y);注意区别:(int)x+y 先把x的值转换成int型,然后再加y (float)(5%3) int i; … i=i+(int)9.801;
2.2 Während der Kompilierung vervollständigt der Compiler es automatisch nach bestimmten Regeln ohne menschliches Eingreifen
Die folgenden Konvertierungen müssen durchgeführt werden, bevor die Daten an der Operation teilnehmen:
char , short→int→ float→double
Im gemischten Betrieb ändert sich der Datentyp von Low-Level → High-Level
unsigned → int → long → double
und höher Dies bedeutet nicht, dass unsigned nacheinander in int und dann nach long konvertiert werden muss, aber die Konvertierung wird von der höchsten Ebene in der Berechnung durchgeführt.
2. Zuweisungsoperatoren und Zuweisungsausdrücke1. Zuweisungsoperator
Zuweisungssymbol:
Weist den Wert zu des Ausdrucks auf der rechten Seite des Zuweisungsoperators zu einer Variablen auf der linken Seite des Zuweisungsoperators.Wenn die Datentypen des Zuweisungsoperators inkonsistent sind, ist eine Typkonvertierung erforderlich. Die Konvertierungsmethode lautet:
=
Wenn Sie einer Ganzzahlvariablen reelle Daten zuweisen, verwerfen Sie den Dezimalteil der reellen Zahl.
Zum Beispiel: int i; i=5,65;
Beim Zuweisen ganzzahliger Daten zu einer reellen Variablen bleibt der Wert unverändert.
float f ; f=23;
(Zuerst 23→23.00000 und dann in f speichern)
double d; d=23;
Ändern Sie die Zeichen. Wenn Sie einer Ganzzahlvariablen Daten zuweisen, platzieren Sie die Zeichendaten in den unteren 8 Bits der Ganzzahlvariablen.
int i;char ch = '0'; i = ch; // i = 48
int i = 4656;char ch; ch = i; // ch = 48
Zusammengesetzter Zuweisungsoperator: (insgesamt zehn)
+= , -= , *= , /= , %= ,
a += 3 等价于 a=a+3 x *= y+8 等价于 x=x*(y+8) x %= 3 等价于 x=x%3
<<= , >>= , &= , ^= , |=
Ein Ausdruck, der eine Variable und einen Ausdruck durch den Zuweisungsoperator verbindet. Das Format ist:
Zum Beispiel:
int x,y,z; x=y=z=5+6; int x=3,y=4; x*=y+1; ( x=等价与 x*(y+1);) int x; x='a';
Zuweisungsoperator Die Kombinationsrate ist: „von rechts nach links“.
Zum Beispiel:
a=b=c=5 a=(b=(c=5)) a,b,c值都是5 a=5+(c=6) c值为6, a值为5+6 (即11) a=(b=4)+(c=6) b值为4,c值为6,a值为4+6 (即10) a=(b=10)/(c=2) a值为5
三、关系运算符和关系表达式
1.关系运算符
关系运算符用于两个数值之间的比较运算。C语言提供6种关系运算符:
<、<=、>、>=
、 优先级相同高
==、!=
优先级相同低
关系运算符的结合率为:“自左而右”。
(即当优先级相同时按自左而右结合a>b>c,当优先级不同时按优先级高低结合a=b+c)
关系运算符、算术运算符和赋值运算符的优先级为:
例如: 1、c>a+b 等效于 c>(a+b)
2.关系表达式
由关系运算符和操作数组成的表达式称为关系表达式。
关系表达式的值是一个逻辑型的值,即只有两个值(真和假)。
C语言是用1作为真,用0作为假。但是进行运算时,非0即认为真,0才认为假。而表达式的结果为真时,给出真值1。为假时,给出假值0。
例1:
有int x=2,y=3,z=5; 则:x>y 结果为0。 z>=y 结果为1。 z==y 结果为0。
例2:
若 a=3,b=2,c=1 f=a>b>c f=?
四、逻辑运算符和逻辑表达式
1.逻辑运算符
2.逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子。
运算结果为:“真”或“假”值。
系统在运算时以非0即为真,以0为假。
例如: 4 && 0 || 2 的值为1
5 && !0 的值为1
例如:
(a>b)&&(x>y) 可以写成 a>b&&x>y (a==b)||(x==y) 可以写成 a==b||x==y (!a)||(a>b) 可以写成 !a||a>b 5>3&&2||8<4-!0 的值为 1 'c'&&'d' 的值为 1
#include <stdio.h> int main() { int a = 10; int b = 10; if (++a > 100 || ++b >0) { } printf("a = %d, b = %d\n", a, b); a = 10; b = 10; if (++a > 100 && ++b >0) { } printf("a = %d, b = %d\n", a, b); return 0; }
五、条件运算符和条件表达式
1.条件运算符
条件运算符: ? :
它是唯一的一个三目运算符
2.条件表达式
条件表达式的一般格式为:表达式1 ? 表达式2 : 表达式3
运算过程:表达式1的结果为真(非0)时,表达式2的计算结果作为条件表达式的值;否则,取表达式3的计算结果为条件表达式的值。
如: a>b?a:b
条件运算符的优先级低于逻辑、关系、算术运算符高于赋值运算符。
如: a>b?a:b+1 相当于 (a>b)?a:(b+1)
六、逗号运算符和逗号表达式
逗号运算符: ,
格式: 表达式1, 表达式2, 表达式3, LL, 表达式n
优先级: 最低
从左向右计算每个表达式的值,逗号表达式的值为表达式n的值。
例如:
y=(x=3,5+6,x+5) 逗号表达式的值为?
相关学习推荐:C视频教程
Das obige ist der detaillierte Inhalt vonWas sind die sechs Grundaussagen in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!