카테고리 없음

03 - 27 C++ 보충 2챕터

pp4037 2026. 3. 28. 00:35
// Main.c
//챕터 2 - 1 : 연산자와 피연산자, 산술 연산자, 복합 대입 연산자, 값 식 문
#include <stdio.h>

int main(void)
{
	int A = 10;
	int B = 5;
	int C = 2;

	printf("%d\n", A + B); // 15
	printf("%d\n", A - C); // 8
	printf("%d\n", A * B); // 50
	printf("%d\n", A + B + C); // (A + B) + C
	printf("%d\n", A + B * C); // A + (B * C)
	printf("%d\n", A * B / C); // (A * B) / C
	printf("%d\n", A *= 3); // A = A * 3
	printf("%d\n", A /= 3); // A = A / 3

	return 0;
}

// 값(Value)은 리터럴, 식(Expression)은 피연산자와 연산자로 이루어져서 값으로 귀결되는 것들. 문(Statement)은 컴퓨터가 수행할 명령어

 

// Main.c
// 전치/후치 증감 연산자

#include <stdio.h>

int main(void)
{
	int Num = 5;

	printf("%d", ++Num); // 지금 당장 Num의 값이 1 증가한다.
	printf("%d", Num++); // 다음 줄에 Num의 값이 1 증가한다. 12번째 줄에 +1이 된다.
	printf("%d", Num--); // 다음 줄에 Num의 값이 1 감소한다. 13번째 줄에 -1이 된다.

	return 0;
}

 

// Main.c
// 논리연산자, 비교연산자

#include <stdio.h>

int main(void)
{
	//C언어에서는 오직 0만 거짓(false)으로 분류된다.
	printf("%d", 3 && 0);  // 1 && 0 == 1 * 0, A와 B가 전부 true면 연산결과가 true, 현재 값은 false
	printf("%d", -2 && 1); // 1 && 1 == 1 * 1, A와 B가 전부 true면 연산결과가 true, 현재 값은 true

	int A = 5;
	printf("%d", 3 < A && A < 10); // A가 3보다 클 때와 A가 10 보다 작을 때의 경우를 연산한 것. 3 < A && A < 10 == 1 * 1, 현재 값은 true
	printf("%d", 3 < A && A < 5); // A가 3보다 클 때와 A가 5 보다 작을 때의 경우를 연산한 것. 3 < A && A < 5 == 1 * 0, 현재 값은 false
	printf("%d", -7 || 1); // 1 || 1 == 1 + 1, A와 B 중에 하나라도 true면 연산결과가 true, 현재 값은 true
	printf("%d", 0 || 0); // 0 || 0 == 0 + 0, A와 B 중에 하나라도 true면 연산결과가 true, 현재 값은 false
	printf("%d", 0 || 1);  // 0 || 1 == 0 + 1, A와 B 중에 하나라도 true면 연산결과가 true, 현재 값은 true

	int B = 3;
	printf("%d", 0 == B || B == 3);  // B가 0과 같거나 3과 같을 때의 경우를 연산한 것, 0 == B || 1 == B == 3, A와 B 중에 하나라도 true면 연산결과가 true, 현재 값은 true
	printf("%d", 5 != 1); // 5와 1의 값이 다른 경우인지 확인하고 참이었기에 현재 값은 true
	printf("%d", 1 != 1); // 1과 1의 값이 다른 경우인지 확인하고 거짓이었기에 현재 값은 false

	int C = 6;
	int D = 6;
	int E = 7;
	printf("%d", C != E); // C와 E의 값이 다른 경우인지 확인하고 참이었기에 현재 값은 true
	printf("%d", C != D); // C과 D의 값이 다른 경우인지 확인하고 거짓이었기에 현재 값은 false

	printf("%d", 5 == 1); // 5와 1의 값이 같은 경우인지 확인하고 거짓이었기에 현재 값은 false
	printf("%d", 1 != 1); // 1과 1의 값이 같은 경우인지 확인하고 참이었기에 현재 값은 ture

	// 그리고 -> &&
	// 이거나 -> ||
	// 다르다 -> !=
	// 같다 -> ==

	return 0;
}

 

// Main.c
// 형변환 연산자
#include <stdio.h>

int main(void)
{
	int Num;

	printf("%.2f\n", 5 / 2);
	printf("%.2f\n", 5 / (float)2);

	Num = (int)5.0 / 2;
	printf("%d\n", Num);

	//예제

	int A = 9;

	printf("%.2f\n", A / (float)2); // 형이 변환되었기에 int 타입이었어도 소수점자리 까지 표시된다.
	printf("%.2f\n", (float)A / 2); // 연산자 내에 어느 항목에 기입해도 적용된다.

	return 0;
}

 

// Main.c

#include <stdio.h>
//형변환 연산자, 삼항 연산자
int main(void)
{
	int Num;

	printf("%.2f\n", 5 / 2);
	printf("%.2f\n", 5 / (float)2);

	Num = (int)5.0 / 2;
	printf("%d\n", Num);

	//예제

	int A = 9;

	printf("%.2f\n", A / (float)2); // 형이 변환되었기에 int 타입이었어도 소수점자리 까지 표시된다.
	printf("%.2f\n", (float)A / 2); // 연산자 내에 어느 항목에 기입해도 적용된다.

	// 삼항 연산자의 구조 : 조건식 ? 전방값 : 후방값
	// 조건식을 보고 참일 경우 전방값을 출력하고, 거짓일 경우 후방값을 출력한다.
	printf("%d\n", 4 < 5 ? 2 : 9); // 4는 5 보다 작기에 참, 전방값인 2가 나온다.
	printf("%d\n", 9 < 2 ? 2 : 9); // 9는 2보다 크기에 거짓, 후방값인 9가 나온다.

	return 0;
}