독학으로 배우는 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: % 연산자는 나머지를 구하는 연산자이다. num1을 num2로 나누어 나머지 값만 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 는 상수 6을 num1과 num2에 저장한다.
▣ 혼자 해보기
요구사항 : 반드시 변수를 선언하고 상숫값을 변수에 대입하는 방법을 사용해야 한다.
(1) 30, 20, 10을 변수에 저장하여 (30+20)/10을 구하는 프로그램을 작성해 보자
(2) 200, 16, 24를 변수에 저장하여 200/16과 200/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: %8d는 8칸을 확보하고 자료를, 오른쪽을 기준으로 인쇄하고 남은 자리는 공백으로 채운다.
11: %-10d는 10자리를 확보하고 왼쪽을 기준으로 인쇄하고 남은 자리는 공백으로 채운다.
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;
}
'C 프로그래밍' 카테고리의 다른 글
독학으로 배우는 C언어 011 자료형과 연산 5 (0) | 2024.06.20 |
---|---|
독학으로 배우는 C언어 010 자료형과 연산 4 (0) | 2024.06.16 |
독학으로 배우는 C언어 008 자료형과 연산 2 (2) | 2024.06.10 |
독학으로 배우는 C언어 007 자료형과 연산 1 (4) | 2024.06.08 |
독학으로 배우는 C언어 006 변수와 상수 (0) | 2024.06.06 |
댓글