이제 C언어 while문을 배워봅시다. for문과 더불어서, 꽤 많이 쓰이는 반복문입니다. do while까지가 3대장인데요. 저것은 사용 빈도가 그렇게 높지는 않은 듯 싶어요. 문법은 다음과 같습니다. while(contidion) s1 대충 condition을 만족하면 s1 블록을 수행하고, 다시 condition을 만족하는지 검사한다. 정도로 보시면 됩니다. 그러면 condition이 참이면 계속 루프를 돈다는 것이겠군요. 넵. 맞습니다. 그러니까 condition을 만족하면 Loop를 계속 돈다고 보시면 되겠습니다. 먼저 백준의 A+B-5를 봅시다. 이것은 a와 b를 입력을 계속 받습니다. 파일의 끝에 도달할 때 까지요. 즉, 어떠한 입력 파일이 n개의 줄로 이루어져 있다면 n번째 줄에 a(n) ..
코딩 검색 결과
c언어에서 반복문은 3개가 있습니다. for, while, do while. 이 셋이 있는데요. 세 개를 차근차근 배워봅시다. 오늘은 그 중, 제가 백준이라는 사이트에서 제일 많이 쓴, for문을 알아보도록 하겠습니다. for(s1;condition;s2)for_block 문법은 위와 같은데요. condition1에는 조건문이 들어갑니다. 예를 들자면 i>=0이라던지, i!=0이라던지. 보통, 저는 s2는 반복 변수를 증가시키는 용도, 예를 들어서 i++과 같은 용도로 많이 쓰고요. s1은 루프 변수 초기화를 위한 용도로 씁니다. 그리고 for문도 블록이 있는데요. 중괄호로 쓸 수 있어요. 이걸 대략적으로 그려보면, s1을 수행합니다. 다음에 condition이 참이면 for block을 수행하고 s2를..
C언어에는 삼항 연산자가 있습니다. 어떻게 쓸까요? ((조건식1)?식1:식2) 여기서 조건식 1이 참이라면 식 1이 평가되고, 아니면 식 2가 평가됩니다. 흐름도는 대충 이런 식으로 갑니다. 그러면 if문이랑 비슷한 점이 많겠군요. 많은데, 보통 if문 안에는 문장들이 옵니다. 그런 반면에, 삼항 연산자는 식이 옵니다. 식이나 값이 온다면, 조건식에 맞으면 값을 어딘가에 대입하는 식으로 많이 쓰시는데요. 예제로 보여드리겠습니다. 예제 1을 봅시다. a와 b를 입력받았습니다. 그리고 6번째 줄을 보시면 (a>b)?a:b 라는 절이 보입니다. 이를 쪼개 봅시다. 그러면 a>b인 경우에, a라는 수식이나 값이 평가가 되고, 그렇지 않다면 b가 평가됩니다. 그 결과를 res라는 변수에 넣고 있어요. 즉, a>b..
저번에 LIKE 연산자를 배웠습니다. 이번에는 조금 더 복잡한 패턴 매칭에 대해서 다뤄보겠습니다. [관련글] LIKE 연산자 알아봅시다. 눈치 채신 분도 있으실지 모르겠습니다. 자바에서 파싱할 때, 정규 표현식을 자주 쓰는데요. mysql은, REGEXP 라는 것으로, 정규식을 사용할 수 있습니다. 처음과 끝은 각각 ^과 $로 표현할 수 있어요. 예를 들어서, '^a'라면, a로 시작하는 패턴입니다. 그리고 'E$'이라면, E로 끝나는 패턴입니다. 그러면 '^eat$'은 무엇을 의미할까요? "eat"를 찾으라는 거겠네요. 그리고, .은 임의의 문자를 의미하는데요. '^...$'은, 길이가 3인 문자열이 패턴에 매칭된다는 이야기입니다. 이 쿼리를 수행해 봅시다. 그러면 문자열이 시작하고 임의의 문자가 3개..
C언어에서, 어떠한 조건문을 만족하면, 특정한 문장을 수행하게 할 수 없을까요? if, else if, else 공식으로 하실 수 있어요. 먼저, 이런 경우 먼저 생각해 봅시다. 패턴 1은 다음과 같습니다. if(조건문) 명령1; 명령2; 이 경우 조건문이 참이라면 명령1, 명령2 순서대로 실행이 되고, 그렇지 않다면 명령 1만 수행되는 패턴입니다. if(x>=0)이 하나 있어요. x가 0보다 크다면 work() 함수가 수행이 될 거에요. 그렇지 않다면, 바로 7번째 줄로 갈 겁니다. 이것을 흐름도로 그려보면 아래와 같습니다. 만약에 x>=0이라면 work를 수행합니다. 그렇지 않다면, work를 수행하지 않고, 그냥 건너 뛴다는 것을 알 수 있어요. 만약에, 조건을 만족하지 않으면, 다른 문장이나 블록..
최근댓글