C++学習メモ(1) --- 定数、データ型、演算子

目次

1. 定数:

1. マクロ定数:

2. const 定数:

 2. 識別子の命名規則:

3. データ型:

1. 整数:

2. sizeof および typeid キーワード:

 3. 浮動小数点型:

4. 文字の種類:

5. エスケープ文字:

6. 文字列型:

7. ブール型 bool

8. データ入力:

4 番目に、オペレーターは次のようにします。

1. 算術演算子:

2. 代入演算子:

3. 比較演算子

4 つの論理演算子


1. 定数:

1. マクロ定数:

#defineマクロ定数: #define 常量名 常量值

  • 通常、定数を表すためにファイルの上に定義されます。

  • マクロ定数を配列定義に配置できます。

  • マクロ定数も変更できません。

  • 最後にセミコロンを付けずに定義します

2. const 定数:

const変更された変数const 数据类型 常量名 = 常量值

  • 通常、キーワード const は変数定義の前に追加され、変数を定数として変更します。これは変更できず、定義時に初期値を割り当てる必要があります。

//1、宏常量
#define day 7
#define n 10

int main() {
    //1、宏常量
	cout << "一周里总共有 " << day << " 天" << endl;
	//day = 8;  //报错,宏常量不可以修改
    //定义数组
    int arr[n];

	//2、const修饰变量
	const int month = 12;
	cout << "一年里总共有 " << month << " 个月份" << endl;
	//month = 24; //报错,常量是不可以修改的
	
	system("pause");
	return 0;
}

 2. 識別子の命名規則:

  • 識別子をキーワードにすることはできません

  • 識別子は文字、数字、アンダースコアのみで構成できます

  • 最初の文字は文字またはアンダースコアである必要があります

  • 識別子の文字は大文字と小文字が区別されます

3. データ型:

1. 整数:

異なるタイプの整数は異なるスペースを占有します。

データの種類 スペースを取る 範囲
short (短い整数) 2バイト (-2^15 ~ 2^15-1)
int (整数) 4バイト (-2^31 ~ 2^31-1)
ロング(ロングシェイプ) Windows は 4 バイト、Linux は 4 バイト (32 ビット)、8 バイト (64 ビット) (-2^31 ~ 2^31-1)
ロングロング(ロングロングシェーピング) 8バイト (-2^63 ~ 2^63-1)

2. sizeof および typeid キーワード:

sizeof の役割: sizeof キーワードを使用して == 統計データ型が占有するメモリ サイズ ==

文法: sizeof( 数据类型 / 变量)

int main() {
	cout << "short 类型所占内存空间为: " << sizeof(short) << endl;
	return 0;
}

Typeid 関数:データがどのタイプに属するかを決定します。

構文:typeid(判定データ)

int main()
{
	//两个小数相除
	double d1 = 0.5;
	double d2 = 0.25;

	if (typeid(d1/d2) == typeid(double))
	{
		cout << "是浮点类型" << endl;
	}
	else if (typeid(d1 / d2) == typeid(int)) {
		cout << "是整数类型" << endl;
	}
	cout <<  d1 / d2 << endl; //double浮点类型

	return 0;
}

 3. 浮動小数点と科学的表記法:

小数を表す浮動小数点変数には 2 種類あり、両者の違いは表現できる数値の範囲が異なることです。

  1. 単精度浮動小数点数

  2. 倍精度倍精度

データの種類 スペースを取る 有効な数値範囲
浮く 4バイト 有効数字7桁(整数部含む)
ダブル 8バイト 有効数字15~16桁(整数部含む)
int main() {

	float f1 = 3.14f;
	double d1 = 3.14;

	//科学计数法
	float f2 = 3e2; // 3 * 10 ^ 2 
	float f3 = 3e-2;  // 3 * 0.1 ^ 2

	system("pause");
	return 0;
}

4. 文字の種類:

役割:文字変数は単一の文字を表示するために使用されます。

文法:char ch = 'a';

注 1: 文字変数を表示する場合は、文字を二重引用符ではなく一重引用符で囲みます。

注 2: 一重引用符内には文字列ではなく、1 つの文字のみを含めることができます。

  • C および C++ の文字変数は 1 バイトのみを占有します。

  • 文字変数は文字自体をメモリに保存するのではなく、対応する ASCII コードをストレージ ユニットに保存します。

  • A の ASCII は 65、a は 97、0 は 48 です。

int main() {
	
	char ch = 'a';
	cout << ch << endl;
	cout << sizeof(char) << endl;

	//ch = "abcde"; //错误,不可以用双引号
	//ch = 'abcde'; //错误,单引号内只能引用一个字符

    // 将字符转化为对应的ascll值
	cout << (int)ch << endl;  //查看字符a对应的ASCII码
	ch = 97; //可以直接用ASCII给字符型变量赋值
	cout << ch << endl;
    
	// 将int转化为对应的ASCII字符
	cout << (char)65 << endl;

	// 将数字转化为对应的ASCII值
	cout << 65 + '0' << endl;

	system("pause");

	return 0;
}

5. エスケープ文字:

機能:表示できない一部の ASCII 文字を表すために使用されます。\ を使用してエスケープします。

  • エスケープ文字は " " 二重引用符または ' ' 単一引用符で囲むことができます
int main() {
	
	// \
	cout << "\\" << endl;
    // 在一个tab的距离之后输出Hello
	cout << "\tHello" << endl;
    //换行相当于打了一个endl
	cout << "\n" << endl;

	system("pause");

	return 0;
}

6. 文字列型:

1. C スタイルの文字列:char 变量名[] = "字符串值"

