본문 바로가기

C언어31

Q&A (continue, goto, null) 📌 6.1 단원에서 나온 루프 말예요, "> 0" 검사를 빼면 좀 더 루프가 짧아지지 않나요? i가 0이 되면 루프는 멈출거고, 원래 사용했던 루프랑 동일하게 작동하잖아요.while (i > 0) { printf("T minus %d and counting\n", --i);}while (i) { printf("T minus %d and counting\n", --i);} - 간결해보이지만, 몇 가지 단점이 존재함.① 가독성이 떨어짐. 새 코드를 보면 i가 0이 되면 종료할 거라는 건 알겠지만, i를 통해 숫자를 증가하면서 수를 세고 있는 건지, 감소갛면서 수를 세고 있는 건지 불명확함.② 새 코드는 만약 i가 루프가 실행될 때, 음수라도 되는 순간 원래 코드에서 의도한 방식대로 작동하지 않음. 원래.. 2024. 9. 11.
[6-5] null문 - 구문은 null의 형태를 띨 수 있음. 즉, 세미콜론을 제외하고 아무 기호도 없는 구문을 의미함.- null문은 단 1가지의 용도로 거의 쓰임. '본문이 비어있는 루프'for (d = 2; d   ✅ if문에서 괄호 이후에 세미콜론을 놓게 되면 if문의 본문이 if문의 제어식의 결과값과 무관하게 작동됨.if (d == 0); /*** WRONG ***/ printf("Error: Division by zero\n");  ✅ while문의 경우 무한루프가 될 수도 있음.i = 10;while (i > 0) ; /*** WRONG ***/{ printf("T minus %d and counting\n", .. 2024. 9. 11.
[6-4] 루프에서 벗어나기 프로그래밍을 하다보면 루프를 중간에 종료시켜야하는 때, 혹은 아예 종료되는 지점이 여러개인 반복문을 작성해야 할 때가 발생함.➡ break문을 통해 이 2가지 상황을 모두 만족시킬 수 있음. 📌 break문- break문은 같은 방식으로 while문, for문, do문과 같은 반복문에도 사용됨. 🌐 자연수 n이 소수인지 판별하는 프로그램for (d = 2; d break문은 종료점이 루프의 시작이나 끝이 아닌 도중에 있을 때, 상당히 유용함. for (;;) { printf("Enter a number (enter 0 to stop): "); scanf("%d", &n); if (n == 0) { break; } printf("%d cubed is %d\n", .. 2024. 9. 11.
[6-3] for문 - for문은 숫자를 세야하는 변수가 있을 때, 상당히 유용한 반복문임. 💡 for문 구조for ( expr1 ; expr2 ; expr3 ) statement// 예제for (i = 10; i > 0; --i) { printf("T 빼기 %d, 세는 중\n", i);}예제의 for문이 실행이 되면 변수 i는 10으로 초기화가 되고, i가 0보다 큰지 판별한다. 10은 0보다 크므로 T 빼기 %d, 세는 중 메세지가 출력되고, i는 감소된다. 그 다음 다시 i > 0을 판별한다. 여기서 i는 10부터 1까지 지속되므로 예제의 루프본문은 총 10번 실행된다. 📌 for문 관용적 표현- 일정 횟수 or 구간에서 변수를 증감시키는 동안 반복할 때 매우 유용한 반복문임.-.. 2024. 9. 5.
[6-2] do문 - do문은 사실상 while을 얘기할 때, 빼놓을 수 없을 정도로 관련 깊은 구문임.- do문은 while문과 거의 동일하다고 할 수 있음. 다만, 제어식을 루프 본문 실행 이후에 판별할 뿐임.do statement while ( expression ) ;while문과 동일하게 do의 본문 또한 한 개의 표현식으로 이루어져 있고, 제어식 또한 괄호로 감싸야함.do문이 실행되면, 우선 루프 본문이 먼저 실행되고 나서 제어식이 평가됨. 만약, 표현식이 0이 아닌 값을 갖는다면, 루프 본문은 다시 실행되고 표현식은 다시 한 번 더 평가됨. 루프 본문이 실행된 이후 제어식의 값이 0이라면, do문은 종료됨. 🌐 [프로그래밍] 정수의 자릿수 계산하기🌐 numdigits.c/* 한 정수의 자.. 2024. 9. 5.
[6-1] while - while문은 C언어의 반복문 중에서 가장 간단하면서, 중요한 구문임.- while문은 다음과 같은 구조를 가짐.while ( expression ) statement괄호 내의 표현식이 제어식이고, 괄호 이후 나오는 구문이 루프 본문임.while문이 실행되면, 우선 제어식이 평가됨.제어식 값이 0이 아니라면(참) ➡ 루프 본문이 실행된 다음 제어식을 평가함.이런 방식으로, 우선 제어식을 확인하고 루프 본문으로 넘어가는 방식이 제어식의 값이 0이 될 때까지 반복됨. 예제) 어떤 수 n보다 크거나 같은 수 중, 가장 작은 2의 제곱수를 찾아보자.          n의 값이 10이라고 가정할 때, while문이 실제로 어떻게 동작하는지 논리를 따라가보자.i = 1;while (i 제어식 (i 식이 거.. 2024. 9. 5.