목차
1. 상수:
1. 매크로 상수:
#define 매크로 상수: #define 常量名 常量值
-
일반적으로 상수를 나타내기 위해 파일 위에 정의됩니다.
-
매크로 상수는 배열 정의에 배치할 수 있습니다.
-
매크로 상수도 수정할 수 없습니다.
-
끝에 세미콜론 없이 정의
2. 상수 상수:
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. 정수:
다른 유형의 정수는 다른 공간을 차지합니다.
데이터 유형 | 공간을 차지하다 | 범위 |
---|---|---|
짧은(짧은 정수) | 2바이트 | (-2^15 ~ 2^15-1) |
정수(정수) | 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. 부동 소수점 및 과학 표기법:
소수점을 나타내는 데 사용되는 부동 소수점 변수에는 두 가지 유형이 있으며 두 유형의 차이점은 표현되는 숫자의 범위가 다르다는 것입니다.
-
단정밀도 플로트
-
배정도 배정도
데이터 유형 | 공간을 차지하다 | 유효한 숫자 범위 |
---|---|---|
뜨다 | 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: 작은따옴표에는 문자열이 아닌 하나의 문자만 있을 수 있습니다.
-
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. 부울 유형 부울
역할: 부울 데이터 유형은 참 또는 거짓 값을 나타내며, 부울 유형에는 두 가지 값만 있습니다: 1바이트
-
true --- true(본질적으로 1)
-
거짓 --- 거짓(본질적으로 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. 데이터 입력:
Keyword: 씬
문법: 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개의 산술 연산을 처리하기 위해 |
할당 연산자 | 식의 값을 변수에 할당하는 데 사용 |
비교 연산자 | 표현식을 비교하고 참 또는 거짓 값을 반환하는 데 사용 |
논리 연산자 | 표현식의 값에 따라 참 또는 거짓을 반환하는 데 사용됩니다. |
1. 산술 연산자:
기능 : 4가지 연산 처리에 사용
운영자 | 용어 | 예 | 결과 |
---|---|---|---|
+ | 정호 | +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, 즉 0 또는 1입니다.
운영자 | 용어 | 예 | 결과 |
---|---|---|---|
== | 동일 | 4 == 3 | 0 |
!= | 같지 않다 | 4!= 3 | 1 |
< | 미만 | 4 < 3 | 0 |
> | 보다 더 | 4 > 3 | 1 |
<= | 이하 | 4 <= 3 | 0 |
>= | 크거나 같음 | 4 >= 1 | 1 |
4개의 논리 연산자
기능 : 식의 값에 따라 참값 또는 거짓값을 반환하는데 사용
C++에서 모든 숫자는 거짓인 0을 제외하고 모두 참입니다.
운영자 | 용어 | 예 | 결과 |
---|---|---|---|
! | 아니요 | !ㅏ | a가 거짓이면 !a는 참이고 a가 참이면 !a는 거짓입니다. |
&& | 그리고 | a && b | 결과는 a와 b가 모두 참이면 참이고 그렇지 않으면 거짓입니다. |
|| | 또는 | || 비 | a 또는 b 중 하나가 참이면 결과는 참이고 둘 다 거짓이면 결과는 거짓입니다. |
//逻辑运算符 --- 非
int main() {
int a = 10;
cout << !a << endl; // 0
cout << !!a << endl; // 1
system("pause");
return 0;
}