C++基礎学習例 第02章

1. 基本的な知識の小さな例をいくつか紹介します。
1. インプットとアウトプットの演習

int main()
{
	double attack1 = 272;
	double attack2 = 250;
    double attack3 = 240;
    
    cout << left;
    cout << setfill('_');
    cout << setw(8) << attack1 <<
       		setw(8) << attack2 <<
    		setw(8) << attack3 << endl;
}

出力結果: 272_____250_____240_____

PS: 要約
1) cout << left; このコードは、後続の出力コードがすべて左揃えであることを意味します
2) setfill('_'); このコードは、空白文字が「アンダースコア」で埋められることを意味します

2. 演算子と式
演算子:代入演算子、算術演算子、関係演算子、論理演算子
式:記号とオペランドの組み合わせ

//--------------运算符练习1--------------
	int num1 = -5, num2 = 2;
	cout << num1 / num2 << endl;
	cout << num1 % num2 << endl;

正と負の商 (/) を求めることは、
正と負は正、正と負は負、負と負は正という原則に基づいており、次の目的でよく使用されます

1234 % 10 = 4
剰余 (モジュロ) (% ) を求めるには、
最初のパラメータの符号に応じて正負が変化します。
よく使用されます:
1. 特定の数の一の位を取る 1234 % 10 = 4
2. ゼロの数字 45 日を計算すると、1 か月と数日になります。 45 & 30 = 15

//--------------运算符练习2--------------
int num1 = -5, num2 = 2;
num1 = (num2++) - (--num2);
cout << num1 << '\t' << num2 << endl;

出力結果:0 2

3. 型変換
自動型変換:小さい範囲の型を表す値を大きい範囲の型を表す値に変換します(short->int->long->float->double)。

int num1 = 5, num2 = 2;
double result = num1 / num2;
cout << "num1 / num2 = " << result << endl;

出力結果:2

キャスト: 構文: (型名) 変数または値

int num1 = 5, num2 = 2;
double result = (double)num1 / num2;
cout << "num1 / num2 = " << result << endl;

出力: 2.5

4. 代入演算子

int num = 1024;
num += 90;
num -= 90;
num *= 90;
num /= 90;
num %= 90;
cout << num << endl;

5. sizeof 演算子の
結果はバイト単位であり、データ型によって占有されているメモリのサイズを取得できます。

cout << sizeof(string) << endl;//28
cout << sizeof(bool) << endl;//1

例:

int num = 5;
cout << sizeof(num++) << endl;
cout << num << endl;

出力結果は次のとおりです。 4 5
理由: sizeof() は括弧内のデータが占めるスペースを決定するだけであり、内部の値に対するすべての操作は実行されません。

6. 条件判断の演習:
プログラムを使用して、ユーザーが入力した文字が正当なハード ドライブ文字であるかどうかを判断します。
デフォルト値はヌル文字に設定されます (ASCII テーブルのデフォルトのヌル文字は 0)。

char pan = '\0';	
cout << "请输入一个字符,我来判断是否合法:";
cin >> pan;
//'A' ~ 'Z'  65~65+26
if (pan >= 'A' && pan <= 'Z')
{
	cout << "是合法盘符!" << endl;
}
else
{
	cout << "不是合法盘符!" << endl;
}

7. ループ練習 (while) は、
ループを使用して 1 ~ 100 の累積和を計算します。

int num = 1;
int all = 0;
while (num <= 100)
{
	all += num;
	num++;
}
cout << all << endl;

8. 関数の演習 (ロジック、オブジェクト指向)
//1. 例 1:
//π = 16acrtan(1/5) - 4arctan(1/239);
//arctanx = x - x * x * x / 3 + x * x * x * x * x / 5 - … //
系列内の項目の絶対値が 10 の -15 乗以下になるまで、π と
π の値

	int main()
	{
		double a = 16.0 * arctan(1 / 5.0);
		double b = 4.0 * arctan(1 / 239.0);
		//注意:因为整数相除结果取整,如果参数写1/5,1/239,结果就都是0
		cout << "PI = " << a - b << endl;
		//运行结果:PI = 3.14159
		cout << "a = " << a << endl;
	}

	double arctan(double x) {
		//起始的被减数的倍数(x的平方)
		double sqr = x * x;
		//当前输入的x的值(用于计算级数绝对值限制)
		double e = x;
		//(用于确定符号)
		double r = 0;
		//当前arctanx被减数的被除数(有数值+2的变化并且符号变化)
		int i = 1;
		//判断当前值
		while (e / i > 1e-15)
		{
			double f = e / i;
			r = (i % 4 == 1) ? r + f : r - f;
			e = e * sqr;
			i += 2;
		}
		return r;
	}

おすすめ

転載: blog.csdn.net/qq_43036676/article/details/99861995