C Language

C언어 변수에 대해 학습하기

567Rabbit 2024. 6. 11. 20:50

변수란 ? 

 

- 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간이다.

- 실행 도중에 값을 변경할 수 있다.

 

 

변수는 왜 필요한가?

 

- 데이터가 입력되면 어딘가에 저장해야만 다음에 사용할 수 있다.

 

int main(void)
{
	int x;   //int 자리는 자료형, x 자리는 변수 이름이다.
        int y;
        int sum, diff, mul, div;
        
        x = 20;
        y = 10;
        
        sum = x + y;
        diff = x - y;
        mul = x * y;
        div = x / y;
        
        // 수식에서 % 기호는 나머지이다

	printf("두 수의 합: %d\n", sum);
        printf("두 수의 차: %d\n", diff);
        printf("두 수의 곱: %d\n", mul);
        printf("두 수의 몫: %d\n", div);
        
}

 

 

 

변수의 종류(data type) = 자료형  ( 보통 4바이트 )

 

- 정수형 ( short, int, long, long long ) 2, 4, 8, 8 byte 

- 실수형 ( float, double, long double ) 4, 8, 8 byte

- 문자형 ( char ) 1 byte

 

바이트(byte)* 8 = 비트(bit) 가 된다.

 

(정수형 long은 21억을 넘기면 안된다. 그러므로 길어질 것 같다면 long long을 써야 한다.)

 

 

 

 

상수란?

- 그 값이 프로그램이 실행하는 동안 변하지 않는 수

- 한번 값이 정해지면 변경이 불가능하다.

 

 

 

 

변수의 이름 규칙 ( = 식별자)

 

- 식별자는 영어의 대소문자, 숫자, 밑줄 문자 _로 이루어진다.

- 식별자는 숫자로 시작할 수 없다

- 대문자와 소문자를 구별하며 C 언어의 키워드와 똑같은 이름은 허용되지 않는다

 

 

 

 

 

키워드(변수의 이름으로 쓸 수 없는 것)

: C언어에서 고유한 의미를 가지고 있는 특별한 단어로 예약어(reserved words)라고도 한다.

 

- auto break case char const continue default do

- double else enum extern float for goto if

- int long register return short signed sizeof static

- struct switch typedef union unsigned void volatile while

 

 

 

 

<가능한 변수 이름>

sum

_count

number_of_pictures

King3

 

 

 

<불가능한 변수 이름>

2nd_base

money#

double

 

 

 

 

 수식(expression)

: 피연산자와 연산자로 구성된 식

ex)

int x, y;

x = 3;

y = x * x - 5 * x + 6

printf("%d\n", y);

 

 

 

 

 

대입 연산

ex)

x = 100;

y = 50;

 

 

 

 

 

printf("Hello World!");

- 출력을 담당하며 큰 따옴표 안의 문자열이 화면에 출력된다.

- 모니터에 출력을 하기 위한 표준 출력 라이브러리 함수

- print f(formatting) : 숫자(정수, 실수), 문자열 등을 다 표현할 수 있는 섬세한 print 함수를 말한다.

 

 

 

 

 

scanf("형식지정자", 공간의 주소);

- 표준 입력 라이브러리 함수이다.

 

 

#include <stdio.h>

int main(void)
{
	int x;
        int y;
        int sum;
        
        printf("첫번째 숫자를 입력하시오");
        scanf("%d", &x);
        
        printf("두번째 숫자를 입력하시오");
        scanf("%d", &y);
        
        sum = x + y
        printf("두 수의 합: %d", sum);
        
        return 0;
}

 

 

 

 

 

형식 지정자

 

: printf()에서 값을 출력하는 형식을 지정한다.

 

%s  : String (문자열)                        ex) Hello

%d : decimal (숫자)                          ex) 10

%c : character (문자)                        ex) a

%f : floating-point number (실수)      ex) 3.14

 

 

%d는 순서대로 배치된다. printf("%d  %f " , number , grade) 라면,

%d가 number, %f가 grade으로 할당되는 것이다.

 

 

 

 

 

데이터 타입의 전환

 

int krw;

double rate;

double usd;

 

usd = krw / rage;

 

int / double -> double로 확장된다.