티스토리 뷰

난수 함수


 - 난수는 규칙성이 없이 임의로 생성되는 수


 - 함호학이나 시뮬레이션, 게임 등에서 필수적


 - rand()

- 난수를 생성하는 함수

- 0부터 RAND_MAX까지의 난수를 생성

- 헤더파일: <stdlib.h>

- 사용법: rand()%개수 + 시작 수

예)

   rand() % 10  --> 0 ~ 9 사이의 난수나옴

   (rand() % 10) + 1  --> 1 ~ 10 사이의 난수 나옴


--> 하지만 실행할 때마다 항상 같은 난수가 발생


매번 난수를 다르게 생성하려면 시드(seed)를 다르게

해야 한다.


srand()함수


 - 초기값을 지정하여 rand()함수의 난수를 매번 

   다르게 생성해주는 함수


 - 초기값이 같으면 srand()함수를 사용해도 매번

   똑같은 값이 생성되기 떄문에 time()함수를 넣어

   사용한다.

   (time()함수는 1970년 1월 1일 0시0분0초부터

    현재까지의 시간을 초단위로 제공해준다.

    time()함수를 사용하려면 <time.h> 헤더파일

    이 필요하다.)


예)


#include<stdio.h>

#include<stdlib.h>

#includ<time.h>


int main()

{

int t;

srand(time(NULL)); --> NULL == 0

for(i=0; i<6; i++)

{

printf("%d, 1+rand()% 45);

}

return 0;

}


 --> 시드를 현재의 시각으로 사용하는 것은 실행할 때마다

     달라지기 때문에 가장 일반적으로 쓰는 방법이다.


system() 함수


 - 헤더파일: <windows.h>

 

 - 사용형식: system("명령어 입력");


예) 화면을 지우는 명령어

system("cls");


    화면을 멈추는 명령어

system("pause");


변수의 속성: 이름, 타입, 크기, 값 + 범위, 생존 시간, 연결


 - 범위: 변수가 사용가능한 범위


 - 생존 시간: 메모리에 존재하는 시간


 - 연결: 다른 영역에 있는 변수와의 연결 상태


변수의 범위


 - 전역 변수: 함수의 외부에서 정의

- 범위: 소스 파일 전체

- 생존 기간: 프로그램 시작부터 종료까지

- 초기값: 0

 

 - 지역 변수: 함수의 내부에서 정의

- 선언 위치: 블록 첫 부분에서 정의

- 범위: 블록 안

- 블록만 다르면 이름이 같아도 상관x

- 생존 기간: 선언된 블록이 끝나면 자동으로 소멸

- 매개 변수도 일종의 지역변수다.

- 초기값: 초기화되지 않으면 쓰레기 값을 가진다.


 - 전연변수와 지역변수의 이름이같다면?

- 지역변수가 전역변수를 가린다.


생존 기간


 - 정적할당

- 프로그램 실행 시간 동안 계속 유지


 - 자동할당

- 블록에서 들어갈때 생성

- 블록에서 나올때 소멸


 - 생존 기간을 결정하는 요인

- 변수가 선언된 위치

- 저장 유형 지정자


 - 저장 유형 지정자

  - auto

- register

- static

- extern


auto


 - 변수를 선언한 위치에서 자동으로 만들어지고 블록을

  벗어나게 되며 자동으로 소멸되는 저장 유형을 가짐


 - 지역 변수는 auto가 생략되어도 자동 변수가 된다.


static

 

 - 정적 지역변수로써 static을 붙이면 지역변수가

   정적변수로 된다.



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

11day.c 함수정리  (0) 2017.04.03
10day.c 배열 정리  (0) 2017.03.11
8,9day.c 반복문 정리  (0) 2017.03.11
7day.c switch문 정리  (0) 2017.03.09
6day.c if문 정리  (0) 2017.03.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함