1. While 문
- 반복문의 종류중 하나. while(조건){내용} 으로 작성
- 소괄호 안의 문구가 참인 순간동안은 계속해서 블록안의 명령어를 반복해서 실행한다.
- i++, ++i 이런명령어는 할때마다 변수 i 에 1을 더한다는 식으로 생각하면됨.
2. For문
- 반복문의 종류중 하나. for(초기값; 조건; 증감값) 으로 작성
- for 루프는 진입조건 루프이다. ( 이말이 무엇이냐면 먼저 블록안의 명령어를 실행한 다음, 조건을 검사하고 조건에 맞지 않을 때 증감값을 실행하고 다시 루프함으로써 작동한다.)
- 지역변수는 class, function내에서만 사용되는 변수이고, 전역변수는 각 클래스나 함수 밖에서 선언되어서 각각의 클래스 안에서도 사용될 수 있는 변수들이다. 전역변수선언후 각 함수들이 전역변수를 사용하면 그 함수가 지나간 이후엔 전역변수가 그 함수에 의해 변해진 채로 저장되어진다.
- 2중 for문의 반복횟수가 고민된다면 바깥의 for문의 반복수 * 안쪽 for문의 반복수 를 계산하면 된다.
3. 난수생성
- 난수생성을 하기위해서는 해더 time.h 와 stdlib.h가 필요하다.
- 일반적으로 rand()를 사용하면 랜덤난수가 생성된다. 하지만, c 에서 기본으로 제공된 시드를 사용하기때문에 항상 같은 난수들만 나온다.
- 사용할 때마다 다른 난수 생성을 위해서는 시간을 기준으로 잡아서 seed를 넣어서 생성하는 난수를 만들어야 하고, 그것을 위해서 time.h의 time함수를 seed로 잡게된다.
- 따라서 사용할 때마다 다를 무작위한 난수를 얻고 싶으면 rand()를 쓰기 전에 srand(time(NULL));을 선언해주어야 한다.
- 우리가 원하는 범위 내의 난수를 얻고싶으면 rand()%(원하는수) + 1 로하면된다.
(이유에 대해서 고민해봤는데 rand에 모듈러로 원하는 수의 나머지 + 1 하면 결국 원하는 수 범위 내의 난수라고 생각 가능하기 때문.)
'c,c++' 카테고리의 다른 글
#1~ #5에 대한 예제 코딩. (0) | 2022.01.25 |
---|---|
#5 얕은 복사 깊은 복사, 타입 캐스팅 (0) | 2022.01.25 |
#4 함수, 포인터, 함수포인터, 구조체포인터 전반 (0) | 2022.01.19 |
#3 배열, 구조체, 연산자 (0) | 2022.01.19 |
#1. c 시작 (0) | 2022.01.19 |