C / C ++スタディノート:完全な基本的な演算子と式、詳細なケースのデモンストレーション

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プログラム、定期的な無料クラスもあります

 

おすすめ

転載: blog.csdn.net/Python6886/article/details/111350027