본문 바로가기
Program/C

5. C언어 입력 출력(I/O)

by Murciellago 2021. 10. 11.
반응형
SMALL

이 장에서는 scanf()함수를 사용하여 사용자로 부터 입력받고 printf() 함수를 사용하여 사용자에게 출력을 표시하는 방법을 배우는 단계이다

 

1. Input/Output에 대한 형식지정자

   - int 유형 => %d

   - float 유형 => %f

   - double 유형 => %lf(long float 줄임)

   - char 유형 => %c

 

 *C언어 데이터 유형 및 해당 형식지정자 목록

데이터형식 형식지정자
char %c
int %d
float %f
double %lf
short int %hd
unsigned int %u
long int %li
long long int %lli
unsinged long int %lu
unsigned long long int %llu
signed char %c
unsigned char %c
long double %Lf

 

 

2. C언어 출력 = printf()문

   - C언어 프로그래밍에서 printf() 는 주요 출력 기능 중 하나이다 이함수는 포맷된 출력을 화면으로 출력한다

 

     ex) C programming 출력

         #include <stdio.h>

         int main()

         {

             printf("C programming");

             return 0;

         }

 

     output) C programming

 

* 모든 유효한 C언어 프로그램은 main() 함수를 포함해야 한다. 코드 실행은 main() 함수부터 시작된다.

* printf() 함수는 화면에 포맷 출력을 보낼수 있는 라이브러리 기능이다. 함수는 따옴표 안에 문자열을 출력한다.

* printf() 함수를 사용하려면 C언어 프로그램에 #include <stdio.h> 헤어파일을 포함해야 한다

   (stdio.h 헤더파일 내부에 printf() 함수를 확인해 보길 바란다)

* 코딩 내부 함수에 return 명령문은 프로그램 종료상태 말하고, 선택사항이다

 

     ex) int문 출력

         #include <stdio.h>

         int main()

         {

             int testInteger = 5;

             printf("Number = %d", testInteger);

             return 0;

         }

 

      output) Number = 5

 

* %d 형식지정자를 사용하여 int 유형을 출력한다 여기에 %d 내부 값은 testInteger 값으로 대체된다

 

     ex) float / double문 출력         

        #include <stdio.h>

        int main()

        {

            float number1 = 13.5;

            double number2 = 12.4;

 

            print("number1 = %f\n", number1);

            print("number2 = %lf\n", number2);

            return 0;

         }

 

     output) number1 = 13.500000

                number2 = 12.400000

 

* 형식지정자를 float는 소수자리를 나타내기에 %f를 사용하고 double도 소수자리를 나타내기에 %lf 형식지정자를 사용한다

 

     ex) char문 출력

         #include <stdio.h>

         int main()

         {

             char chr = 'a';

             print("character = %c\n", chr);

             return 0;

          }

 

     output) character = a

 

* char문을 출력하려면 형식지정자를 %c를 사용해야 한다

 

3. C언어 입력 = scanf() 문

   - C언어 프로그래밍 scanf() 문에서 사용자로 부터 입력을 받기 위해 일반적으로 사용되는 함수 중 하나이다.

   - scanf() 함수는 키보드와 같은 표준 입력에서 형식화된 입력을 출력한다.

 

     ex) int 문 입력 / 출력

         #include <stdio.h>

         int main()

         {

             int testInteger;

             printf("Enter an integer : ");

             scanf("%d", &testInteger);

             printf("output number = %d", testInteger);

             return 0;

          }

 

       output) Enter an integer : 5

                  output number = 5

 

* 위 int문 변수에서 %d 형식지정자를 사용하여 scanf() 함수에서 testInteger값을 사용자로부터 입력을 받고, 사용자가 int문에 대한 정수를 입력하면 scanf() 함수에서 입력된 testInteger 값을 출력한다

* scanf()문에서 형식지정자는 &testInteger를 사용했다 

* scanf()문은 &testInteger라는 주소를 가지게 되고 입력한 값은 &testinteger에 데이터가 저장된다

 

     ex) 부동 소수점 및 이중 입력 / 출력

         #include <stdio.h>

         int main()

         {

             float num1;

             double num2;

 

             printf("Enter an number : ");

             scanf("%f", &num1);

             printf("Enter another number : ");

             scanf("%lf", &num2);

 

             printf("num1 = %f\n",num1);

             printf("num2 = %lf\n",num2);

 

             return 0;

         }

 

      output) Enter an number : 3.14

                 Enter another number : 3.1

                 num1 = 3.140000

                 num2 = 3.100000

 

* float / double에 맞는 %f / %lf 형식지정자를 사용한다

 

     ex) C 언어 문자 input/ output

         #include <stdio.h>

         int main()

         {

             char chr;

             printf("Enter a character : ");

             scanf("%c", &chr);

             printf("you entered %c.", chr);

             return 0;

          }

 

      output) Enter a character : g

                 you entered g

 

* 위 코딩 프로그램에서 사용자가 문자를 입력하면 문자 자체는 저장되지 않는다 대신 정수값(ASCII 값) 이 저장된다

* %c 텍스트형식을 사용하여 해당값을 표시하면 입력된 문자가 표시된다

* %d 를 사용하여 문자를 표시하면 해당 ASCII 값이 표시된다

 

     ex) ASCII 값

         #include <stdio.h>

         int main()

         {

             char chr;

             printf(Enter a character : ");

             scanf("%c", &chr);

 

             printf("you entered %c. \n", chr);

 

             printf("ASCII value is %d." chr);

             return 0;

          }

 

      output) Enter a character : g

                 you entered g

                 ASCII value is 103

 

4. Input / Output 다중 값

   - 사용자로 부터 여러입력을 받아 표시하는 법

 

      ex) #include <stdio.h>

           int main()

           {

               int a;

               float b;

 

               printf("Enter integer and then a float : ");

 

               scanf("%d%f", &a, &b);

 

               printf("you entered %d and %f", a, b);

               return 0;

           }

 

     output) Enter integer and then a float : -33.4

                you entered -3 and 3.4

 

 

반응형
LIST

'Program > C' 카테고리의 다른 글

7. C언어 if~else 문  (0) 2021.10.13
6. C언어 프로그래밍 연산자  (0) 2021.10.12
4. C언어 데이터 유형  (0) 2021.10.11
3. c언어 변수, 상수 및 리터럴  (0) 2021.10.11
2. C언어 키워드 및 식별자  (0) 2021.10.06

댓글