C言語では、次のことを学びました。
- 算術演算子(+、-、*、/、%)
- 演算子の増減(++、-)
- 代入演算子(=)
- 関係演算子(>、<、> =、<=、!=、==)
- 論理演算子(&&、||、!)
簡単に復習しましょう!
オペレーター
1.表現とは
演算子とオペランドで接続された式:単純な式と複雑な式
第二に、文とは何ですか
エンディングの式では、文です
Cステートメント:すべてのステートメントは;最後に
空のステートメント:セミコロンで直接終わるものはありません。
ステートメントブロック:中括弧で囲まれた{}
三、オペレーター
1.代入演算子(=)
変数名=定数(変数/式)
左辺値:代入ステートメントに表示される左側の値(定数を左辺値として使用することはできません)
右辺値:割り当てステートメントの右側に表示される右辺値
初期化:変数を宣言するときに、変数に初期値を割り当てます
割り当て:値を指定
A、自動型変換
変換規則:
短い数値型変数の値が長い数値型変数に割り当てられると、短い数値型変数の値がアップグレードされて長いデータ型として表現され、データ情報が失われることはありません。
長い数値型の変数が短い数値型の変数に割り当てられると、データは下げられて表現され、データが短い数値型が表すことができる範囲を超えると、データの切り捨てが発生します。
B、強制型変換
データ型が異なる場合、状況に応じて型変換が自動的に実行され、コンパイラーは警告メッセージを表示します。強制型変換を使用する場合、コンパイラーは警告を生成しません。
一般的な形式:(タイプ名)(式)
2.算術演算子
単項演算子:+、-、++、-
二項演算子:+-* /%(剰余を求めるモジュロ演算子)(両側のオペランドは整数のみで、剰余の符号は被除数に従って決定されます)
単項演算子++-+-
式++は、割り当てる前にインクリメントされます
++最初の割り当て後に増加
優先順位、結合性
* /
+-
=
3.関係演算子
2つのオペランド間のサイズ関係を決定するために使用されます(trueまたはfalseを返します)
0は偽を意味し、ゼロ以外は真(-1、-2、1、2)を意味し、1は真を意味します
>>
> =
<
<=
==
!=
4.論理演算子
&&論理的で、2つは真、1つは偽、もう1つは偽
||論理的または1つが正しい、
!論理は真でも偽でもない、偽、真
短絡現象
if ((a=0) && (b=45))
{
//为假就不会执行,为真才执行
printf("真的\n");
}
else
{
//为假
printf("假的\n");
printf("a=%d,b=%d\n",a,b);
}
if ((a=45) || (b=2))
{
//为假就不会执行,为真才执行
printf("真的\n");
printf("a=%d,b=%d\n",a,b);//a=45,b=0
}
else
{
//为假
printf("假的\n");
printf("a=%d,b=%d\n",a,b);
}
5.条件演算子(三項演算子)
?:
表現?ステートメント1:ステートメント2
式が真の場合、ステートメント1を実行します。
falseの場合、ステートメント2を実行します
ネスト:1> 2?printf( "is true \ n"):2> 3?printf( "2> 3 \ n"):printf( "2 <3 \ n");
// ifelseステートメント
万一に備えて
...。
そうでなければ
...。
6、ビット演算子
- &ビット単位および
- |ビットごとのOR
- ^ビット単位のXORは0と同じであり、差は1です。
- 〜ビット単位の否定
- ソースコード
- 補体
- 補体
- 正の数:1つに3つのコード
- 負の数:逆コード:符号ビットは変更されず、残りのビットはビットごとに反転されます
- 補数コード:符号ビットは変更されません。補数コードは+1です。
7.コンマ演算子:
複数の式はコンマで区切ることができ、式全体の値は最後の式の値です。
8、複合演算子
+ =、-=、* =、/ =、%=、^ =、| =など。
知識の文法は基本的に変わっていないので、このパートでは実際のプログラムのデモンストレーションに焦点を当てます。
ビット数を分割するには、次のようにC ++で実装できます。
#include<iostream>
using namespace std;
int main()
{
int a;//待判断的这个三位数
int ge;//三位数中的个位
int shi;//三位数中的十位
int bai;//三位数中的百位
cin>>a;
ge = a%10;
shi = a%100/10;
bai = a/100;
cout<<ge<<" "<<shi<<" "<<bai<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int x,y;
cin>>x;
if(x<1)
{
y=x;
}
else if(1<=x && x<10)
{
y=2*x-1;
}
else
{
y=3*x-11;
}
cout<<y<<endl;
return 0;
}
結果は次のとおりです。
誰もが論理演算子&&の使用シナリオに注意を払っています。1<= x <10のような連続した単語は使用しないでください!
プログラミングに興味のある友達は、クリックして詳細を確認したり、スカートを追加したりできます:①①⑤①③⑨⑤⑨△⑨、ビデオ資料やオンライン電子書籍を無料で入手できます〜マスターによるオンラインQ&Aプログラム、定期的な無料クラスもあります