본문 바로가기

Study_C, C++/홍정모의 따라하며 배우는 C언어

[홍정모의 따라하며 배우는 C언어] 5.3 더하기, 빼기, 부호 연산자들 ~ 5.5 나누기 연산자

728x90

5.3 더하기, 빼기, 부호 연산자들

 

#include <stdio.h>

int main()
{
	int income, salary, bonus;

	income = salary = bonus = 100;	// triple assignment. bonus에 100 대입 -> 그 값을 salary에 대입 
    					// -> 그 값을 income에 대입

	salary = 100; bonus = 30;

	income = salary + bonus;		

	int a, b;
	a = -7;		// - operator
	b = -a;
	b = +a;		// + operator는 아무 기능도 하지 않음

	1.0f + 2;	// 자료형이 다른 변수끼리 계산시 표현 범위가 더 큰 자료형으로 결과값이 저장됨
	
	return 0;
}

 

  • 이항 연산자(binary operator) : 피연산자 2개 ex) 3 - 2
  • 단항 연산자 (Unary operator) : 피연산자 하나 ex) -16
  • 복합 ex) -(12 - 11)

 

5.4 곱하기 연산자

 

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

// 복리 계산 프로그램
int main()
{
	double seed_money, target_money, annual_interest;

	printf("Input seed money : ");
	scanf("%lf", &seed_money);

	printf("Input target money : ");
	scanf("%lf", &target_money);

	printf("Input annual interest (%%) : ");		// % 기호를 출력하기 위해 %% 두개 작성
	scanf("%lf", &annual_interest);

	double fund = seed_money;
	int year_count = 0;

	while (fund < target_money)
	{
		// fund = fund + fund * annual_interest / 100.0;
		fund += fund * annual_interest / 100.0;
		
		// year_count = year_count + 1;
		//year_count += 1;
		year_count++;

		printf("Year %d : %f\n", year_count, fund);
	}

	printf("It takes %d years\n", year_count);

	return 0;
}

 

Output : 
Input seed money : (1000 입력)
Input target money : (3000 입력)
Input annual interest (%) : (15 입력)
Year 1 : 1150.000000
Year 2 : 1322.500000
Year 3 : 1520.875000
Year 4 : 1749.006250
Year 5 : 2011.357187
Year 6 : 2313.060766
Year 7 : 2660.019880
Year 8 : 3059.022863
It takes 8 years

 

5.5 나누기 연산자

 

#include <stdio.h>

int main()
{
	printf("Integer divisions\n");
	printf("%d\n", 14 / 7);
	printf("%d\n", 7 / 2);		// 3.5 in floating division -> 정수 / 정수 이므로 결과값도 정수가 나옴 
	printf("%d\n", 7 / 3);		// 2.333 in floating division
	printf("%d\n", 7 / 4);		// 1.75 in floating division
	printf("%d\n", 8 / 4);		// 2

	printf("Truncating toward zero (C99)\n");
	printf("%d\n", -7 / 2);		// 3.5 in floating divison
	printf("%d\n", -7 / 3);		// -2.333 in floating division
	printf("%d\n", -7 / 4);		// -1.75 in floating divison
	printf("%d\n", -8 / 4);		// -2

	printf("\nFloating divisons\n");
	printf("%f\n", 9.0 / 4.0);
	printf("%f\n", 9.0 / 4);	// Note : 4 is integer. 
	// 위 계산 실행시 (자료형이 다른 두 숫자를 연산시) 컴파일러가 4를 double로 바꿔주고 계산을 함

	return 0;
}
  • 정수끼리 연산시 실수 부분을 담을 메모리 공간이 없기 때문에 소수점 이하 부분을 절삭(truncate)을 해버림
Output :
Integer divisions
2
3
2
1
2
Truncating toward zero (C99)
-3
-2
-1
-2

Floating divisons
2.250000
2.250000

 

 

 


강의 출처 : https://www.inflearn.com/course/following-c/dashboard

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com