완숙의 블로그

표준 입출력 함수 본문

Programing Language/C

표준 입출력 함수

완숙 2018. 12. 28. 02:39

프로그래밍

  • 사용자가 어떤 값을 컴퓨터에 넣고(입력) 처리한 결과를 사용자에게 다시 제공(출력)하는 것

    
    
    
    graph LR; A[Input] --> B{Function} B --> C(Output)

 

입출력 함수

2018-12-28 12 17 38

  • 표준 입출력 함수: 키보드와 모니터를 통해 자료를 입출력
  • 파일 입출력 함수: 특정한 파일을 통해 자료를 입출력
  • 저급 입출력 함수: 운영체제 내, 시스템 호출을 통해 자료를 입출력

 

표준 입출력 함수

2018-12-28 12 19 40

 

  • 형식화된 입출력

     

    • printf() 함수

      • 표준 출력 장치인 모니터로 자료를 출력
      • 도스창에 실행결과를 표시할 때 사용

      2018-12-28 12 26 07

      • 제어문자열

        • 변환기호를 사용하여 형식에 맞게 출력 가능

      2018-12-28 12 27 44

      • 예제

        #include <stdio.h>
        int main() {
        	printf("%s\n", "종경");
        	
        	printf("%s\n", "대학교");
        	
        	printf("%s %s\n", "종경대학교", "서울캠퍼스");
        	
        	printf("%-10s\n", "종경");
        	
        	printf("%10s\n", "대학교");
        	return 0;
        }
        
        // 프로세스가 시작되었습니다..
        > 종경
        대학교
        종경대학교 서울캠퍼스
        종경
         대학교
        
        프로세스가 종료되었습니다.
        

       

    • scanf() 함수

      • 표준 입력 장치인 키보드를 통해 자료를 입력 받을 때
      • 기본 형태

        2018-12-28 1 14 48

        변환기호안에 포함되는 내용이 어떤 자료 형식으로 변수에 입력되는지 결정

        2018-12-28 1 15 13

        변수 앞에 변수의 주소를 의미하는 기호 &를 반드시 넣어야 함

      • 예제

      #include <stdio.h>
      int main() {
      	int age = 0, birthyear = 0;
      	
      	printf("당신의 나이와 출생연도를 입력하세요.\n");
      	
      	scanf("%d %d", &age, &birthyear);
      				
      				printf("당신은 %d년에 출생한 %d세입니다.\n", birthyear, age);
      				
      				
      	return 0;
      }
      
      // 프로세스가 시작되었습니다..
      > 당신의 나이와 출생연도를 입력하세요.
      24
      1995
      당신은 1995년에 출생한 24세입니다.
      
      프로세스가 종료되었습니다.
      
      • 특수문자 입력

      2018-12-28 1 25 51

      • 예제
      #include <stdio.h>
      int main() {
      
      	printf("\t\"안녕하세요\"\n\n");
      	
      	printf("탈출기법을 제대로 사용한 예\n");
      	
      	printf("\t10 %% 5 = 0 \n\n");
      	
      	printf("탈출기법을 제대로 사용하지 않은 예\n");
      	
      	printf("\t 10 % 5 = 0 \n");
      	
      	
      	return 0;
      }
      
      // 프로세스가 시작되었습니다..
      >       "안녕하세요"
      
      탈출기법을 제대로 사용한 예
              10 % 5 = 0
      
      탈출기법을 제대로 사용하지 않은 예
              10 = 0
      
      프로세스가 종료되었습니다.
      

       

  • 문자 입출력 함수

    • 문자 1개를 키보드로 입력받아 출력하는 함수

    2018-12-28 1 37 04

     

    • 예제 : 문자 1개를 입력받아 출력하는 예제
    #include <stdio.h>
    int main() {
    	char Letter_in;
    	
    	printf("문자 1개를 입력하세요.\n");
    	
    	Letter_in = getchar();
    	
    	putchar(Letter_in);
    	
    	printf("\n");
    	
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 문자 1개를 입력하세요.
    v
    v
    
    프로세스가 종료되었습니다.
    

 

  • 문자열 입출력 함수

    • 문자 여러개를 한번에 입력받고 출력하는 함수

    2018-12-28 1 45 16

     

    • 예제 : 문자열 입력, 출력
    #include <stdio.h>
    int main() {
    char Name[20];
    	
    	printf("당신의 이름을 입력하세요: ");
    	
    	gets(Name);
    	
    	puts(Name);
    	
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 당신의 이름을 입력하세요: wansik
    wansik
    
    프로세스가 종료되었습니다.
    

     

 

실습

  • 1) 섭씨온도를 화씨온도로 출력하라. 섭씨는 정수로 입력, 화씨는 실수로 출력해라.

    #include <stdio.h>
    int main() {
    	int cel = 0;
    	float far = 0;
    	
    	printf("섭씨 온도를 입력하세요.");
    	
    	scanf("%d", &cel);
    	
    	far = (cel*1.8) + 32;
    	printf("섭씨 %d 도는 화씨 %.2f도 입니다.\n", cel, far);
    	
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 섭씨 온도를 입력하세요.29
    섭씨 29 도는 화씨 84.20도 입니다.
    
    프로세스가 종료되었습니다.
    

     

  • 2) 원의 넓이를 출력해주는 프로그램을 작성해라. 반지름은 double, 원주율은 define으로 정의해서 사용한다.

    #include <stdio.h>
    #define PIE 3.141592
    
    int main() {
    	
    	double r = 0;
    	double S = 0;
    	
    	printf("반지름을 입력하세요 :");
    	
    	scanf("%lf", &r);
    	
    	S = PIE*r*r;
    	
    	printf("원의 넓이는 %lf이다.\n", S);
    	
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 반지름을 입력하세요 :3
    원의 넓이는 28.274328이다.
    
    프로세스가 종료되었습니다.
    

     

  • 3) 가로 세로 길이를 입력받아 면적을 출력해라. 가로 세로 길이는 float로 입력 받고, 넓이도 float로 출력한다.

    #include <stdio.h>
    int main() {
    	
      float	width = 0;
    	float height = 0;
    	
    	printf("가로와 세로를 입력하세요 : ");
    	
    	scanf("%f %f", &width, &height);
    	
    	printf("사각형의 넓이는 %f이다.", width*height);
    	
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 가로와 세로를 입력하세요 : 3 4
    사각형의 넓이는 12.000000이다.
    프로세스가 종료되었습니다.
    

     

  • 4) 두 정수를 입력 받아 합과 평균을 구해라. 합은 정수로, 평균은 실수로 출력한다.

    #include <stdio.h>
    int main() {
    	
    	int a = 0;
    	int b = 0;
    	
    	int sum = 0;
    	double aver = 0;
    	printf("두 정수를 입력하세요 : ");
    	
    	scanf("%d %d", &a, &b);
    		
    	sum = a + b;
    	aver = ((double)a + (double)b)/2;
    	
    	printf("합은 %d, 평균은 %f", sum, aver);
    	return 0;
    }
    
    // 프로세스가 시작되었습니다..
    > 두 정수를 입력하세요 : 3 4
    합은 7, 평균은 3.500000
    프로세스가 종료되었습니다.
    

     


'Programing Language > C' 카테고리의 다른 글

선택문  (0) 2019.01.03
중간 예제  (0) 2019.01.02
연산자 (operator)  (0) 2018.12.31
기본 자료형  (0) 2018.12.27
프로그래밍 기본 개념  (0) 2018.12.27
Comments