2. C++ スタイルの文字列: #include<string> ヘッダー ファイル string 变量名 = "字符串值"  使用前必须导入

int main() {

    //C语言的字符串类型
	char str1[] = "hello world";
	cout << str1 << endl;
    
    //C++上的字符串类型
	string str = "hello world";
	cout << str << endl;
    
	system("pause");

	return 0;
}

7. ブール型 bool

役割:ブール データ型は true または false の値を表します。ブール型には 2 つの値のみがあります: 1 バイト

  • true --- true (本質的に 1)

  • false --- false (本質的に 0)

int main() {

	bool flag = true;
	cout << flag << endl; // 1

	flag = false;
	cout << flag << endl; // 0

	cout << "size of bool = " << sizeof(bool) << endl; //1
	
	system("pause");

	return 0;
}

8. データ入力:

キーワード:シン

文法: cin >> 变量

文字列型を除き、他の型の入力には cin を使用するための初期値を与える必要があります。そうしないと、エラーが報告されます。

文字列入力:

  • スペースは入力できません。入力の終わりを示すためにスペースを入力してください

ブール型入力:

  • 数値を入力する場合、0を入力した場合のみ0となり、残りの数値はすべて1となります。
  • 文字列を入力すると最終的に 0 が返されます
int main(){
	//字符串型输入
	string str;
	cout << "请输入字符串型变量:" << endl;
	cin >> str;
	cout << str << endl;

	//布尔类型输入
	bool flag = true;
	cout << "请输入布尔型变量:" << endl;
	cin >> flag;
	cout << flag << endl;

	system("pause");
	return EXIT_SUCCESS;
}

4 番目に、オペレーターは次のようにします。

主に以下の演算子を紹介します。

演算子の種類 効果
算術演算子 四則演算処理用
代入演算子 式の値を変数に代入するために使用されます。
比較演算子 式を比較し、true または false の値を返すために使用されます。
論理演算子 式の値に基づいて true または false を返すために使用されます。

1. 算術演算子:

機能: 4 つの操作を処理するために使用されます

オペレーター 用語 結果
+ 正号 +3 3
- ネガティブ -3 -3
+ 追加 10+5 15
- 減らす 10 - 5 5
* 取った 10*5 50
/ 削除 10/5 2
% モジュロ (剰余) 10%3 1
++ 事前インクリメント a=2; b=++a; a=3; b=3;
++ ポストインクリメント a=2; b=a++; a=3; b=2;
-- プリデクリメント a=2; b=--a; a=1; b=1;
-- ポストデクリメント a=2; b=a--; a=1; b=2;

1. \ はエスケープ記号、/ は除算です

2. a の値は、計算前か計算後かによって変わります。

加算、減算、乗算、除算:

int main()
{

	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 / b1 << endl;  //两个整数相除结果依然是整数

	int a2 = 10;
	int b2 = 20;
	cout << a2 / b2 << endl;

	int a3 = 10;
	int b3 = 0;
	//cout << a3 / b3 << endl; //报错,除数不可以为0


	//两个小数可以相除
	double d1 = 0.5;
	double d2 = 0.25;

	if (typeid(d1/d2) == typeid(double))
	{
		cout << "是浮点类型" << endl;
	}
	else if (typeid(d1 / d2) == typeid(int)) {
		cout << "是整数类型" << endl;
	}
	cout <<  d1 / d2 << endl; //还是浮点类型

	system("pause");
	return 0;
}

取模:

1. モジュロ演算を実行できるのは整数のみです

2. モジュロ演算では、0 による除数もサポートされていません。

//取模
int main() {

	int a1 = 10;
	int b1 = 3;

	cout << 10 % 3 << endl;

	int a2 = 10;
	int b2 = 20;

	cout << a2 % b2 << endl;

	int a3 = 10;
	int b3 = 0;

	//cout << a3 % b3 << endl; //取模运算时,除数也不能为0

	//两个小数不可以取模
	double d1 = 3.14;
	double d2 = 1.1;

	//cout << d1 % d2 << endl;

	system("pause");

	return 0;
}

2. 代入演算子:

役割:式の値を変数に割り当てるために使用されます。

オペレーター 用語 結果
= 割り当て a=2; b=3; a=2; b=3;
+= に等しいものを追加します a=0; a+=2; a=2;
-= マイナスに等しい a=5; a-=3; a=2;
*= に等しい乗算 a=2; a*=2; a=4;
/= 等しい除算 a=4; a/=2; a=2;
%= モジュラスは次と等しい a=3; a%2; a=1;

3. 比較演算子

機能:式の比較に使用され、true 値または false 値を返します。

戻り値は true または false、つまり 0 または 1 です。

オペレーター 用語 結果
== に等しい 4 == 3 0
!= 等しくない 4 != 3 1
< 未満 4 < 3 0
> 以上 4 > 3 1
<= 以下 4 <= 3 0
>= 以上 4 >= 1 1

4 つの論理演算子

関数:式の値に応じて true 値または false 値を返すために使用されます。

C++ では、すべての数値は true ですが、0 は false です

オペレーター 用語 結果
いいえ !a a が false の場合、!a は true、a が true の場合、!a は false です。
&& a&&b a と b の両方が true の場合、結果は true になり、それ以外の場合は false になります。
|| また || b a または b のいずれかが true の場合、結果は true になり、両方が false の場合、結果は false になります。
//逻辑运算符  --- 非
int main() {

	int a = 10;

	cout << !a << endl; // 0

	cout << !!a << endl; // 1

	system("pause");

	return 0;
}

おすすめ

転載: blog.csdn.net/weixin_60414376/article/details/126819565