SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
Character Processing
2
The Use of getchar() and putchar()
 getchar()
– keyboard에서 문자를 읽는데 사용한다.
– Buffered scanf와 동일 - data의 read를 위해 Enter key의 입
력이 필요하다
– Enter key를 누르면 Enter key까지 포함한 입력되었던 모든
문자들은 stdin buffer로 보내진다.
– getchar() function은 문자들을 한번에 한문자씩 반환한다.
c = getchar(); /* 한 char를 read하여 c에 입력 */
3
The Use of getchar() and putchar()
 putchar() - 화면에 문자를 출력하는데 사용한다.
[Ex]
#include <stdio.h>
int main(void)
{
putchar('S');
putchar('K');
putchar('K');
putchar('U');
}
SKKU
putchar(‘ ‘)에 한 char만
사용가능 함.
4
The Use of getchar() and putchar()
 예제
[Ex]
char c = getchar() ;
while(c != ‘ ‘ )
{
putchar( c ) ;
c = getchar() ;
}
[Ex]
while( (c=getchar()) != ‘ ’ )
{
putchar( c ) ;
}
5
caps Program
 소문자를 대문자로 대문자는 소문자로 변환하는 예제
#include <stdio.h>
int main(void)
{
char c;
while (( c = getchar() ) != ‘n’) {
if( ‘A’ <= c && c <= ‘Z’ )
putchar( c + (‘a’-’A’) ) ;
else if( ‘a’ <= c && c <= ‘z’ )
putchar( c - (‘a’-’A’) ) ;
else
putchar( c ) ;
}
return 0;
}
6
The Macros in ctype.h
 ctype.h 헤더파일은 문자 인자를 검사하는 매크로들을 정의한다.
Character macros
Macro Nonzero (true) is returned if
isalpha(c)
isupper(c)
islower(c)
isdigit(c)
isalnum(c)
isxdigit(c)
isspace(c)
ispunct(c)
isprint(c)
isgraph(c)
iscntrl(c)
isascii(c)
c is a letter
c is an uppercase letter
c is a lowercase letter
c is a digit
c is a letter or digit
c is a hexadecimal digit
c is a white space character
c is a punctuation character
c is a printable charcter
c is a printable, but not a space
c is a control character
c is an ASCII code
7
The Macros in ctype.h
 toupper() and tolower() functions
[Ex]
int tolower(int c); /* c가 대문자라면 소문자가 리턴*/
int toupper(int c); /* c가 소문자라면 대문자가 리턴 */
[Ex]
#define _tolower(c) ( (c) + ‘a’ – ‘A’ ) /* 함수를 define하여 지정 */
Character macros and functions
Function or macro Effect
toupper(c)
tolower(c)
toascii(c)
Changes c from lowercase to uppercase
Changes c from uppercase to lowercase
Changes c to ASCII code
8
caps Program
 소문자를 대문자로 대문자는 소문자로 변환하는 예제
#include <stdio.h>
#include <ctype.h>
int main(void)
{
char c;
while (( c = getchar() ) != ‘n’) {
if( isupper(c) )
putchar( tolower(c) ) ;
else if( islower(c) )
putchar( toupper(c) ) ;
else
putchar( c ) ;
}
return 0;
}

Weitere ähnliche Inhalte

Was ist angesagt?

C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부Gwangwhi Mah
 
게임프로그래밍입문 5주차
게임프로그래밍입문 5주차게임프로그래밍입문 5주차
게임프로그래밍입문 5주차Yeonah Ki
 
게임프로그래밍입문 4주차
게임프로그래밍입문 4주차게임프로그래밍입문 4주차
게임프로그래밍입문 4주차Yeonah Ki
 
RNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, ifRNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, ifitlockit
 
C++정리 스마트포인터
C++정리 스마트포인터C++정리 스마트포인터
C++정리 스마트포인터fefe7270
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungeescor7910
 
게임프로그래밍입문 3주차
게임프로그래밍입문 3주차게임프로그래밍입문 3주차
게임프로그래밍입문 3주차Yeonah Ki
 
Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Circulus
 
