C 言語の 6 つの基本ステートメントは次のとおりです: 1. 算術演算子と算術式、2. 代入演算子と代入式、3. 関係演算子と関係式、4. 論理演算子と論理式、5. 条件演算子と条件式、6. カンマ演算子とカンマ式。
C 言語の 6 つの基本ステートメントは次のとおりです。
1. 算術演算子と算術式
1. 基本的な算術演算子
# (加算)、
-
(減算)、 *
(乗算)、/
(除算)、および %
(剰余)
これら 5 つの演算子の優先順位は次のとおりです:
*
、/
、%
は同じレベルですが、- よりも高くなります。つまり、最初に乗算と除算を行ってから、加算と減算を行います。
2 つの整数を除算すると、結果は整数になります。分子が分母より小さい場合、結果はゼロになります。
例: 5/2 結果は 2
2/5 結果は 0
5 つの演算子結合性は左から右です。
例: 10 6- 4*2
最初のステップでは、10 6 を計算し、結果 16 を取得します。2 番目のステップでは、4*2 を計算し、結果 8 を取得します。次に、最初のステップを使用して計算します。その結果から 2 番目のステップの計算の結果を減算して、結果 8 を取得します。
余りの計算方法:
5%3 余りは2
5%8 余りは5
# 記号)
2. 算術式
算術式は、算術演算子とオペランドから構成される式です。式の値は数値であり、式のタイプは演算子とオペランドによって決まります。
例: 5 3*(6-2) 式の型は int 型です。
3 4.0-3/2.0 式の型はdoubleです。
3. データ型変換
通常、演算に関わるデータ型は完全に一致しているわけではないため、運用時には同じデータ型に変換してから演算する必要があります。
2.1 強制型変換。特定のデータを指定されたデータ型に直接強制変換します。
強制型変換。変数値自体は変更されません。
(double)a; (int)(x+y);注意区别:(int)x+y 先把x的值转换成int型,然后再加y (float)(5%3) int i; … i=i+(int)9.801;
2.2 コンパイル中、コンパイラは人間の介入なしに、特定のルールに従って自動的にコンパイルを完了します。
データが操作に参加する前に、次の変換を実行する必要があります。
char,short→int→float→double
混合演算中、データ型は低レベルから高レベルに変化します
unsigned → int → long → double
以降 unsigned を int に変換し、次に long に順に変換する必要があるという意味ではありませんが、計算の最上位レベルで変換されます。
2. 代入演算子と代入式1. 代入演算子
代入記号:
= 代入演算子の右側の式の値を代入演算子の左側の変数に代入します。
代入演算子のデータ型が一致しない場合は、型変換が必要です。変換方法は次のとおりです。
実数データを整数変数に代入する場合、実数の小数部分は切り捨てられます。
例: int i; i=5.65; i の値は 5 です。
整数データを実変数に代入する場合、値は変更されません。
float f ; f=23;
(最初の23→23.00000をfに格納)
double d; d=23;
文字を変更する 整数変数にデータを代入する場合は、整数変数の下位 8 ビットに文字データを代入してください
int i;char ch = '0'; i = ch; // i = 48
整数変数に文字データを代入する場合は、整数変数の下位 8 ビットを整数変数に代入してください文字データ
int i = 4656;char ch; ch = i; // ch = 48
2. 複合代入演算子
複合代入演算子: (合計10個)
= , -= , *= 、 /= 、 %= 、
例:
a += 3 等价于 a=a+3 x *= y+8 等价于 x=x*(y+8) x %= 3 等价于 x=x%3
変数と式を代入演算子で結合する式。
形式は次のとおりです: <変数> <代入演算子> <式>
例:
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';
代入演算 結合率それは「右から左へ」です。 ######例えば:###
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视频教程
以上がC言語の6つの基本的なステートメントは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。