출력 함수


C언어 제공하는 입출력 함수에 대해 알아보겠다.

콘솔화면에 출력에 대한 함수는 printf이며 입력에 대한 함수는 scanf 이다.

콘솔화면은 윈도우 프로그램 실행 창에 cmd라고 쳤을 때 나오는 command 창이다.

각 함수에 대한 사용법에 대해 알아보자


printf 사용법


printf를 사용하여 사용자 문자열, 변수 값 출력, 개행처리등 다양한 방법이 가능하다.

예제와 함께 설명해보도록 하겠다.

printf("문자열 출력");
printf("문자열 출력2");


위에 실행 결과는 "문자열 출력문자열 출력2"가 출력 된다.
여기서 개행을 넣어서 보기 좋게 예제를 만들어 보도록 하겠다.

printf("문자열 출력\n");
printf("문자열 출력2\n");


위의 함수를 실행해보면 한줄씩 띄어서 출력 되는 것을 확인 할 수 있다. 
\n은 개행을 표시하는 특수 문자이다.

printf에서 변수를 출력 하기 위해서 퍼센트(%d)를 사용하는데 이런 문자를 두고 서식 문자(conversion specifier)라 한다.
아래 예제를 보고 변수 출력을 하는 방법을 확인해 보자


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


위의 함수를 실행해보면 "15" 라고 출력 되는데 %d는 printf의 두 번째 인자 값으로 치환된다고 보면 된다.
설명이 부족한 것 같아 자세히 설명 하자면 printf는 다음과 같은 형식을 갖고 있다. 
printf(인자 1, 인자2, 인자 3.... ) 이렇게 인자 값을 여러개 넣을 수 있는데 첫 번째 인자 값은 문자열, 서식문자, 개행 문자등을 넣으며
첫 번째 서식 문자 <- 인자2
두 번째 서식 문자 <- 인자3 ... 식으로 치환 되어 출력 된다.



서식 문자 종류


서식 문자는 정수만 출력하는 것이 아니라 다양한 변수를 출력 할 수 있다. 

 서식 문자

 설명  

 %s

 문자열

 %c

 문자 

 %d

 부호 있는 정수 

 %u

 부호 없는 정수 

 %f

 실수 

 %0.2f

 소수점 2자리 까지 나오는 실수 

 %X

 16진수 대문자 

 %x

 16진수 소문자 

 %02X 2자리 16진수 표시, 앞자리는 0으로 채움 



#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

printf(" 문자열[%s] \n","Hello World");

printf(" 문자1개[%c] \n",'H');

printf(" 부호있는정수[%d] \n",-3);

printf(" 부호없는정수[%u] \n",3);

printf(" 실수[%f] \n",2.1234);

printf(" 실수 소수 2자리만[%0.2f] \n",2.1234);

printf(" 16진수 대문자[%X] \n",'H');

printf(" 16진수 소문자[%x] \n",'i');

printf(" 16진수 2자리만 [%02X] \n",255);

return 0;

}



반응형

'프로그램 > C' 카테고리의 다른 글

[C] 비트(bit) 단위 연산  (0) 2017.03.12
[C] 입력 함수 scanf 사용법  (0) 2017.03.10
[C] 증감 연산자  (0) 2017.03.08
[C] 연산자  (0) 2017.03.07
[C] 함수  (0) 2017.03.05

증감 연산자


변수 값을 증가 혹은 감소 시키는 연산자인 증감 연산자와 두 개의 값을 비교 할 수 있는 관계 연산자에 대해 알아보도록 하겠다.



  

증감 연산자


연산자 

설명 

 ++a 

 a에 값을 증가 후 연산 진행

 a++

 연산 한 후에 a 값을 증가 

 --a

 a에 값을 감소 후 연산 진행

 a--

 연산 진행 후 a 값을 감소


여기서 증감에 대한 이해는 a 가 10일 때 a++을 하면 11이 되는 것은 이해가 될 것이라 생각이 든다.

