[6-2] do문
·
📚 STUDY/🔥 C
- do문은 사실상 while을 얘기할 때, 빼놓을 수 없을 정도로 관련 깊은 구문임.- do문은 while문과 거의 동일하다고 할 수 있음. 다만, 제어식을 루프 본문 실행 이후에 판별할 뿐임.do statement while ( expression ) ;while문과 동일하게 do의 본문 또한 한 개의 표현식으로 이루어져 있고, 제어식 또한 괄호로 감싸야함.do문이 실행되면, 우선 루프 본문이 먼저 실행되고 나서 제어식이 평가됨. 만약, 표현식이 0이 아닌 값을 갖는다면, 루프 본문은 다시 실행되고 표현식은 다시 한 번 더 평가됨. 루프 본문이 실행된 이후 제어식의 값이 0이라면, do문은 종료됨. 🌐 [프로그래밍] 정수의 자릿수 계산하기🌐 numdigits.c/* 한 정수의 자..
[6-1] while
·
📚 STUDY/🔥 C
- while문은 C언어의 반복문 중에서 가장 간단하면서, 중요한 구문임.- while문은 다음과 같은 구조를 가짐.while ( expression ) statement괄호 내의 표현식이 제어식이고, 괄호 이후 나오는 구문이 루프 본문임.while문이 실행되면, 우선 제어식이 평가됨.제어식 값이 0이 아니라면(참) ➡ 루프 본문이 실행된 다음 제어식을 평가함.이런 방식으로, 우선 제어식을 확인하고 루프 본문으로 넘어가는 방식이 제어식의 값이 0이 될 때까지 반복됨. 예제) 어떤 수 n보다 크거나 같은 수 중, 가장 작은 2의 제곱수를 찾아보자.          n의 값이 10이라고 가정할 때, while문이 실제로 어떻게 동작하는지 논리를 따라가보자.i = 1;while (i 제어식 (i 식이 거..
Q&A (들여쓰기 방식, switch 문 작성 방식)
·
📚 STUDY/🔥 C
📌 제 컴파일러는 == 대신 =를 써도 경고 메세지를 출력하지 않던데, 컴파일러가 이런 점을 강제로 경고로 알려주게 만들 수 있나요?- 대부분의 컴파일러는 = 연산자를 if문에서 잘못 사용한 경우를 잡아줌.  ex) GCC 컴파일러는 -Wparentheses 기능 or -Wall(모든 경고 메시지 표시) 기능으로 위 경우를 잡아줌.- GCC를 사용할 때, 의도적으로 = 연산자를 써준 경우 괄호를 두 번 해주면 경고 메시지가 뜨지 않게 해줄 수 있음.if ((i = j)) …  📌 C언어 책들마다 복합문에서 들여쓰기하는 방식이 다르던데, 어떤 방식이 제일 좋은 방식인가요?The New Hacker's Dictionary에 의하면 크게 네 가지 들여쓰기 및 중괄호 표기법이 있음.① K&R 방식 : 왼쪽 ..
[5-3] switch문
·
📚 STUDY/🔥 C
- C언어에는 계단식 if문 대신 switch문을 사용할 수 있음.// 1if (grade == 4) { printf("훌륭해요!")} else if (grade == 3) { printf("좋아요!");} else if (grade == 2) { printf("평균이네요!");} else if (grade == 1) { printf("좋지 않아요!");} else if (grade == 0) { printf("좀 더 노력하세요!");} else { printf("잘못된 학점입니다");}// 2switch (grade) {case 4: printf("훌륭해요!") break;case 3: printf("좋아요!"); break;case 2: pr..
[5-2] if문
·
📚 STUDY/🔥 C
if문은 프로그램이 표현식의 값을 사용해 2가지 선택지 중 하나를 고르게 만듦. if ( expression ) statement표현식을 감싸고 있는 괄호는 필수임.표현식의 값이 참이면(0이 아니라면), 괄호 뒤의 구문이 실행됨. 📌 복합문- if문이 여러 구문을 제어하게 만들고 싶을 때 사용하는 구문 복합문이 if 문에 사용될 때 ex)if (line_num == MAX_LINES) { line_num = 0; page_num++;} - 구조상 구문 1개만 사용해야하지만, 실제로는 여러 구문이 필요할 때 자주 사용됨.  📌 else 절- if문은 else문을 포함할 수 있음.if (i > j) max = i;else max = j; - if문 중복도 가능함.if (i >..