"문자 (프로그래밍)"의 두 판 사이의 차이
1번째 줄: | 1번째 줄: | ||
− | '''문자(文字)'''는 컴퓨터와 기계 기반 [[전기통신]] 용어로, [[자연어]] 기록 형태의 알파벳이나 음절 문자와 같은 상징 따위와 일치하는 정보의 단위다. | + | '''문자(文字)'''는 컴퓨터와 기계 기반 [[전기통신]] 용어로, [[자연어]] 기록 형태의 알파벳이나 음절 문자와 같은 상징 따위와 일치하는 정보의 단위다.<ref> 〈[https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_(%EC%BB%B4%ED%93%A8%ED%8C%85) 문자 (컴퓨팅)]〉, 《위키백과》 </ref> |
==개요== | ==개요== | ||
+ | 컴퓨터에게 명령을 내릴 수 있도록 도와주는 도구를 말한다.<ref> 〈[https://terms.naver.com/entry.naver?docId=3607517&cid=58598&categoryId=59316 프로그래밍 언어]〉, 《네이버 지식백과》 </ref> | ||
+ | |||
+ | ==등장배경== | ||
+ | 수학에서 등장하였으며 [[쿠르트 괴델]]은 불완전성 정리를 증명하는 과정중에 [[알고리즘]]을 추상화시킨 [[원시 재귀 함수]](primitive recursive function) 개념을 만들고, 이를 이용하여 증명에 성공하였는데, 수학적으로 본다면 이것이 최초의 프로그래밍 언어라 볼 수 있다.(굳이 따지자면 함수형 언어라 할 수 있다.) 그리고, 몇년 후에 컴퓨터의 아버지라 불리는 [[튜링]]은 불완전성 정리를 보고 자신의 방식도 될것같다고 생각하며 연구를 하는데, 여기서 이 원시재귀함수와 동치인 [[튜링머신]]을 발표하고 이 튜링머신을 이용하여 불완전성 정리를 다시 한 번 증명해보인다. 이는 어떤 체계를 통해서 이 체계의 모순성을 증명할 수 있는 방법은 없다와 동치이다. | ||
+ | *계산가능성이론(Computability Theory)이라는 수학의 분야가 생기면서 기존의 원시재귀함수를 확장한 람다 미적분(Lambda calculus)과 무제한 등록기(Unlimited register machine : URM), 프로그래밍(While-programming), SKI 등등 알고리즘을 표현하기 위한 여러가지 체계들이 등장한다.<ref> 〈[https://namu.wiki/w/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%20%EC%96%B8%EC%96%B4 프로그래밍 언어]〉, 《나무위키》 </ref> | ||
+ | |||
+ | ==종류== | ||
+ | 다음은 프로그래밍 문자 종류이다. | ||
+ | |||
+ | ===변환=== | ||
+ | *%d : 10진수로 출력하는 정수형이다. | ||
+ | *%f : 실수형이다. | ||
+ | *%e : 지수형이다. | ||
+ | *%o : 8진수로 출력한다. | ||
+ | *%x : 16진수로 출력한다. | ||
+ | *%u : 부호없는 10진수로 출력한다. | ||
+ | *%g : 실수형으로 자동 출력한다. | ||
+ | *%p : 포인터의 주소를 출력한다. | ||
+ | *%c : 하나의 문자로 출력 문자형이다. | ||
+ | *%s : 문자열을 출력한다.<ref> 프로그래밍 블로그, 〈[https://clanguage.tistory.com/1 C 언어 변환문자 의미 자료형 (%d,%f,%e,%o,%x,%u,%g,%p,%c,%s)]〉, 《티스토리》, 2008-05-21 </ref> | ||
+ | |||
+ | ===널=== | ||
+ | 아무것도 없음을 값으로 표현한 문자(빈 값)를 표현한 것이다.<ref name="널"> 〈[http://www.ktword.co.kr/test/view/view.php?m_temp1=5946 null, NULL, Null 널 문자]〉, 《정보통신기술용어해설》 </ref> | ||
+ | |||
+ | ====프로그래밍==== | ||
+ | 프로그램(함수 등)이 자료 검색 후 해당 값을 못 찾았을 때, 메모리 할당 실패 때 등의 경우에, 넘겨주는(반환)값을 말한다. | ||
+ | *유의점 : 널 문자(null)는, 공백 문자 ""(empty) 또는 " "(space, 아즈키(ASCII) 32)와는 다르게 취급한다. | ||
+ | *`==`과 같은 비교 연산 때, 널(null)을 공백 ""(empty)과 같은 것으로 간주하기도 한다.<ref name="널"></ref> | ||
+ | |||
+ | ===특수=== | ||
+ | 다음은 특수기호 : 한글(영단어)을 보여주는 거다.(한글뜻이 없는것은 발음을 붙였다.) | ||
+ | *' : 그레이브(Grave) | ||
+ | *~ : 물결표시(Tilde) | ||
+ | *! : 느낌표(Exclamation)표시(Mark) | ||
+ | *@ : 골뱅이(At) | ||
+ | *# : 샾, 우물정(Number , Sharp) | ||
+ | *$ : 달러(Dollar) | ||
+ | *% : 퍼센트(Percnet) | ||
+ | *^ : 캐럿(Caret) | ||
+ | *& : 엠퍼센드(Ampersand) | ||
+ | * * : 별표(Asterisk) | ||
+ | *- : 마이너스(Hyphen, Dash) | ||
+ | *_ : 밑줄(Underscore, Low dash) | ||
+ | *= : 이꼬르(Equals) | ||
+ | *" : 큰 따옴표(Quotation) | ||
+ | *' : 작은 따옴표(Apostrophe) | ||
+ | *: : 콜론(Colon) | ||
+ | *; : 세미콜론(Semicolon) | ||
+ | *. : 점, 마침표(Period, Dot) | ||
+ | *? : 물음표(Question) | ||
+ | */ : 슬래쉬(Slash) | ||
+ | *수직바(Vertical bar) | ||
+ | *\ : 백슬래쉬(Backslash) | ||
+ | *() : 소괄호(Parenthesis) | ||
+ | *{} : 중괄호(Brace) | ||
+ | *[] : 대괄호(Bracket) | ||
+ | *<> : 꺽쇠 괄호(Angle Bracket)등이 특수 문자다.<ref> inyong_pang, 〈[https://velog.io/@inyong_pang/Programming-%ED%8A%B9%EC%88%98-%EB%AC%B8%EC%9E%90-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC [Programming] 특수 문자 용어 정리]〉, 《벨로그》, 2020-08-03 </ref> | ||
+ | |||
+ | ==참고자료== | ||
+ | * 〈[https://ko.wikipedia.org/wiki/%EB%AC%B8%EC%9E%90_(%EC%BB%B4%ED%93%A8%ED%8C%85) 프로그래밍 언어]〉, 《위키백과》 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=3607517&cid=58598&categoryId=59316 프로그래밍 언어]〉, 《네이버 지식백과》 | ||
+ | * 〈[http://www.ktword.co.kr/test/view/view.php?m_temp1=5946 null, NULL, Null 널 문자]〉, 《정보통신기술용어해설》 | ||
+ | * inyong_pang, 〈[https://velog.io/@inyong_pang/Programming-%ED%8A%B9%EC%88%98-%EB%AC%B8%EC%9E%90-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC [Programming] 특수 문자 용어 정리]〉, 《벨로그》, 2020-08-03 | ||
+ | |||
+ | |||
+ | ==같이보기== | ||
+ | * [[원시 재귀 함수]] | ||
+ | * [[튜링]] | ||
+ | * [[튜링머신]] | ||
+ | |||
+ | {{보안|토막글}} |
2021년 8월 18일 (수) 16:25 판
문자(文字)는 컴퓨터와 기계 기반 전기통신 용어로, 자연어 기록 형태의 알파벳이나 음절 문자와 같은 상징 따위와 일치하는 정보의 단위다.[1]
개요
컴퓨터에게 명령을 내릴 수 있도록 도와주는 도구를 말한다.[2]
등장배경
수학에서 등장하였으며 쿠르트 괴델은 불완전성 정리를 증명하는 과정중에 알고리즘을 추상화시킨 원시 재귀 함수(primitive recursive function) 개념을 만들고, 이를 이용하여 증명에 성공하였는데, 수학적으로 본다면 이것이 최초의 프로그래밍 언어라 볼 수 있다.(굳이 따지자면 함수형 언어라 할 수 있다.) 그리고, 몇년 후에 컴퓨터의 아버지라 불리는 튜링은 불완전성 정리를 보고 자신의 방식도 될것같다고 생각하며 연구를 하는데, 여기서 이 원시재귀함수와 동치인 튜링머신을 발표하고 이 튜링머신을 이용하여 불완전성 정리를 다시 한 번 증명해보인다. 이는 어떤 체계를 통해서 이 체계의 모순성을 증명할 수 있는 방법은 없다와 동치이다.
- 계산가능성이론(Computability Theory)이라는 수학의 분야가 생기면서 기존의 원시재귀함수를 확장한 람다 미적분(Lambda calculus)과 무제한 등록기(Unlimited register machine : URM), 프로그래밍(While-programming), SKI 등등 알고리즘을 표현하기 위한 여러가지 체계들이 등장한다.[3]
종류
다음은 프로그래밍 문자 종류이다.
변환
- %d : 10진수로 출력하는 정수형이다.
- %f : 실수형이다.
- %e : 지수형이다.
- %o : 8진수로 출력한다.
- %x : 16진수로 출력한다.
- %u : 부호없는 10진수로 출력한다.
- %g : 실수형으로 자동 출력한다.
- %p : 포인터의 주소를 출력한다.
- %c : 하나의 문자로 출력 문자형이다.
- %s : 문자열을 출력한다.[4]
널
아무것도 없음을 값으로 표현한 문자(빈 값)를 표현한 것이다.[5]
프로그래밍
프로그램(함수 등)이 자료 검색 후 해당 값을 못 찾았을 때, 메모리 할당 실패 때 등의 경우에, 넘겨주는(반환)값을 말한다.
- 유의점 : 널 문자(null)는, 공백 문자 ""(empty) 또는 " "(space, 아즈키(ASCII) 32)와는 다르게 취급한다.
- `==`과 같은 비교 연산 때, 널(null)을 공백 ""(empty)과 같은 것으로 간주하기도 한다.[5]
특수
다음은 특수기호 : 한글(영단어)을 보여주는 거다.(한글뜻이 없는것은 발음을 붙였다.)
- ' : 그레이브(Grave)
- ~ : 물결표시(Tilde)
- ! : 느낌표(Exclamation)표시(Mark)
- @ : 골뱅이(At)
- : 샾, 우물정(Number , Sharp)
- $ : 달러(Dollar)
- % : 퍼센트(Percnet)
- ^ : 캐럿(Caret)
- & : 엠퍼센드(Ampersand)
- * : 별표(Asterisk)
- - : 마이너스(Hyphen, Dash)
- _ : 밑줄(Underscore, Low dash)
- = : 이꼬르(Equals)
- " : 큰 따옴표(Quotation)
- ' : 작은 따옴표(Apostrophe)
- : 콜론(Colon)
- 세미콜론(Semicolon)
- . : 점, 마침표(Period, Dot)
- ? : 물음표(Question)
- / : 슬래쉬(Slash)
- 수직바(Vertical bar)
- \ : 백슬래쉬(Backslash)
- () : 소괄호(Parenthesis)
- {} : 중괄호(Brace)
- [] : 대괄호(Bracket)
- <> : 꺽쇠 괄호(Angle Bracket)등이 특수 문자다.[6]
참고자료
- 〈프로그래밍 언어〉, 《위키백과》
- 〈프로그래밍 언어〉, 《네이버 지식백과》
- 〈null, NULL, Null 널 문자〉, 《정보통신기술용어해설》
- inyong_pang, 〈[Programming 특수 문자 용어 정리]〉, 《벨로그》, 2020-08-03
같이보기
- ↑ 〈문자 (컴퓨팅)〉, 《위키백과》
- ↑ 〈프로그래밍 언어〉, 《네이버 지식백과》
- ↑ 〈프로그래밍 언어〉, 《나무위키》
- ↑ 프로그래밍 블로그, 〈C 언어 변환문자 의미 자료형 (%d,%f,%e,%o,%x,%u,%g,%p,%c,%s)〉, 《티스토리》, 2008-05-21
- ↑ 5.0 5.1 〈null, NULL, Null 널 문자〉, 《정보통신기술용어해설》
- ↑ inyong_pang, 〈[Programming 특수 문자 용어 정리]〉, 《벨로그》, 2020-08-03