// Main.c
// 챕터 4-1 : while문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int i = 1; // 정수형 변수 i에 1을 대입시킨다.
while (i < 5) //while(조건문){} 이 경우 i가 5 미만일 때 조건문이 true이다.
{
printf("%d\n", i); //%d 형식으로 i를 출력한다.
++i; // i의 값에 +1을 더한다.
}
int A = 1;
int D = 1;
while (A < 6)
{
D *= 2;
++A;
}
printf("%d\n", D);
int B = 1;
int C = 0;
while (B < 6)
{
C += 10;
++B;
}
printf("%d\n", C);
int Num;
int sum = 0;
int E = 0;
while (E < 8)
{
scanf("%d", &Num);
if (sum < Num)
{
sum = Num;
}
++E;
}
printf("%d", sum);
int Num2;
int sum2 = 50;
int F = 0;
while (F < 6)
{
scanf("%d", &Num2);
if (Num2 < 0)
{
printf("%s\n", "You cannot enter negative numbers. Please enter them again.");
}
else if(Num2 > 100)
{
printf("%s\n", "You cannot enter a value that is too large. Please enter it again.");
}
else if(sum2 > Num2)
{
printf("%s\n", "Saves the new value.");
sum2 = Num2;
++F;
}
}
printf("%d", sum2);
return 0;
}
// Main.c
// for문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int i;
for (i = 1; i < 5; ++i) // for (초기식; 조건식; 증감식){명령어}
{
printf("%d\n", i);
}
int A;
int Num;
int sum = 0;
for (A = 1; A < 6; ++A)
{
scanf("%d", &Num);
sum += Num;
}
printf("%d\n", sum);
int B;
int Num2;
int sum2 = 0;
int C = 0;
int D = 0;
for (B = 1; B < 6; ++B)
{
scanf("%d", &Num2);
if (Num2 > 0)
{
++C;
}
else
{
++D;
}
printf("%d %d\n", C, D);
}
return 0;
}
// Main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//do while문
int main(void)
{
int i = 0, Boom = 5;
do // 해당 명령문을 수행한다.
{
printf("%d...\n", i);
++i;
} while (i < Boom); // while문의 조건식이 ture일 경우 다시 do 로 돌아가서 같은 명령문을 반복한다. false의 경우 다음 줄로 넘어간다.
printf("BOOM!!!");
//do
//{
// 명령문
//} while(조건문);
int A = 0;
int B;
int C = 0;
do
{
scanf("%d", &B);
C += B;
++A;
printf("%s %d\n", "Current value of variable C :", C);
} while (A < 5);
printf("%d", C);
return 0;
}
// Main.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//무한반복문과 break, continue
int main(void)
{
int i = 0;
while (1) // 무한반복문을 돌릴 경우 false값인 0을 제외한 다른 값을 넣으면 된다.
{
if (i % 2 == 1)
{
++i;
continue; // 반복문의 해당 회차에서 continue 아래의 명령문을 건너뛴다.
}
if (5 <= i)
{
break; // 해당 반복문에서만 탈출한다. 다중 반복문 전체를 탈출하는 게 아니다.
}
printf("%d\n", i);
++i;
}
//while(1)
//{
//int i = 0;
//while(1){
//while(2){
//명령문
//break <- while(2)만 탈출한다.
int A = 0;
int B;
while (1)
{
scanf("%d", &B);
if (B > 0)
{
printf("%s\n", "Variable B is greater than 0.");
continue;
}
if(B == 0)
{
printf("%s\n", "Variable B is equal to 0. Terminates the loop.");
break;
}
printf("%s\n", "Variable B is less than 0.");
}
return 0;
}
// Main.c
#include <stdio.h>
//이중 반복문1
int main(void)
{
int i, j;
for (i = 1; i <= 3; ++i) // 해당 조건문이 ture일 때
{
printf("%c ", '&'); // 해당 명령문을 출력한다.
for (j = 1; j <= 3; ++j) //그리고 해당 조건문이 ture일 때
{
printf("%c ", '*');// 해당 조건문을 반복하고 끝난다면 다시 첫번째 for문으로 돌아간다.
}
printf("\n");
}
//for(초기식; 조건식; 증감식)
//{
//명령문;
//for(초기식; 조건식; 증감식)
//명령문
//}
//}
int A, B;
for(A = 1; A < 5; ++A)
{
printf("%s\n", "Reload!");
for (B = 1; B < 8; ++B)
{
printf("%s ", "Bang!!");
}
printf("\n");
printf("%s ", "I've used up all the bullets.");
printf("\n");
}
int C, D;
int E = 1;
for(C = 1; C < 4; ++C)
{
for(D = 1; D < 5; ++D)
{
printf("%d ", E);
++E;
}
printf("\n");
}
int F;
int G = 0;
for (F = 1; F < 6; ++F)
{
while(1)
{
printf("%8s\n", "hello");
printf("%-8s\n", "hi");
++G;
if (G > 3)
{
printf("%20s\n", "break");
break;
}
}
G = 0;
}
return 0;
}
// Main.c
// 이중 반복문 2
#include <stdio.h>
int main(void)
{
int i, j, k;
for (i = 1; i <= 3; ++i) // 아래 명령문을 3 번 반복한다.
{
for (j = i; j < 3; ++j) // printf(" "); 라는 명령문을 i 만큼 반복한다. 예를 들어 i의 값이 1일 경우 2 번 실행된다.
{
printf(" ");
}
for (k = 1; k <= i; ++k) // printf("*"); 라는 반복문을 i 횟수 이하만큼 반복한다. 예를 들어 i의 값이 1일 경우 1 번 실행된다.
{
printf("*");
}
printf("\n");
}
int A, B, C, D, E, F, G;
for (A = 1; A <= 10; ++A) // A의 값이 10보다 작거나 같은 동안 true로 분류되며 반복문을 실행할 때마다 A의 값을 1 올린다.
{
if(A > 5) // A의 값이 5 이상일 때만 해당 명령문을 실행한다.
{
for (E = A; E > 6; --E) // E에 A의 값을 대입시키고 E가 6보다 클 때만 true로 분류되며 반복문을 실행할 때마다 E의 값을 1 내린다.
{
printf(" ");
}
for(F = 10; F >= A; --F) // F에 10울 대입시키고 F가 A보다 크거나 같을 때만 true로 분류되며 반복문을 실행할 때마다 F의 값을 1 내린다.
{
printf("*");
}
for (G = 10; G > A; --G)
{
printf("*");
}
printf("\n");
continue;// 해당 명령문이 실행될 때에 하단의 명령문은 넘어간다.
}
for (B = A; B < 5; ++B) // B에 A의 값을 대입시키고, B가 5보다 작은 동안 true로 분류되며 반복문을 실행할 때마다 B의 값을 1 올린다.
{
printf(" "); // 만약 A의 값이 1이라면 4번 실행되고, A의 값이 5라면 0번 실행된다.
}
for (C = 1; C <= A; ++C) // C의 값에 1을 대입시키고, C 가 A보다 작거나 같은 동안 true로 분류되며 반복문을 실행할 때마다 C의 값을 1 올린다.
{
printf("*"); //만약 A의 값이 1 이라면 1 번 실행되고, A의 값이 5라면 5번 실행된다.
}
for (D = 1; D < A; ++D)
{
printf("*");
}
printf("\n");
}
return 0;
}