変数。出力フォーマット


変数
変数は、名前があり、次の値に対応する値を格納するコンピュータ メモリ内のセルです。タイプ。

「変数」という言葉は、その値がプログラムの実行中に変更される可能性があることを示しています。  新しい変数値を保存すると、古い変数値は消去されます。


コンピューターの場合、すべての情報はメモリー内のデータ、つまり 0 と 1 のセットです (簡単に言うと、コンピューター内の情報はすべて単なる数字であり、同じ方法で処理されます)。ただし、整数と分数の動作が異なることはわかっています。したがって、各プログラミング言語には異なる種類のデータがあり、異なる方法で処理される
ためです。
たとえば、
- 整数変数 – type int  (英語の整数 – 整数から)、メモリ内で 4 バイトを占有します。
- 小数部分を持つことができる実数変数 (英語の浮動小数点 – 浮動小数点の type float –) はメモリ内で 4 バイトを占有します。
- 文字(英語の文字 – 記号からのタイプ char –)、メモリ内で 1 バイトを占有します。

プログラムに変数を追加してみましょう。
変数を使用する前に、メモリ内に変数用のスペースを割り当てるようにコンピュータに指示する必要があります。これを行うには、変数を宣言する必要があります。つまり、変数に格納する値の種類を指定し、名前を付ける必要があります。
また、必要に応じて、初期値を割り当てることもできます。

例としてプログラムを見てみましょう。 <プレ> システムを使用する; クラス プログラム {    静的 void Main()     {         int a = 6, b; // 整数型の 2 つの変数を宣言し、変数 a に値 6 をすぐに保存しました。   // 変数 b は初期化されていません。 // この場合、メモリに何が含まれるかはわかりません。     } } さまざまな情報をメモリに保存し、同じアルゴリズムを使用して同じ種類の情報を処理できる機能がなければ、コンピュータは必要ありません。
より興味深いプログラムを作成するには、コンピュータのメモリに情報を保存する方法を学ばなければなりません。同時に、コンピュータのメモリ セルに何らかの方法でアクセスする方法を学ぶ必要があります。
プログラミングにおいても、人生と同様に、コンピュータのメモリの一部を参照するには、名前を使用します。この名前を使用すると、情報の読み取りと書き込みの両方が可能になります。

素数の計算機を書いてみましょう

私たちの仕事は、画面に算術式を表示し、コンピュータに計算させることです
。 例: 
5+7=12
さらに、プログラム内の変数 ab の値に応じて、5 と 7 の代わりに、異なる数値が存在する可能性があります。

出力ステートメントでは、テキストだけでなく、変数の値や算術式の結果も表示できます。また、出力順序は異なる場合があります。たとえば、上記の式を表示するには、次のように記述する必要があります。 <プレ> Console.WriteLine(a + "+" + b + "=" + (a+b)); 変数の値を表示したい場合は、引用符なしでその名前を指定するだけです。算術式の結果を表示したい場合は、算術式を正しく記述するだけで十分です。注意してください: 
変数とテキストは「+」演算子で区切られますが、テキストは引用符で囲まれ、変数は引用符なしで記述されます。
 

ステートメントを入力
ユーザーが変数の値を自分で設定できるようにするには、キーボードから値を入力できる必要があります。 
C# には 2 つの値入力演算子があります: Console.Read(); および Console.ReadLine();
 
Read は、入力された値から 1 文字のみを読み取ります。または、読み取る文字が残っていない場合は -1 になります。また、このメソッドは整数の文字コードを返すため、文字変数を取得するには、 Convert.ToChar() を使用して変換を実行する必要があります。
  <プレ> int x = Console.Read(); // 文字コードを読む char a = Convert.ToChar(x); // 受け取ったコードを文字変数の値に変換  
ReadLine()  を使用すると、新しい行に入る前に文字列シーケンスを読み取ることができます。その結果、メソッドは文字列を返すか、それ以上文字列がない場合は null を返します。

たとえば、エントリは次の行を読み取ります。 <プレ> stringline = Console.ReadLine();
整数値を読み取るには、文字列を読み取って数値に変換する必要があります。
  <プレ> int a = int.Parse(Console.ReadLine());  
数字が一列に並んでいる場合は、その行を数える必要があります。スペース文字を区切り文字として使用して、そこから文字列の配列を取得します。次に、配列の各要素が数値に変換されます。 <プレ> string[] numbers = Console.ReadLine().Split(' '); int a = int Parse(numbers[0]); int b = int.Parse(numbers[1]);

出力指定子
実際の値を出力するには、Console.Write または  Console.WriteLine:
メソッドを呼び出すだけです。   ダブル a = 0.9999; Console.Write(a);  
ただし、値の出力を事前にフォーマットする必要がある場合があります。String.Format メソッドを使用すると便利です。詳細は こちら
一定の精度で出力
小数の書式設定には f 指定子が使用され、その後の数字はセパレーターの後の文字数を示します。 ダブル a = 12.123; Console.WriteLine(String.Format("{0:f2}", a)); 結果は 12,12 になりますが、値 0.9999 を使用すると、制御されていない丸めが発生し、  1.00.

したがって、次のアルゴリズムを使用して、丸めではなく符号を破棄します。
1) 元の値に 10 を小数点以下の桁数まで掛けます。
2)   Math.Truncate メソッドを使用して、整数部分のみを残します;
3) 結果の値を 10 で割ります。 小数位を残す必要がある回数だけ割ります。

小数点以下 2 桁の出力の例: 
ダブル a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
結果を出力する際のセパレーターのタイプ (ドットまたはコンマ) は、コンピューターの地域設定に依存するため、常にピリオドをセパレーターとして使用するには、地域設定を 不変、結果の例:
 
CultureInfo ci = new CultureInfo(""); ダブル a = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));