c 나 cpp 또는 여러 가지 언어로 프로그래밍을 하면서 궁금해볼만한 것을 정리하려고 한다.
이번에 정리할 내용은 간단해서 많은 사람들이 알 수 있지만, 모르는 사람을 위해서 정리한다.
프로그래밍 언어에서 조건문은 굉장히 쉬운 문법 중 하나이다. 그 중, if 문은 입문자도 어렵게 생각하지 않을만한 문법이다.
이러한 if문은 여러 가지 조건을 조합하여 사용할 수 있다.
예를 들면 다음과 같다.
1 | if ( 저녁 밥을 먹었다. && 손을 씻었다. || 과제를 했다.) | cs |
&& 또는 || 그 외 등등의 조합으로 하나의 if문을 완성할 수 있다.
그런데, 이러한 조건들은 무조건 모두 실행하는 것일까?
궁금하다면 다음을 보자. 간단하게 실험을 해보았다. ( 시간 측정으로 확인을 해보자.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> #include <time.h> using namespace std; bool loop1(int num) { for (int i = 0; i < num; i++); return true; } int main(void) { clock_t begin, end; begin = clock(); if (true && loop1(10000000)); end = clock(); cout << "수행시간 : " << (double)end - begin << "밀리초, "<< (end-begin)/(double)1000 << "초" << endl; return 0; } | cs |
간단한 반복문 코드이다.
15행이 중요한 데, 우리가 실험하려고 하는 것은 앞 조건이 false일 때, 뒷 조건이 실행되느냐이다.
먼저 지금 상태로 실행을 하면 다음과 같은 결과가 나온다.
수행시간 : 41789밀리초, 41.789초
다음으로 15행의 true를 false로 바꾸어 다시 테스트해보겠다. 결과는 다음과 같다.
수행시간 : 41밀리초, 0.041초
엄청난 시간 차이다. 이 말은 무엇을 뜻하는 걸까.
결론적으로는 앞 조건이 false 경우에는 뒷 조건을 실행하지 않는다는 뜻이다.
물론 예외는 있다. &&가 아닌 ||라면 앞 뒤 조건을 무조건 확인하게 될 것이다.
실행시간을 중요하게 생각하는 분야에서는 이러한 사소한 것들이 큰 도움이 될 것으로 생각한다.
많은 도움이 되었으면 좋겠다.
공감 버튼은 저에게 큰 힘이 됩니다. 한번씩 꾸욱 눌러주시면 감사하겠습니다. 또한, 광고도 한번 씩 클릭해주시면 블로그 품질이 올라갑니다!!
'프로그래밍 > C || CPP' 카테고리의 다른 글
[C++] 키워드 constexpr 알아보기 (5) | 2018.04.23 |
---|---|
[C++] string::find / string::npos 를 이용한 단어 유무 찾기 (1) | 2017.12.09 |
const 멤버 함수와 비 const 멤버 함수 정리 (3) | 2017.09.14 |
[C/C++] 전처리기 (0) | 2017.06.20 |
[C/C++] rand, srand로 랜덤 뽑기(로또/lotto) 프로그램 만들기 (0) | 2017.06.15 |
댓글