하지만 ++가 변수 a 앞이나 뒤에 있을 때 차이를 알기 힘들 것이다. 

다음 예제를 보면서 이해를 돕도록 하겠다.        



1 : int a = 10;

2 : printf( " a++ -> %d \n", a++ );

3 : printf( " a = %d \n", a);



편의상 main 함수 include는 제외하도록 하겠다. 실행 할수 있는 코드는 아래 따로 표시하도록 하겠다.


a++은 연산 후 a값을 증가 하는 것이다. 그렇다면 2라인의 값은 몇이 나올까?

연산 후기 때문에 printf문 실행 후 a값 증가로 바꿔 설명 하겠다.

printf문 실행할 시점에는 a는 10이다. 그렇기 때문에 10인 상태로 printf이 출력 된 후 a는 11로 바뀐다.

그래서 3라인이 실행 될 때는 이미 증감된 값인 11이 출력 된다.



1 : int a = 10;

2 : printf( " ++a -> %d \n", ++a );


++a은 a값 증가 후 연산을 하는 것이다.

2라인을 보면 연산을 printf 출력이라고 생각하고 printf문 출력 전에 a 값이 증가가 된다.

그래서 printf 출력할 시점에는 이미 a 값이 11이기 때문에 값은 11이 출력이 된다.


전체 예제를 보면서 이해하는데 도움이 되길 바란다.





#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

int a = 10;

printf( "a++ 연산 후 a 값 증가 예제\n");

printf( " a++ -> %d \n", a++ );

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

printf( "=================\n\n");

printf( "++a a 값 증가 후 연산 예제\n");

a = 10;

printf( " ++a -> %d \n", ++a );

printf( "=================\n\n");

printf( "a-- 연산 후 a 값 감소 예제\n");

a = 10;

printf( " a-- -> %d \n", a-- );

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

printf( "=================\n\n");

printf( "--a a 값 감소 후 연산 예제\n");

a = 10;

printf( " --a -> %d \n", --a );

printf( "=================\n\n");

return 0;

}


반응형

'프로그램 > C' 카테고리의 다른 글

[C] 입력 함수 scanf 사용법  (0) 2017.03.10
[C] 출력 함수 printf 사용법  (0) 2017.03.09
[C] 연산자  (0) 2017.03.07
[C] 함수  (0) 2017.03.05
[C] 주석 사용법  (0) 2016.11.23

연산자


C언어에서 제공하는 연산자는 다음과 같다.


연산자 

 설명

 =

 오른쪽 값을 왼쪽에 대입 (ex: 변수 값 할 당 value = 10 ) 

 +

 두 수의 값을 더한다. ( ex : a = 1 + 2 )

 -

 두 수의 값을 뺀다. ( ex : a = 3 - 1 )

 *

 두 수의 값을 곱한다. ( ex : a = 2 * 4 )

 /

 두 수를 나눈 후 몫의 값만 구한다. ( ex : a = 6 / 2 )

 %

 두 수를 나눈 후 나머지 값만 구한다. ( ex : a = 5 % 2 )



기타 연산


위에서 연산자의 종류와 예를 살펴 보았다.

예제를 보면 a = 1 + 2 라고 설명 되어있는데 프로그램은 언제나 왼쪽에 변수 값을 넣고 오른쪽에 계산을한다.

a의 변수 값에는 3이 들어 있다.

이와 같이 모든 연산은 위의 방식처럼 계산을 한다. 

위의 연산 말고도 프로그램에서 제공 하는 기타 연산 방법이 존재 한다.

다음 표를 살펴 보도록 하자


일반 연산 예

 가타 연산자

 a = a + b

   a += b

 a = a - b

   a -= b

 a = a * b

   a *= b

 a = a / b

   a /= b

 a = a % b

   a %= b


a = a + b를 보면 a 값에 b를 더해서 다시 그 결과를 a에 대입하는 연산식은 a += b 와 같이 간단히 표시가 가능하다.



