目次
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 種類あり、両者の違いは表現できる数値の範囲が異なることです。
-
単精度浮動小数点数
-
倍精度倍精度
データの種類 | スペースを取る | 有効な数値範囲 |
---|---|---|
浮く | 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;
}