본문 바로가기

C++

[TIL 5장] 3항 연산자, for문(이중 for문)

오늘의 TIL 목차 (22.07.29)

 

  • 3항 연산자
  • for문 & 이중for문

3항 연산자


[ 3항 연산자 ]

: 조건을 비교하고 참이면 앞의 것을 거짓이면 뒤의 것을 실행한다.

■ 형태

(조건식) ? (참일 때 실행) : (거짓일 때 실행)

 

■ '어떤 기능' / '언제' 사용 용도

- 아주 간략한 비교식을 통한 코드 실행 시에만 사용됨

- 한줄에 다 적어야 한다는 점이 가독성에 떨어지기 때문

■ 예시

int		iTemp = 10, iA = 100, iB = 200;

cout << (iTemp < 5 ? iA : iB) << endl; //iTemp(10)은 5보다 작지 않으므로(거짓) iB 실행

출력 결과:
200

for문


[ for문 ]

: 진행순서 초기화식 → 조건식 → 수행문 → 증감식의 형태로 반복하는 반복문

■ 형태

for(초기화식 ; 조건식 ; 증감식) // 초기화식, 조건식, 증감식이 없어도 ( ; ; ) 형태만 유지되면 실행
{
수행문;
}

 

■ '어떤 기능' / '언제' 사용 용도

- '반복의 횟수'를 정하고 반복을 수행하고자 할 때 주로 사용

- 초기화식은 for문 최초 수행 시에만 적용됨

- for문 안에서 int i = 0 으로 선언하는 경우, 지역변수로 해당 for문 안에서만 존재

■ 예시

int i =100

for (int i = 0; i<3;++i)
{
      cout << i << endl;
}

cout << i << endl;

0
1
2
100 // main 안의 i와 for문 안의 i는 각각 지역변수로 서로 다른 변수

※ for문 안에서 선언한 i는 for문이 끝나면 사라짐, main 안의 i와 for문 안의 i는 서로 다른 변수 (변수명은 겹치게 x)

 

int i = 0;

for(   ; i<3 ; i++) // 초기화식은 기준이 되는 것뿐 없어도 실행됨
	cout << i << "\t";

for ( int i = 0, j = 0, i < 3 && j > 5, ++i, j+=2) // 여러 개 가능
	cout << i << " " << j << endl;
    
    
출력 결과:
0	1	2
-
0 0
1 2
2 4

※ for문은 여러 조건식과 증감식을 선언할 있지만 가독성이 떨어지므로 다른 문법을 섞어 사용하는 게 올바름직