컴퓨터를 공부하고자 마음먹은지 N일차

[13일차](홍정모의따배c)표준 입출력함수들 본문

🖥C

[13일차](홍정모의따배c)표준 입출력함수들

졸린새 2020. 9. 21. 01:47
728x90

[13일차](홍정모의따배c)표준 입출력함수들

*본 강의수기는 교수님의 모든 ppt나 코드 화면을 붙인게 아닙니다. 따로 출처 표시나 과제표시

안한 모든 코드와 사진자료의 출처는 본 강의의 교수님 입니다.

정리는 다시한번 제가 보기위함과 어떤강의인지 알려드리는 것이고

제가 적은건 이해를 돕기 위한 부연설명과 제가 이해한 몇개의 중심적인 내용이 다소

생략이 되었습니다. 이 수기를 통해 공부하려 하지말고 흥미로운 내용이라면

'인프런- 홍정모의 따라하며 배우는c' 과정을 수강하시길 바랍니다.

scanf printf말고도 입력이 되는 함수가 있었는데..!

그것은 바로

  • 교수님코드
#include <stdio.h>

int main()

{
    
    
    char ch; //int로 바꿔도 작동한다
    
    ch = getchar();
    putchar(ch);
    
    
}

getchar()와 putchar되시겠다

입력한대로 한글자 따서 나온다

여러글자를 출력하고 싶을때는 while 문을 활용하기도 한다

  • 교수님코드
#include <stdio.h>

int main()

{
    
    
    char ch; //int로 바꿔도 작동한다
    
    ch = getchar();
//    putchar(ch);
    while (ch != '\n')
    {
        putchar(ch);
        
        ch = getchar();
    }
    
    putchar(ch);
    
}

  • 교수님코드
char ch;
    

    while ((ch = getchar()) != '\n')
    {
        putchar(ch);
        
    }
    
    putchar(ch);

while문안에 선언까지해서 코드를 줄일수도 있다

대입연산자는 연산우선순위가 낮으니까 필요할 때 괄호를 쳐주자

  • 교수님코드
char ch;
    

    while ((ch = getchar()) != '\n')
    {
        if (ch == 'f')
            ch = 'X';
        
        
        putchar(ch);
        
    }
    
    putchar(ch);

if 문을 활용해서 응용이 가능하다.

  • 교수님코드
char ch;
    

    while ((ch = getchar()) != '\n')
    {
        if (ch == 'f' || ch == 'F')
            ch = 'X';
        
        
        putchar(ch);
        
    }
    
    putchar(ch);

||를 활용해서 왼쪽이거나 오른쪽이면 x로 나오게 한다

대문자도 포함시킴

  • 교수님코드
char ch;
    
    while ((ch = getchar()) != '\n')
    {
        for(int i = '0'; i <= '9'; ++i)
            if (ch == i)
                ch = '*';
        
        putchar(ch);
    }

  • 교수님코드
char ch;
    
    while ((ch = getchar()) != '\n') {
        if(ch >= '0' && ch <= '9')
            ch = '*';
        putchar(ch);
    }
    
    putchar(ch);

if와 &&만을 사용한 짧은코드

  • 문제

대문자는 소문자로 소문자는 대문자로 바꿔주는 코드를 만들어라

아스키코드표를 검색하면

대문자와 소문자 간에 숫자가 32차이난다.

그렇다면 코드를

대문자일때는 32를더하고

소문자일때는 32를 빼는식의 코드를 만들어보자

  • 내코드
char ch;
    
    while ((ch = getchar()) != '\n') {
        if(ch >= 'A' && ch <= 'Z') //'A'부터 'Z'일경우 
            ch += 32;//32를 더하고
        else
            ch -= 32;//그외엔 32를 뺀다.
        putchar(ch);
    }
    
    putchar(ch);

if와 else 활용해서 예제를 풀어봤다.

Comments