연산 예제




지금 까지 설명 한 것을 모두 예제로 표현해 보도록 하겠다.


#include <stdio.h>

#include <stdlib.h>


int main(int argc, char *argv[]) 

{

        //=============================연산자에 대한 예제===========================

int result1 = 1 + 2;

int result2 = 2 - 1;

int result3 = 3 * 2;

int result4 = 6 / 2;

int result5 = 13 % 10;

printf( " 2 + 1 = %d \n", result1 );

printf( " 2 - 1 = %d \n", result2 );

printf( " 3 * 2 = %d \n", result3 );

printf( " 6 / 2 = %d \n", result4 );

printf( " 13 %% 10 = %d \n", result5 );

        //=============================기타 연산에 대한 예제===========================

result1 += 1;

result2 -= 1;

result3 *= 2;

result4 /= 3;

result5 %= 2;

printf( " result1 += 1 -> result1=%d \n", result1 );

printf( " result2 -= 1 -> result2=%d \n", result2 );

printf( " result3 *= 2 -> result3=%d \n", result3 );

printf( " result4 /= 3 -> result4=%d \n", result4 );

printf( " result5 %%= 2 -> result5=%d \n", result5 );

return 0;

}





반응형

'프로그램 > C' 카테고리의 다른 글

[C] 출력 함수 printf 사용법  (0) 2017.03.09
[C] 증감 연산자  (0) 2017.03.08
[C] 함수  (0) 2017.03.05
[C] 주석 사용법  (0) 2016.11.23
[C] 변수  (0) 2016.10.31

함수


C언어는 절차식 언어로 프로그램 실행의 시작 점인 main함수로 시작하여 계속 적으로 함수를 호출 하여 프로그램이 작성한다.

그렇다면 함수란 무엇인가?

함수는 입력 값과 출력 감이 존재하는 것을 가르킨다.

다음은 기본이 되는 함수를 만들어 보자


함수 구현


아래 예제는 설명 하기 위해 간단하게 만든 더하기 함수 이다.

함수 명 : sum

인자 형식 : int num1, int num2  더할 값들을 입력 값으로 받는다.

리턴(출력) 값 : int 


int sum( int num1, int num2 )

{

return num1 + num2;

}


위의 함수만 가지고 프로그램을 실행 할 수 없고 main함수가 있어야 위의 함수가 동작 하는 것을 확인 할 수 있으니 전체 프로그램은 아래 공개 하도록 하겠다.

일단 입력값은 두 개의 정수 값을 받는다. 
구현은 입력 받은 두 개의 정수를 더해서 return(출력) 한다.





함수 호출과 출력값 확인


위에 만들어진 덧샘 함수를 호출해보고 출력 값을 확인 해보도록 하겠다.


#include <stdio.h>

#include <stdlib.h>


int sum( int num1, int num2 )

{

return num1 + num2;

}


//프로그램의 시작은 언제나 main함수다

int main(int argc, char *argv[]) 

{

int result; //함수 출력 값 형식이 int라 int로 출력 값 변수를 하나 할당

result = sum( 10, 15 ); // sum 함수를 호출 할 때 두 개의 정수를 넣고 출력 값을 위에서 정의한
                                // result로 받는다.

printf("result[%d]\n", result);

return 0;

}


위의 결과 값은 25가 출력 되는 것을 확인 할 수 있다.


프로그램 시작하는 main과 함수 구현, 호출, 출력 값 받는 법에 대해 설명 드렸습니다.

반응형

'프로그램 > C' 카테고리의 다른 글

[C] 증감 연산자  (0) 2017.03.08
[C] 연산자  (0) 2017.03.07
[C] 주석 사용법  (0) 2016.11.23
[C] 변수  (0) 2016.10.31
[C] C 시작 ( Console 출력 )  (0) 2016.08.26

+ Recent posts