[C언어] Ctype.h의 함수들 구현

이미지
준비중입니다.
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[C언어] Ctype.h의 함수들 구현에 대한 자료입니다.
목차
#include
#include
#include

#define MAX 20

char _toupper(char ch); // 대문자 변환
char _tolower(char ch); // 소문자 변환
int _toascii(int ch); // 아스키 변환
void _strget(char a[]);

int _isalpha(char ch); // 알파벳 확인
int _isupper(char ch); // 대문자 확인
int _islower(char ch); // 소문자 확인
int _isdigit(char ch); // 숫자 확인
int _isalnum(char ch); // 알파벳, 숫자 확인
int _isspace(char ch); // 공백문자 확인

int _square(int t, int n)
{
//////////////////////////////////////
/*2를 n번 곱해주는 함수. */
//////////////////////////////////////

int i;

for(i = 0; i < n; i++) t *= 2; // 2의 n승을 계산함.

return t;
}
본문내용
1. 알파벳, 숫자, 빈칸 확인 함수의 제작 문제
입력된 문자에서 문자와 숫자 등을 구별하기 위해서는 아스키코드를 이용해야 한다. 하지만 입력된 문자는 아스키코드로 인식되며, 코드 상에서 ''를 이용해서 문자를 지정하면 아스키코드로 비교되기 때문에 프로그램 구현에 있어서는 해당 문자의 아스키코드를 정확히 알 필요는 없다. 따라서 이번 프로그램에서는 특정 아스키코드를 정확하게 사용하지 않고 문자를 바로 이용하여 알파벳 또는 숫자, 빈칸 등을 구별하여 본다.

2. 대문자, 소문자 변환 함수의 제작 문제
입력된 알파벳을 대문자 또는 소문자로 변환하기 위해서는 아스키코드 상에서의 대문자와 소문자의 규칙을 알아야 한다. 현재 아스키코드는 대문자를 65부터 90까지 소문자를 97부터 122까지 사용하고 있다. 따라서 그 차이는 32가 되며 소문자에서 32를 빼면 대문자, 대문자에서 32를 더하면 소문자가 되는 것이다. 프로그램에서는 대문자, 소문자 확인 함수를 이용해서 32를 더하거나 빼주어 대/소문자의 변환을 실현 시킬 수 있을 것이다.

3. 아스키코드 변환 함수의 제작 문제
아스키코드 변환 함수는 입력된 정수의 7비트를 짤라 아스키코드로 변환 가능하게 해주는 기능을 한다. 아스키코드는 0에서 127까지를 사용하기 때문이다. 따라서 정수형의 숫자를 입력하면 그것을 이용하여 뒤의 7비트를 짤라 리턴해주는 방식을 이용하면 될 것이다. 이를 위해서는 shift 연산과 AND 연산을 이용하면 되고, 그 결과를 크기 7짜리 정수형 배열에 저장하여 다시 10진수로 변환하면 될 것이다.

4. 알파벳, 소문자, 대문자, 숫자, 빈칸 확인 함수 알고리즘 및 플로우 차트
(1) 간략한 알고리즘
입력된 문자의 내용을 확인하는 함수는 기본적으로 아스키코드로 목적 문자여부를 확인하는 방식을 취하면 된다. 따라서 전달 받은 파라미터를 검사하고 그 결과를 리턴하는 단순한 방식으로 구현이 가능하다. 이를 간단하게 나타내면 아래와 같다.