[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features SummaryChris Ohk
 
Geveloper 160816
Geveloper 160816Geveloper 160816
Geveloper 160816Nyeong Ahn
 
You can read go code
You can read go codeYou can read go code
You can read go codeHomin Lee
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010MinGeun Park
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 명신 김
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpKimjeongmoo
 
2.Startup JavaScript - 연산자
2.Startup JavaScript - 연산자2.Startup JavaScript - 연산자
2.Startup JavaScript - 연산자Circulus
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types웅식 전
 
[KOSSA] C++ Programming - 15th Study - STL #1
[KOSSA] C++ Programming - 15th Study - STL #1[KOSSA] C++ Programming - 15th Study - STL #1
[KOSSA] C++ Programming - 15th Study - STL #1Seok-joon Yun
 
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...Seok-joon Yun
 

Was ist angesagt? (20)

C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부
 
게임프로그래밍입문 5주차
게임프로그래밍입문 5주차게임프로그래밍입문 5주차
게임프로그래밍입문 5주차
 
게임프로그래밍입문 4주차
게임프로그래밍입문 4주차게임프로그래밍입문 4주차
게임프로그래밍입문 4주차
 
RNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, ifRNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, if
 
C++정리 스마트포인터
C++정리 스마트포인터C++정리 스마트포인터
C++정리 스마트포인터
 
Cpp 0x kimRyungee
Cpp 0x kimRyungeeCpp 0x kimRyungee
Cpp 0x kimRyungee
 
게임프로그래밍입문 3주차
게임프로그래밍입문 3주차게임프로그래밍입문 3주차
게임프로그래밍입문 3주차
 
Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리Startup JavaScript 3 - 조건문, 반복문, 예외처리
Startup JavaScript 3 - 조건문, 반복문, 예외처리
 
[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary[C++ Korea 2nd Seminar] C++17 Key Features Summary
[C++ Korea 2nd Seminar] C++17 Key Features Summary
 
skku cp2 w4
skku cp2 w4skku cp2 w4
skku cp2 w4
 
Geveloper 160816
Geveloper 160816Geveloper 160816
Geveloper 160816
 
You can read go code
You can read go codeYou can read go code
You can read go code
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
 
ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 Hwp
 
2.Startup JavaScript - 연산자
2.Startup JavaScript - 연산자2.Startup JavaScript - 연산자
2.Startup JavaScript - 연산자
 
2 1. variables & data types
2 1. variables & data types2 1. variables & data types
2 1. variables & data types
 
[KOSSA] C++ Programming - 15th Study - STL #1
[KOSSA] C++ Programming - 15th Study - STL #1[KOSSA] C++ Programming - 15th Study - STL #1
[KOSSA] C++ Programming - 15th Study - STL #1
 
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
Effective Modern C++ MVA item 18 Use std::unique_ptr for exclusive-ownership ...
 

Ähnlich wie 5 1. character processing

5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing웅식 전
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)SeongHyun Ahn
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차Han Sung Kim
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crowJaeseung Ha
 
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지탑크리에듀(구로디지털단지역3번출구 2분거리)
 
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기Jongwook Choi
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로Jaeseung Ha
 
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)상욱 송
 

Ähnlich wie 5 1. character processing (13)

5 2. string processing
5 2. string processing5 2. string processing
5 2. string processing
 
빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)빠르게 활용하는 파이썬3 스터디(ch1~4)
빠르게 활용하는 파이썬3 스터디(ch1~4)
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crow
 
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
 
프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기프로그래밍 대회: C++11 이야기
프로그래밍 대회: C++11 이야기
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
 
3.포인터
3.포인터3.포인터
3.포인터
 
4. stack
4. stack4. stack
4. stack
 
06장 함수
06장 함수06장 함수
06장 함수
 
Let's Go (golang)
Let's Go (golang)Let's Go (golang)
Let's Go (golang)
 
C review
C  reviewC  review
C review
 
문자함수(1)
문자함수(1)문자함수(1)
문자함수(1)
 

Mehr von 웅식 전

15 3. modulization
15 3. modulization15 3. modulization
15 3. modulization웅식 전
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main웅식 전
 
12 2. dynamic allocation
12 2. dynamic allocation12 2. dynamic allocation
12 2. dynamic allocation웅식 전
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array웅식 전
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer웅식 전
 
10. pointer & function
10. pointer & function10. pointer & function
10. pointer & function웅식 전
 
7. variable scope rule,-storage_class
7. variable scope rule,-storage_class7. variable scope rule,-storage_class
7. variable scope rule,-storage_class웅식 전
 
15 1. enumeration, typedef
15 1. enumeration, typedef15 1. enumeration, typedef
15 1. enumeration, typedef웅식 전
 
3 2. if statement
3 2. if statement3 2. if statement
3 2. if statement웅식 전
 
3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib웅식 전
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io웅식 전
 
2 2. operators
2 2. operators2 2. operators
2 2. operators웅식 전
 
Goorm ide 교육용버전 for skku(학생)
Goorm ide 교육용버전 for skku(학생)Goorm ide 교육용버전 for skku(학생)
Goorm ide 교육용버전 for skku(학생)웅식 전
 
구름 기본 소개자료
구름 기본 소개자료구름 기본 소개자료
구름 기본 소개자료웅식 전
 
Goorm ide 소개 슬라이드(교육용 버전)
Goorm ide 소개 슬라이드(교육용 버전)Goorm ide 소개 슬라이드(교육용 버전)
Goorm ide 소개 슬라이드(교육용 버전)웅식 전
 

Mehr von 웅식 전 (20)

15 3. modulization
15 3. modulization15 3. modulization
15 3. modulization
 
