문자

C언어 2020. 12. 4. 17:55

아스키코드

1.

- C 프로그램의 문자는 아스키코드(Ascii Code)를 따름

- 아스키코드는 0~127중의 1바이트로 구성되며 주요 문자를 출력하도록 해줌

 

0 48

A 65

a 97

 

2.

- 캐릭터형(char) 자체에 숫자를 넣어서 처리할 수 있음

- 문자 입출력에서 형식 지정자로 %c를 사용

#include<stdio.h>
#include<cstdlib>

int main(void) {
	char a = 65;
	printf("%c\n", a);
	system("pause");
	return 0;
}

 

 

문자 입출력 함수

- 이러한 문자는 getchar( )를 이용해서 입력을 받는 방식을 이용할 수 있음

- getchar( )는 단 하나의 문자를 입력 받음

#include<stdio.h>
#include<cstdlib>

int main(void) {
	char a = getchar();
	printf("%c\n", a);
	system("pause");
	return 0;
}

 

 

문자

- 문자열을 처리할 때 버퍼의 개념이 많이 사용됨

- 버퍼(Buffer)란 임시적으로 특정한 데이터를 저장하기 위한 목적으로 사용됨

- C 프로그램은 기본적으로 사용자가 의도하지 않아도 자동으로 버퍼를 이용해 입출력을 처리함

 

문자와 버퍼

- 입력 버퍼로 인해 흔히 발생하는 오류

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<cstdlib>

int main()
{
	int a;
	char c;
	scanf("%d", &a);
	printf("%d\n", a);
	scanf("%c", &c);
	printf("%c\n", c);
	system("pause");
	return 0;
}

 

- 남아 있는 입력 버퍼를 항상 지울 수 있음

EOF(End Of File) - 파일의 끝

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<cstdlib>

int main()
{
	int a; char c;
	scanf("%d", &a);
	printf("%d\n", a);
	int temp;

	// 한 자씩 받아서 파일의 끝이거나 개행 문자를 만나면 입력을 멈추므로 항상 입력 버퍼를 비워야 함
	while ((temp = getchar()) != EOF && temp != '\n') {}
	scanf("%c", &c);
	printf("%c\n", c);
	system("pause");
	return 0;
}

 

- C언어에서는 문자 입출력의 내부에는 버퍼(Buffer)가 존재함

'C언어' 카테고리의 다른 글

컴퓨터가 변수를 처리하는 방법  (0) 2020.12.07
문자열  (0) 2020.12.05
포인터  (0) 2020.12.04
배열  (0) 2020.12.04
함수  (0) 2020.12.04
Posted by khon98
,