[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 활용해서 예제를 풀어봤다.
굳