본문으로 바로가기

C언어 300제 051번~060번

category Programming/C언어 2017. 7. 28. 20:52

051. 문자 입력받기(getchar)

 

문제 : 한 개의 문자를 입력받아 아스키 코드 값을 출력하는 프로그램을 작성하세요.

 

 

 

 

 

 

 

getch()함수는 conio.h 헤더파일을 선언해야 사용할 수 있다. getch()함수의 원형은 ch=getch(void);이다.

즉, getch()함수는 키보드로부터 문자를 한 개 입력받아서 int형으로 반환한다.

참고로  getch()함수는 특별한 값도 입력 받는다. ex) F1~F12, Ctrl+a ~ Ctrl+z, Home, End, PgUp, PgDn, 방향키 등이다.

 

 

 

 

052. 문자 출력하기(putch)

 

문제 : 문자열을 출력하는 print() 함수를 ptch() 함수를 사용하여 작성하세요.

 

 

 

 

putch()함수는 conio.h 해더파일을 선언해야 사용할 수 있다. putch() 함수의 원형은 int putch(int ch);이다.

문자열의 끝은 NULL이다. 현재 string이 가리키는 번지의 값이 NULL이 될 때 까지 16~20행이 반복된다.

한 개의 문자을 입력 받을 때 getch() 함수를 사용하고 한 개의 문자를 출력할 때 putch() 함수를 사용한다.

 

 

 

 

053. 정수값 입력받기(scanf)

 

문제 : 키보드로부터 3개의 정수값을 읽은 후, 합을 출력하는 프로그램을 작성하세요.

 

 

 

 

 

scanf() 함수를 사용하여 정수값을 읽을 때 숫자가 아닌 문자를 입력하면 scanf() 내부적으로 음수값이 반환된다.

반환 값을 확인했을 때 음수인 경우 fflush(stdin);을 사용하여 입력버퍼를 지워 주어야한다.

scanf() 함수는 크기를 자동으로 맞춰주지 않는다. 따라서 길이에 조심하자.

 

 

 

 

054. 정수값 출력하기(printf)

 

문제 : 정수값 100, 1000, 12345를 오른쪽 정령하여 출력하는 프로그램을 작성하세요

 

 

 

 

 

 

 

 

 

055. 문자열 입력받기(gets)

 

문제 : 키보드로부터 문자열을 입력받고, 문자열 중 문자 'a'의 갯수를 세어 출력하는 프로그램을 작성하세요.

 

 

 

 

 

 

문자열은 null을 제외한 최대 99자를 입력할 수 있다. 99자를 넘으면 오류가 발생한다.

string은 배열의 첫 번째 번지를 가리키는 번지 상수이기 때문에 &연산자를 사용하지 않는다.

gets()함수는 키보드로 부터 한 줄의 문자열을 읽어들인다.

 

 

 

 

056. 문자열 출력하기(puts)

 

문제 : "대한민국", "여름", "겨울"에 해당하는 문자열을 정의하고, 그 문자열을 출력하는 프로그램을 작성하세요

 

 

 

 

puts() 함수는 자동으로 개행한다.

 

 

 

 

057. 문자열 복사하기(strcpy)

 

문제 : "대한민국"이라는 문자열을 복사하는 프로그램을 작성하세요.

 

 

 

 

strcpy() 함수는 string.h 헤더파일을 선언해야 사용할 수 있다. strcpy()함수의 원형은 char *strcpy(char *dest, const char *src);이다.

strcpy() 함수의 실제 반환값은 dest의 선두 번지이다.

 

 

 

 

058. 문자열을 복사하는 함수 만들기

 

문제 : "대한민국" 이라는 문자열을 복사하는 함수 My_strcpy를 작성하세요

 

 

 

 

 

dest가 가리키는 번지에 src가 가리키는 번지의 아스키 값을 1바이씩 복사해 복사후 각가의 번지가 1만큼 증가한다는 것을 알 수 있다.

 

 

 

 

059. 문자열을 대, 소문자로 구분하여 비교하기(strcmp)

 

문제 : 영단어를 입력받고, 입력된 단어 중 sky를 검색하는 프로그램을 작성하세요.

 

 

 

 

 

 

strcmp() 함수는 string.h 헤더파일을 선언해야 사용이 가능하다. strcmp() 함수의 원형은 int strcmp(const char *src1, const char *src2);이다.

src1은 비교할 대상 문자열이고, src2는 비교 문자열이다. 모든 문자열이 일치할 경우 0반환, string 문자열이 큰 경우 1반환, string 문자열이 작을 경우 0을 반환한다.

 

 

 

 

060. 문자열을 비교하는 함수 만들기

 

문제 : 영단어를 입력받고, 입력된 단어 중 sky를 검색하는 프로그램을 작성하세요.

 

 

 

 

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

C언어 300제 041번~050번  (0) 2017.03.31
C언어 300제 031번~040번  (0) 2017.03.30
C언어 300제 021번~030번  (0) 2017.03.08
C언어 300제 011번~ 020번  (0) 2017.03.05
C언어 300제 001번~010번  (0) 2017.02.05