본문 바로가기

프로그래밍/C언어

변수 선언하기와 서식문자.

오늘은 좀 일이 있어서 길게 못적겠군요 ㅠㅠ



제목과 같이 변수에 대해서 알아보도록 할게요~



변수는 쉽게 말해서 하는 입니다.


프로그래밍을 하는데 있어 변수는 아주 중요한 역할을 해요


값을 입력 받는다던지

계산 결과를 저장한다던지 등등!


그럼 이 변수는 어떻게 선언할까요?



#include <stdio.h>

int main(void)

{

        int a,b;

        int result;

        a=10;

        b=20;

        result=a+b;

        printf("%d + %d = %d\n",a,b,a+b);

        printf("%d + %d = %d\n",a,b,result);

        return 0;


위의 예제를 실행 해 보겠습니다~



자! 저 코드를 실행 해 보면 이런 결과가 발생합니다

코드를 분석 해 보겠습니다~

int a,b;

int는 4바이트 그러니까 2의 32승개의 정수를 선언할 때 사용하는 문구입니다.

[-(2의31승-1) ~ +2의31승]범위 내의 정수를 저장할 수 있습니다


그리고 한줄에 여러개의 변수를 동시에 선언할 수 있어요~ 위 문장은 a와 b라는 변수를 선언한다는 의미입니다.(이 때 변수는 반점으로 구분합니다. 그리고 줄의 마무리 세미콜론!)


int result;

다음과 같이 한 단어로 이름을 줄 수도 있습니다.

주의할 점은 변수 이름 시작은 언더바나(_) 알파벳이어야 하고, 숫자도 사용가능합니다. 하지만 한글이름은 줄 수 없어요 ㅠㅠ


a=10;

b=20;

=은 대입 연산자로 오른쪽의 숫자를 왼쪽에 대입하는 역할을 합니다

오른쪽의 10을 a로 대입하고 오른쪽의 20을 b에 대입한다는 뜻이겠죠??


아 그리고 변수를 선언하면서 바로 대입해 줄 수도 있습니다.

그렇게 쓰고 싶으시면

int a=10; 처럼 선언 해 주시면 되요.


result=a+b;

=은 오른쪽의 값을 왼쪽에 대입 해 주는거라고 했죠??

해석해 보면 a와 b를 더한값 30을 result에 대입한다는 뜻이겠죠?


1 : printf("%d + %d = %d\n",a,b,a+b);

2 : printf("%d + %d = %d\n",a,b,result);


%d같은것을 서식문자라고 합니다.

%d는 있는 그대로 출력하라는 뜻이 아니구요

오른쪽에 있는 변수나 상수 등등 들을 차례대로 인자를 전달해 출력하는 뜻입니다.

1번과 2번의 음영처리된 것을 보면 1번처럼 연산기호로 우선 연산한뒤에 인자를 전달하여 출력해도 됩니다 ㅎㅎ

최적화를 원한다면 따로 result 변수를 만들어 메모리 용량 차지 하는것 보다 낫겠죠?? 


다음은 서식문자 종류에 대해 써볼게요

%d는 10진수 정수형으로 출력하라는 의미이구요

다른것들은 표로 ㅋ


%c 

단일 문자 

%d 

부호가 있는 10진수 정수

%i 

%d와 같다 

%f 

부호 가 있는 10진수 실수(소수) 

%s 

단어,문장 문자열 

%o 

부호 없는 8진수 정수

%u 

부호 없는 10진수 정수

 %x

부호 없는 16진수 정수, 소문자로 표현 

%X 

부호 없는 16진수 정수, 대문자로 표현 

%e 

e 표기법에 의한 실수(계산기에서 숫자가 커지면 e로 표기하죠?) 

%E 

E 표기법에 의한 실수 

%g 

값에 따라서 %f,%e중 자동 선택 

%G 

값에 따라서 %f, %E중 자동 선택 

%% 

%를 출력 

웬만하면 외워두시길 권장합니다~

며칠 글을 안써서 죄송합니다 ㅠㅠ


새해 복 많이 받으세요!~












'프로그래밍 > C언어' 카테고리의 다른 글

입력! scanf에 대해  (0) 2013.01.12
변수와 입력함수  (0) 2013.01.07
C언어 코드의 기본 구조와 문자열 출력  (0) 2012.12.30
비주얼 스튜디오2010 사용법  (0) 2012.12.30
C언어란?  (0) 2012.12.29