• ベストアンサー

プログラミングで.ドットは演算子だから、オペランド

プログラミングで.ドットは演算子だから、オペランド?される文字を操作operateするということですか? つまりくっつける文字列演算子+やマイナスのように。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

>>左右のオペランドとはなんですか? オペランドは右辺だけじゃないんですか? たとえば、 「1 + 2」 この場合オペレータは「+」で、 オペランドは「1」「2」です。 「1」を左オペランド「2」を右オペランドと呼びます。 また、代入演算 「a = 1 + 2」であれば、 「=」の左オペランドは「a」であり、 右オペランドは「1 + 2」です。 オペレータが2段階なので、オペランドも2度分割されます。 「1 + 2 + 3」は、多分大半のプロブラム言語で 「1 + 2」が左オペランドで、「3」が右オペランドになります。 (これは私の勘違いで逆の可能性もありますが、調べるのは  超大変なので、ここではそういうことにします) 単項演算子はオペランドが1つ 二項演算子はオペランドが2つ 三項演算子はオペランドが3つ(但し1つはスキップされる) です。 「.」演算子の場合、右辺は通常オペランドではなく「メンバ」 と呼ばれます。この場合は右辺だけが対象です。 「メンバ」のことを「オペランド」という表現方法があるなら、 貴殿の言うことは限定的に正しいですが、 総合的に見て誤りです。

okwaveokw
質問者

お礼

ありがとうございます >右オペランドは「1 + 2」です 右オペランドは「1 + 2」で +のオペランドは1で右オペランドは2 と2度分割されるという意味ですか? >「1 + 2 + 3」は、多分大半のプロブラム言語で 「1 + 2」が左オペランドで、「3」が右オペランドになります。 これはよくわからないですね 1+2+3+4だとどうなるんですか? >単項演算子はオペランドが1つ 二項演算子はオペランドが2つ 三項演算子はオペランドが3つ(但し1つはスキップされる) です。 単項 の項は何を指していますか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • _kappe_
  • ベストアンサー率68% (1530/2228)
回答No.4

>1+2+3+4だとどうなるんですか? 現在使われているプログラミング言語であれば多くの場合1+2+3+4は((1+2)+3)+4と同じものとして解釈され、左側の+(加算)から順に実行されます。 つまり、 ・一つめの+:左オペランドは1、右オペランドは2 ・二つめの+:左オペランドは1+2の結果、右オペランドは3 ・三つめの+:左オペランドは1+2+3の結果、右オペランドは4 となります。 一方、ここに*(乗算)や/(除算)が混じると計算順序が変わってきます。 1+2*3を例にすると、数学での記法と同じように+よりも*のほうを優先して計算を実行します。説明のために括弧をつけるなら1+(2*3)となります。 ・*:左オペランドは2、右オペランドは3 ・+:左オペランドは1、右オペランドは2*3の結果 です。 このあたりのことは「演算子の優先順位」とか「構文解析」というものを勉強すればもっと詳しいことが分かりますが、ここでは省略します。 >単項 >の項は何を指していますか? これは日本語訳があまり良くないと思うのですが、この場合は「項」はオペランドを意味すると考えてください。つまり、オペランドを一つだけ持つ演算子が単項演算子、オペランドを二つ持つ演算子が二項演算子です。 参考までに、単項演算子は英語だとunary operator、二項演算子はbinary operatorです。

okwaveokw
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

c/c++ や java などで、クラスや構造体、共用体の メンバにアクセスする際に「.」が使用される場合が ありますが、演算子の中では特殊なものに属するでしょう。 つまり「+」「-」などで左右のオペランド(被演算子)を 演算したり、単項演算子のように右辺のオペランドに意味を与えたり。 三項演算子のように、条件判断で演算結果を選択するなど、 予め決まった用途で使用するのではなく、 プログラマが実現したい用途のために、ある「メンバ」に アクセスするために使用されるものだからです。 また、 >>プログラミングで.ドットは演算子だから と、言い切ってしまうのは危険です。 シェルスクリプトのコマンドの「.」と、 正規表現の「.」 そして小数点の「.」などもプログラミングで 頻繁に使用されるからです。

okwaveokw
質問者

お礼

左右のオペランドとはなんですか? オペランドは右辺だけじゃないんですか?

全文を見る
すると、全ての回答が全文表示されます。
  • _kappe_
  • ベストアンサー率68% (1530/2228)
回答No.1

https://okwave.jp/qa/q9950477.htmlの回答No.5で、「プログラミングで」で質問を始めるのはやめたほうがいいとアドバイスしました。 ドットあるいはピリオド(.)が演算子ではないプログラミング言語もあるのです。たとえば、PythonとかRubyではドットは演算子ではありません。 「演算子」は英語のoperatorの訳である場合が多いです。「オペランド」(operand)は訳せば「被演算子」。演算子による演算の対象になるものです。

okwaveokw
質問者

お礼

