본문 바로가기
C 프로그래밍

독학으로 배우는 C언어 009 자료형과 연산 3

by 솔토지빈 2024. 6. 12.
반응형

독학으로 배우는 C언어 009 자료형과 연산 3

Contents

     

    1. 나눗셈에서 몫(quotient)과 나머지(remainder) 구하기

    나누기 연산자와 나머지를 구하는 연산자를 사용하여 나눗셈의 몫과 나머지를 구할 수 있다.

     

    실습 1: 나눗셈에서 나머지 구하기

    다음의 프로그램을 작성하여 ex017.c 저장하고 실행해 보자.

    #include<stdio.h>
    int main(void)
    {
    	short num1, num2, quot, rema;
    	num1 = 300;
    	num2 = 7;
    	quot = num1 / num2;
    	rema = num1 % num2;
    	printf("%d + %d = %d....%d\n", num1, num2, quot, rema);
    	return 0;
    }

     

    설명 : 행 설명

    7: 자료형을 정수형을 사용하였기 때문에 나누기 연산자를 사용하면 소수 이하가 버려져 정숫값 즉 몫이 구해진다.

    8: % 연산자는 나머지를 구하는 연산자이다. num1num2로 나누어 나머지 값만 rema 변수에 저장한다.

     

    만약 ex017.c를 변수없이 사용한다면 이렇게 코딩할 수 있다.

    #include<stdio.h>
    int main(void)
    {
    	printf("%d + %d = %d....%d\n", 300, 7, 300 / 7, 300 % 7);
    	return 0;
    }

     

    2. 콤마 연산자

    순차 연산자라고도 하며 왼쪽에서 오른쪽으로 차례대로 연산을 수행한다.

     

    실습 1: 콤마 연산자의 활용

    다음의 프로그램을 작성하여 ex018.c 저장하고 실행해 보자.

    #include<stdio.h>
    int main(void)
    {
    	short
    		num1,
    		num2,
    		num3,
    		num4, value;
    	num1 = 3, num2 = 4, num3 = 5, num4 = 6;
    	value = num1 * num2 + num3 * num4;
    	printf("%d * %d + %d * %d = %d\n", num1, num2, num3, num4, value);
    	return 0;
    }

     

    설명 : 행 설명

    5: 6: 7: 8: 와 같이 콤마 연산자를 사용하여 여러 행 또는 한 행에 코딩할 수 있다.

    9: 변수에 초깃값을 저장할 때도 콤마 연산자를 사용하여 한 행에 코딩할 수 있다.

     

    3. 대입 연산자의 응용

    변수에 특정한 상숫값을 대입하기 위해서 대입 연산자 ‘=’ 을 사용한다.

    대입 연산자를 사용하여 하나의 상수를 한꺼번에 여러 변수에 대입할 수 있다.

     

    실습 1: 상숫값을 여러 변수에 대입

    다음의 프로그램을 작성하여 ex019.c 저장하고 실행해 보자.

    #include<stdio.h>
    int main(void)
    {
    	short num1, num2, num3;
    	num1 = num2 = 6, num3 = 10;
    	printf("%d ^ 2 = %d\n", num1, num1 * num1);
    	printf("%d ^ 2 = %d\n", num2, num2 * num2);
    	printf("%d ^ 2 = %d\n", num3, num3 * num3);
    	return 0;
    }

     

    설명 : 행 설명

    5: num1 = num2 = 6 는 상수 6num1num2에 저장한다.

     

    ▣  혼자 해보기

    요구사항 : 반드시 변수를 선언하고 상숫값을 변수에 대입하는 방법을 사용해야 한다.  

     

    (1) 30, 20, 10을 변수에 저장하여 (30+20)/10을 구하는 프로그램을 작성해 보자

     

    (2) 200, 16, 24를 변수에 저장하여 200/16200/24의 몫과 나머지를 구하는 프로그램을 작성해 보자.

     

    4. 형식 지정자의 응용

    자료를 출력할 때 지정한 공간만큼을 확보하여 출력시킬 수 있다.

     

    실습 1: 정해진 위치에 출력 1

    다음의 프로그램을 작성하여 ex20.c 저장하고 실행해 보자.

    #include<stdio.h>
    int main(void)
    {
    	short num1, num2, hap, avg;
    	num1 = 1000;
    	num2 = 1000;
    	hap = num1 + num2;
    	avg = hap / 2;
    	printf(" 수1 = %d \n", num1);
    	printf(" 수2 = %8d \n", num2);
    	printf("합계 = %-10d", hap);
    	printf("평균 = %2d \n", avg);
    	return 0;
    }

     

    설명 : 행 설명

    10: %8d8칸을 확보하고 자료를, 오른쪽을 기준으로 인쇄하고 남은 자리는 공백으로 채운다.

    11: %-10d10자리를 확보하고 왼쪽을 기준으로 인쇄하고 남은 자리는 공백으로 채운다.

    12: 만약 지정된 칸수보다 많은 수를 인쇄할 때는 지정된 자릿수는 무시되고 원래의 크기대로 출력된다.

     

    실습 2: 정해진 위치에 출력 2

    다음의 프로그램을 작성하여 ex21.c 저장하여 실행하고 결과를 분석해 보자

    #include<stdio.h>
    int main(void)
    {
    	int num1 = 50, num2 = 10;
    	int plus, minus, mult, divi;
    	plus = num1 + num2;
    	minus = num1 - num2;
    	mult = num1 * num2;
    	divi = num1 / num2;
    	printf("----------------------------------\n");
    	printf(" 덧셈    뺄셈    곱셈   나눗셈\n");
    	printf("----------------------------------\n");
    	printf("%4d%8d%8d%9d\n", plus, minus, mult, divi);
    	return 0;
    }
    반응형

    댓글