독학으로 배우는 C언어 008 자료형과 연산 2
Contents
1. 식과 연산자
연산자를 사용하여 변수와 상수를 연산의 대상인 오퍼랜드(operand)로 하여 연산을 할 수 있다.
실습 1: 상수의 연산
다음의 프로그램을 작성하여 ex012.c 저장하고 실행해 보자.
#include <stdio.h>
int main(void)
{
printf("5 + 4 = %d \n", 5 + 4);
printf("9 - 4 = %d \n", 10 - 6);
printf("4 × 6 = %d \n", 4 * 6);
printf("9 ÷ 3 = %d \n", 9 / 3);
return 0;
}
◉ 설명 : 행 설명
코딩에서 × 와 ÷는 키보드에 없는 특수문자이므로 *와 /로 입력한다.
C언어에서 사용되는 산술연산자
산술연산자 | 설명 | 예시 | 결과 |
+ | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한다. | 8+3 | 11 |
- | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀다. | 8-3 | 5 |
* | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한다. | 8*3 | 24 |
/ | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈다. | 8/3 | 2 |
% | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후 그 나머지를 반환한다. | 8%3 | 2 |
실습 2: 변수 사용 연산
다음의 프로그램을 작성하여 ex013.c 저장하고 실행해 보자.
#include<stdio.h>
main()
{
int num1, num2, hap;
num1 = 100;
num2 = 200;
hap = num1 + num2;
printf("%d + %d = %d \n", num1, num2, hap);
}
◉ 설명 : 행 설명
4: num1, num2, hap을 int 형으로 사용하겠다고 선언한다.
7: num1 변수가 기억하고 있는 100이라는 값과 num2 가 기억하고 있는 200이라는 값을 변수 hap에 저장한다.
8: "%d + %d = %d \n"가 그냥 출력되는 것이 아니고 %는 형식 표시자로 , 뒤에 있는 상수 또는 변수가 양식 문자에 대치된다.
첫 번째 %d 에는 100 이 대치되고 두 번째 %d 에는 200이 대치되고 세 번째 %d 에는 300 이 대치된다 이와 같이 형식 표시자 개수와 대치되는 인자의 개수가 같아야 한다.
실습 3: 초깃값이 있는 변수 선언
다음의 프로그램을 작성하여 ex014.c 저장하고 실행해 보자.
#include <stdio.h>
int main(void)
{
int num1 = 100;
int num2 = 200;
int hap = num1 + num2;
printf("num1 변수의 값은 %d \n", num1);
printf("num2 변수의 값은 %d \n", num2);
printf("num1 + num2 의 값은 %d \n", hap);
num1 = num1 + 1;
printf("num1 변수의 값에 1을 더하면 %d \n", num1);
return 0;
}
◉ 설명 : 행 설명
4: 5: 행은 변수에 초깃값을 넣고 int 형으로 선언했다.
10: 연산의 대상은 변수와 변수 상수와 상수는 물론이고 변수와 상수도 연산의 대상이 될 수 있다.
실습 4: 오버플로우
다음의 프로그램을 작성하여 ex015.c 저장하고 실행해 보자.
#include<stdio.h>
int main(void)
{
short i = 32768;
printf("%d %d %d \n", i, i + 1, i + 2);
return 0;
}
◉ 설명 : 행 설명
변수가 가질 수 있는 최댓값을 초과한 값에 어떤 수를 더하면 어떤 결과를 가져오는지 확인해 보자
short 형 표현할 수 있는 범위를 다시 한번 확인해 보자
-32768~32767
정수 i 는 자동차의 주행계와 같은 작용을 한다. 최댓값을 초과하면 시작점에서 다시 시작한다. 주행계는 0부터 시작하지만 short 형은 -32768 에서 시작하는 것이다. 이때 i 가 최댓값을 넘는 것이 오버플로우고 오버플로우가 된 결과를 C언어 컴파일러는 알려주지 않아서 주의해야 한다.
실습 5: 변수 활용 연산
다음의 프로그램을 작성하여 ex016.c 저장하고 실행해 보자.
#include<stdio.h>
int main(void)
{
short a, b, plus, minus, mult, divi;
a = 20;
b = 4;
plus = a + b;
minus = a - b;
mult = a * b;
divi = a / b;
printf("%d + %d = %d\n", a, b, plus);
printf("%d - %d = %d\n", a, b, minus);
printf("%d * %d = %d\n", a, b, mult);
printf("%d / %d = %d\n", a, b, divi);
return 0;
}
◉ 설명 : 행 설명
ex016.c 에서는 최대한 변수를 활용해서 코딩했다.
4: 사용할 변수에 어떠한 값이 들어갈 것 인가를 판단하여 자료형을 선언 해준다.
-32768에서 32767 사이의 수를 사용할 것이기 때문에 short 형을 사용한다.
여러 개의 변수를 하나의 자료형으로 선언할때는 , 로 구분하여 선언한다.
2. 변수 이름의 일괄 변경
코딩을 하다보면 변수 이름을 바꾸어야 하는 경우가 생긴다.
변수 이름을 만들 때는 의미 있는 이름을 사용하는 것이 좋다고 했는데 의미가 유사해서 착오가 생길 수 있는 경우도 있다. 이때는 이름을 바꾸어야 하는데 긴 프로그램의 경우에는 하나하나 바꾸는 것은 엄청난 수고가 될 수 있다.
실습 예제파일인 ex016.c에서 의미 파악이 전혀 안 되는 a와 b라는 변수를 사용했다. 이렇게 사용한 변수 이름은 어떤 용도로 사용했는지 기억하기가 힘들다.
실습 1: 변수 이름을 한꺼번에 바꾸기
ex016.c에서 사용된 변수 이름 중에서 a를 num1 로 b를 num2로 변경하고 실행해 보자.
(1) 변경할 변수 이름을 마우스 오른쪽 단추로 클릭하여 바로가기 메뉴에서 [이름 바꾸기]를 선택한다.
(2) 이름 바꾸기 대화상자에서
① 변경할 새로운 이름을 입력하고
② [미리보기] 버튼을 클릭한다.
(3) 변경 내용 ‘미리 보기’ 대화상자에서 아래쪽 창의 코드 변경 내용 ‘미리 보기’를 확인하고 이상이 없으면 [적용]버튼을 클릭한다.
(4) 다음과 같이 변수 a의 이름이 모두 변경된 것을 확인할 수 있다.
(5) 같은 방법으로 변수 b를 num2로 변경한다.
(6) 변경이 완료되었으면 다시 한번 컴파일한다.
'C 프로그래밍' 카테고리의 다른 글
독학으로 배우는 C언어 010 자료형과 연산 4 (0) | 2024.06.16 |
---|---|
독학으로 배우는 C언어 009 자료형과 연산 3 (0) | 2024.06.12 |
독학으로 배우는 C언어 007 자료형과 연산 1 (4) | 2024.06.08 |
독학으로 배우는 C언어 006 변수와 상수 (0) | 2024.06.06 |
독학으로 배우는 C언어 005 형식 지정자 사용 (0) | 2024.06.04 |
댓글