そうなんですか?勉強になります! ドットあるいはピリオド(.)が演算子ではないプログラミング言語もあるのです。たとえば、PythonとかRubyではドットは演算子ではありません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 演算結果はカタカナだとどう呼びますか?

    オペランド(operand)は被演算数です。 オペレータ(operator)は演算子です。 では、 ______________________________は演算結果です。 ↑ここに入るのは何がしっくりくるでしょうか? 例 2+3=5のとき 2と3がオペランドです。 +がオペレータです。 5は対応する呼び方があるとすると、なんと呼ぶとよいでしょうか。 =には、触れないでおきます。 ()のある計算式で、括弧中を塊としてみたときに、 式つまり、オペランドとオペレータの列に見えたり、 一つの演算結果に見えたりして、困ります。 例¬(true || false) が¬trueだったり、falseだったりします。 さいごの3つ目のfalseはオペランドでも、オペレータでもなく、演算結果だと思います。 キャルキュレーションみたいな名前があるのでしょうか?

  • ドット演算子、オブジェクトリテラル、ブランケットの

    「ドット演算子」「オブジェクトリテラル」「ブランケット」違いを教えてください 大きく「オブジェクトリテラル」と「ドット演算子」という2つのやり方があって、 「ブランケット」は、「ドット演算子」の違う書き方という位置付けなのでしょうか? つまり、「ドット演算子」は「ブランケット」で書き換えられるけど、 「オブジェクトリテラル」は「ブランケット」で書き換えられない?

  • 量子力学における演算子と変数

    量子力学におえける演算子とは何かよくわからなくて困っています プログラミングをやっているのでプログラミングの話をしますが、プログラミングにおいて演算子とは、感覚的に言えばある変数を引数にして処理をするための関数的なもの + - x / の四則演算子が基本 sin() exp()などが演算子と言われても理解できるのですが 量子力学では、位置を表すxやyなども演算子として扱うと言われ プログラミング的にはそれらは関数のオペランドであり変数なので混乱しています 誰か上手く説明できる方がいらっしゃったら教えて下さい Ψを使った演算子の交換についての項で詰まっています

  • ダイナミック・プログラミング演算法?

    ダイナミック・プログラミング演算法って何ですか?

  • プログラミングの演算と演算子は関係がありますがCP

    プログラミングの演算と演算子は関係がありますがCPUのPってprocessという意味ですがこれには演算という意味がありませんよね? 全然言葉の意味が関係なさそうなんですがどうつながっているんでしょうか? 演算 cpu=center process unit 演算 operation 演算子 operator

  • プログラミングで論理演算子とブール演算子の違いもし

    プログラミングで論理演算子とブール演算子の違いもしくは関係を教えて下さい

  • プログラミングで代入演算子ってイコールのことですか

    プログラミングで代入演算子ってイコールのことですか?= 複合代入演算子とかありますが とりあえず、代入演算子というのは = のことですか?これだけのことですか?

  • プログラミングの複合代入演算子と複合演算子は何が違

    プログラミングの複合代入演算子と複合演算子は何が違うんでしょうか?

    • ベストアンサー
    • MySQL
  • 論理演算について質問

    今度こそ最後にします、、 質問:&&や||等の論理演算子は、「その両側にある2つの型booleanのオペランドに対して論理演算する」こういうことでしょうか? YESかNOでお答えいただいた上で、補足があればお願いします^^ 質問2:私は、括弧内の式が優先的に計算されると思って、その旨の質問をしたところ以下のような回答が返ってきました。 「優先されるのは結合順であって、評価順序ではないです。例えば、a==1 && b==3 || a==1 && b==0の式ににかっこを追加して、a==1 && (b==3 || a==1) && b==0とすると||の第1オペランドは b==3、第2オペランドは a==1 に変わります。」 ここでいう「結合順」の「結合」とはどういう意味ですか? 私の仮説では、「ある演算子がオペランドを結合している」、こういうことでしょうか? そして、括弧を用いることにより、ある演算子のオペランドの結合を変化させ、演算子は その括弧内の両側のオペランドをつなぐ、こういうことでしょうか? YESかNOかでお答えください。その上で何か補足があればお願いします^^

    • ベストアンサー
    • Java
  • 演算対象の数字と演算子を入力して計算させる

    数字と演算子をそれぞれ入力し、優先順位の高い順に四則演算させるにはどのような考え方をすればよいのでしょうか。 数字をa[7]とおいて、演算子をop[7]としてそれぞれ配列に格納しましたが、そこから先に進めません。 オペランドと演算子の組み合わせならば優先順に計算してくれるのはわかっていますが、オペランドと演算子を格納した配列では上手く行きません。 実は既に全ての演算子の組み合わせをIfで表示させるプログラムを根性で作ったのですが、最適解を知りたいです。 言語はCでvisualstudioを使っております。 条件はn回数字を入力したらn-1回演算子を入力し、n回目に=を入力する。nの最大値は7とする。です。 だらだらと見辛い文章で申し訳ありませんが、何卒宜しくお願いします。

【HL-3230CDW】トナー交換エラー
このQ&Aのポイント
  • トナー交換の表示が出たがエラーが消えない
  • トナーを再セットや再起動してもエラーが解消しない
  • Windows11で無線LAN接続の環境で使用
回答を見る