【 C 언어 】 #47 문자 입력 받기 (getch)

Language/C & C++ 2018. 5. 16. 13:39 Posted by 엑소더스팩토리
반응형

【 C 언어 】 #47 문자 입력 받기 (getch)



 앞선 프로그램 문제에서 #include 문을 다루면서 getch()를 사용해 보았다.

getch()에 대해 좀더 상세하게 다루어 보자.


▶ 문제  : 키보드로 부터 한 개의 문자를 입력받아 아스키 코드 값을 출력하는 프로그램을 getch() 사용하여 작성하시오.


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- Enter의 아스키 값은 '13' 이다. 

- getch() 함수는 키보드로 부터 문자 하나를 입력받아 int 형으로 반환한다.

- 하나의 문자만을 출력 하려면 putch() 함수를 이용하면 된다. 




▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  


47 문자 입력받기( getch() ).cpp


반응형

【 C 언어 】#46 매크로 (macro) 이해하기

Language/C & C++ 2018. 5. 15. 10:39 Posted by 엑소더스팩토리
반응형

【 C 언어 】 #46 매크로 (macro) 이해하기



 매크로란? 자주 사용하는 여러개의 명령어를 묶어 하나의 새로운 명령어로 만드는 방법을 말한다.  따라서, 매크로를 이용하여 함수를 사용하지 않고도 간단한 함수의 기능을 이용할 수 있다.  #define 문을 이용하며, 주로 번잡한 문장을 단순화하기 위해 사용한다.


▶ 문제  : 매크로를 정의하여 두 수의 최대값(MAX) 과 최소값(MIM) 값을 화면에 출력 하시오.


▶ 실행 결과 :

(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- C언어에서 3항 연산자를 이용해서 macro 기능을 사용해본다.

- 3항연산자  A ? B : C    → A가 참이면 B,  거짓이면 C  




▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)




▶ 프로그램 설명 


- a > b ? a : b →   a가 b보다 크면(참이면)   a 값,  아니면 b값
- a < b ? a : b →   a가 b보다 작으면(참이면) a 값,  아니면 b값

- Max(a,b)  라고 선언할 경우 a,b 는 본문에서 사용되는 변수의 인수(인자) 역할을 한다.  


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


▶ 소스코드 다운로드 :  


46 macro 이해하기.cpp


반응형
반응형

【 C 언어 】 #45 <#include 문>으로 헤더파일을 선언해보자



 프로그램을 작성하다 보면 화면으로 출력해주는 'printf' 문과 같은 내장함수 들을 사용하게 된다. 이러한 함수들은 <stdio.h> 라는 기본 입출력에 해당하는 헤더 파일에 정의 되어 있고 이를 이용하기 위해서는 #include문으로 선언을 해주어야 한다.  만약 그렇지 않고 자신이 직접 모든 모듈을 다 작성하게 되면 시간이 많이 걸릴 것이며 프로그램의 효율성이 떨어지게 된다. 


▶ 문제  : 키보드로 문자 하나를 입력 받는 프로그램을 작성하되, 키보드로 부터 문자를 입력받을 수 있는 getch() 함수를 이용하라. getch()함수는 채conio.h 헤더 파일에 포함되어 있으며 #include문으로 선언해주면 프로그램내에서 사용이 가능하다. 


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- printf(), scanf(), getch() 함수 등을 사용하기 위해서는 함수내용이 포함된 헤더파일을 선언해야 프로그램내에서 사용이 가능하다.


- <stdio.h> : printf(), scanf()과 같은 입출력과 관련된 가장 기본이되는 함수의 집합인 헤더파일


- <conio.h> : 키보드와 같은 콘솔 입출력 장치와 관련된 함수들을 모아 놓은 헤더파일.

 [ 관련 함수 소개 ]

  → kbhit     : 키보드가 눌렸는지 확인

  → getch    : 콘솔에서 키보드 입력으로 한 개의 키 입력을 받음, (echo 없음)

  → getche   : 콘솔에서 키보드 입력으로 한 개의 키 입력을 받음, (echo 있음:타이핑한 키가 화면에 표시 됨)

  → putch     : 콘솔에 문자 하나를 출력  ( putchar 와 같음)

  → cputs    :  콘솔에 문자열을 출력

  → cprintf   :  포맷을 사용해서 콘손에 문자열을 출력

  → ungetch : 키보드 버퍼로 문자 한 개를 넣음

  → cgets     :  콘솔로 부터 문자열을 직접 입력 받음

  → gscanf   :  콘솔로 부터 포맷팅 된 입력을 받음


- #include <파일명>   & #include "파일명"  의 차이점  

  1. #include <파일명> : C의 표준 라이브러리 및 본래의 설치된 경로를 사용함을 의미

  2. #include "파일명"  : 사용자 정의 헤더파일을 먼저 검색후(컴파일 되고 있는 파일 위치) 표준라이브러리(본래 경로) 검색 함


- #include "..\..\include\test.h"    와 같이 헤더파일의 특정 경로 지정 가능


▶ 프로그램 (답안 예시) : 

(이미지 클릭, 확대해서 보세요)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



▶ 소스코드 다운로드 :  

45 #include 문으로 헤더파일을 선언해보자.cpp




반응형