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

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

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

독학으로 배우는 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, hapint 형으로 사용하겠다고 선언한다.

    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에서 의미 파악이 전혀 안 되는 ab라는 변수를 사용했다. 이렇게 사용한 변수 이름은 어떤 용도로 사용했는지 기억하기가 힘들다.

     

    실습 1: 변수 이름을 한꺼번에 바꾸기

    ex016.c에서 사용된 변수 이름 중에서 anum1 bnum2로 변경하고 실행해 보자.

     

    (1) 변경할 변수 이름을 마우스 오른쪽 단추로 클릭하여 바로가기 메뉴에서 [이름 바꾸기]를 선택한다.

     

    (2) 이름 바꾸기 대화상자에서

    변경할 새로운 이름을 입력하고

    [미리보기] 버튼을 클릭한다.

     

    (3) 변경 내용 미리 보기대화상자에서 아래쪽 창의 코드 변경 내용 미리 보기를 확인하고 이상이 없으면 [적용]버튼을 클릭한다.

     

    (4) 다음과 같이 변수 a의 이름이 모두 변경된 것을 확인할 수 있다.

    (5) 같은 방법으로 변수 bnum2로 변경한다.

    (6) 변경이 완료되었으면 다시 한번 컴파일한다.

    반응형

    댓글