학습내용

  • 변환 라이브러리
  • 랜덤함수

학습목표

  • 문자열을 숫자로 변환하는 라이브러리 사용법을 구현할 수 있다.
  • 랜덤함수를 이용하여 랜덤값이 필요한 작업에 적용할 수 있다.

 

변환 라이브러리

1. 데이터 변환

 - atoi : 문자열을 정수(int)로 변환

 - atof : 문자열을 실수(double)로 변환

 - strtof : 실수 문자열을 float형 실수로 변환

 - strtod : 실수 문자열을 double형 실수로 변환

항목 내용
함수원형 int atoi(const char *str);
double atof(const char *str);
헤더 stdlib.h
기능 * 10진 정수 문자열을 정수로 변환
* 문자열에서 10진 정수 숫자 문자 뒤의 일반 문자는
   취소되며, 10진 정수 숫자 문자까지만 숫자로 변환
* 공백 및 10진 정수 문자가 아닌 문자로 시작하면 0을 반환
매개변수 char *str -> 정수로 변환할 10진수 정수 문자열
반환값 10진 정수 값

2. 활용 예제

 1) 기능

    - 근무일 입력 시 급여 계산

 2) 요구사항

  (1) 급여 계산식 : 급여=근무일 * (근무연수 *1000)

  (2) 사원번호에서 입사연도를 자동으로 추출하여 급여 계산

  (3) 사원번호체계 : 총 10자리 입사연도 + 일련번호-부서코드

      (예: 20080123-02)

 

랜덤함수

1. 랜덤값 발생

항목 내용
함수원형 int rand(void);
헤더 stdlib.h
기능 rand()는 0부터 RAND_MAX 사이의 난수를 생성
반환값 0부터 RAND_MAX 사이의 난수

 

항목 내용
함수원형 void srand(unsigned int seed);
헤더 stdlib.h
기능 난수를 생성하기 위해서 난수의 생성 초기값인 난수
seed 값을 지정
매개변수 unsingned int seed -> 난수 시드
반환값 void

 

2. 활용 예제

 1) 기능

    - 학번에 따라 3개의 그룹으로 분류

 2) 요구사항

  (1) 10명의 학생을 학번에 따라 랜덤하게 3개의 그룹(rand() %3)으로 분류

  (2) 학번을 시드로 랜덤하게 생성하기

 

학습정리

 

1. 변환 라이브러리

  • 숫자 형태의 문자열을 변환하는 라이브러리 함수는 stdlib.h 헤더파일에 선언되어 있음
  • 숫자 형태의 문자열을 정수형으로 변환하는 함수 : atoi
  • 숫자 형태의 문자열을 실수형으로 변환하는 함수 : atof

 

2. 랜덤함수

  • 랜덤값을 생성하는 라이브러리 함수 : rand
  • rand함수는 실행 시 동일한 랜덤값을 생성하므로 시드함수를 이용해야 함
  • rand함수 사용 시 시드함수로 srand가 있음