15 2. arguement passing to main
15 2. arguement passing to main15 2. arguement passing to main
15 2. arguement passing to main
 
14. fiile io
14. fiile io14. fiile io
14. fiile io
 
13. structure
13. structure13. structure
13. structure
 
12 2. dynamic allocation
12 2. dynamic allocation12 2. dynamic allocation
12 2. dynamic allocation
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer
 
10. pointer & function
10. pointer & function10. pointer & function
10. pointer & function
 
9. pointer
9. pointer9. pointer
9. pointer
 
7. variable scope rule,-storage_class
7. variable scope rule,-storage_class7. variable scope rule,-storage_class
7. variable scope rule,-storage_class
 
6. function
6. function6. function
6. function
 
15 1. enumeration, typedef
15 1. enumeration, typedef15 1. enumeration, typedef
15 1. enumeration, typedef
 
4. loop
4. loop4. loop
4. loop
 
3 2. if statement
3 2. if statement3 2. if statement
3 2. if statement
 
3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib3 1. preprocessor, math, stdlib
3 1. preprocessor, math, stdlib
 
2 3. standard io
2 3. standard io2 3. standard io
2 3. standard io
 
2 2. operators
2 2. operators2 2. operators
2 2. operators
 
Goorm ide 교육용버전 for skku(학생)
Goorm ide 교육용버전 for skku(학생)Goorm ide 교육용버전 for skku(학생)
Goorm ide 교육용버전 for skku(학생)
 
구름 기본 소개자료
구름 기본 소개자료구름 기본 소개자료
구름 기본 소개자료
 
Goorm ide 소개 슬라이드(교육용 버전)
Goorm ide 소개 슬라이드(교육용 버전)Goorm ide 소개 슬라이드(교육용 버전)
Goorm ide 소개 슬라이드(교육용 버전)
 

5 1. character processing

  • 2. 2 The Use of getchar() and putchar()  getchar() – keyboard에서 문자를 읽는데 사용한다. – Buffered scanf와 동일 - data의 read를 위해 Enter key의 입 력이 필요하다 – Enter key를 누르면 Enter key까지 포함한 입력되었던 모든 문자들은 stdin buffer로 보내진다. – getchar() function은 문자들을 한번에 한문자씩 반환한다. c = getchar(); /* 한 char를 read하여 c에 입력 */
  • 3. 3 The Use of getchar() and putchar()  putchar() - 화면에 문자를 출력하는데 사용한다. [Ex] #include <stdio.h> int main(void) { putchar('S'); putchar('K'); putchar('K'); putchar('U'); } SKKU putchar(‘ ‘)에 한 char만 사용가능 함.
  • 4. 4 The Use of getchar() and putchar()  예제 [Ex] char c = getchar() ; while(c != ‘ ‘ ) { putchar( c ) ; c = getchar() ; } [Ex] while( (c=getchar()) != ‘ ’ ) { putchar( c ) ; }
  • 5. 5 caps Program  소문자를 대문자로 대문자는 소문자로 변환하는 예제 #include <stdio.h> int main(void) { char c; while (( c = getchar() ) != ‘n’) { if( ‘A’ <= c && c <= ‘Z’ ) putchar( c + (‘a’-’A’) ) ; else if( ‘a’ <= c && c <= ‘z’ ) putchar( c - (‘a’-’A’) ) ; else putchar( c ) ; } return 0; }
  • 6. 6 The Macros in ctype.h  ctype.h 헤더파일은 문자 인자를 검사하는 매크로들을 정의한다. Character macros Macro Nonzero (true) is returned if isalpha(c) isupper(c) islower(c) isdigit(c) isalnum(c) isxdigit(c) isspace(c) ispunct(c) isprint(c) isgraph(c) iscntrl(c) isascii(c) c is a letter c is an uppercase letter c is a lowercase letter c is a digit c is a letter or digit c is a hexadecimal digit c is a white space character c is a punctuation character c is a printable charcter c is a printable, but not a space c is a control character c is an ASCII code
  • 7. 7 The Macros in ctype.h  toupper() and tolower() functions [Ex] int tolower(int c); /* c가 대문자라면 소문자가 리턴*/ int toupper(int c); /* c가 소문자라면 대문자가 리턴 */ [Ex] #define _tolower(c) ( (c) + ‘a’ – ‘A’ ) /* 함수를 define하여 지정 */ Character macros and functions Function or macro Effect toupper(c) tolower(c) toascii(c) Changes c from lowercase to uppercase Changes c from uppercase to lowercase Changes c to ASCII code
  • 8. 8 caps Program  소문자를 대문자로 대문자는 소문자로 변환하는 예제 #include <stdio.h> #include <ctype.h> int main(void) { char c; while (( c = getchar() ) != ‘n’) { if( isupper(c) ) putchar( tolower(c) ) ; else if( islower(c) ) putchar( toupper(c) ) ; else putchar( c ) ; } return 0; }