C++ 학습 노트(1) --- 상수, 데이터 유형, 연산자

목차

1. 상수:

1. 매크로 상수:

2. 상수 상수:

 2. 식별자 명명 규칙:

3. 데이터 유형:

1. 정수:

2. sizeof 및 typeid 키워드:

 3. 부동 소수점 유형:

4. 문자 유형:

5. 이스케이프 문자:

6. 문자열 유형:

7. 부울 유형 부울

8. 데이터 입력:

넷째, 연산자:

1. 산술 연산자:

2. 할당 연산자:

3. 비교 연산자

4개의 논리 연산자


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. 부동 소수점 및 과학 표기법:

소수점을 나타내는 데 사용되는 부동 소수점 변수에는 두 가지 유형이 있으며 두 유형의 차이점은 표현되는 숫자의 범위가 다르다는 것입니다.

  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: 작은따옴표에는 문자열이 아닌 하나의 문자만 있을 수 있습니다.

  • 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;
}

추천

출처blog.csdn.net/weixin_60414376/article/details/126819565