#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main(void)
{
int rnum;
srand(time(NULL));
rnum = rand() % 26 + 97;
printf("rnum = %c\n", rnum);
printf("rnum = %c\n", rnum ^ 0x20);
return 0;
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
time.h 와 stdlib.h 는 srand(), time(), rand() 를 사용하기 위해 적음
stdio.h 는 printf() 를 사용하기 위해 적음
srand(time(NULL)) 부분은,, 시간값에 관계 없이 무작위로 난수를 생성하라 지시하는 부분이다.
하지만, 실제 무작위 난수를 만들어내는 것은 rand() 부분이다.
<rand() % 26 + 97 이라는 부분의 의미>
1. % 연산자
- a % b a 를 b 로 나누고 남은, 그 나머지 값... 구할 때
- ? % 26 어떤 숫자를 26 으로 나누고, 나올 수 있는 나머지는 0 ~ 25 로 총 26 개
2. 알파벳 갯수는 26가지
3. 97 이란 숫자는, 소문자 'a' 에 해당하므로, 97 + 0 = 'a', 97 + 1 = 'b', ... , 97 + 25 = 'z'
알파벳소문자로 나올 수 있도록 만든 것이다
'C언어 기초 > 01주차' 카테고리의 다른 글
C 언어의 기본 연산자 들... (0) | 2017.02.08 |
---|---|
리눅스 내 한글사용을 위한 패치 (0) | 2017.02.08 |
리눅스 사용 - 기초문법 과 vi 사용하기 (0) | 2017.02.08 |
변수에 대하여.. 선언시 규칙 (0) | 2017.02.03 |
overflow 와 underflow 에 대하여.. (1) | 2017.02.02 |