반복문은 크게 3가지가 있습니다 (while, for, do~while)
반복문(while)
정의 : 주어진 조건을 평가하여 그 결과가 참인 동안은 while 루프의 종속문장을 반복실행
쓰는 방법 : if문이랑 똑같음
반복문(while) 예제
| #include <stdio.h> int main(void) { while (5) //루프가 계속해서 반복된다 값이 참이기 때문에 : 무한루프 { printf("Hello world!!\n"); } return 0; } | cs |
Hello world 5번 출력하기
| #include <stdio.h> int main(void) { int i=1; // 초기식 while (i <= 5) // 조건식 { printf("Hello world!!\n"); i++; // 증감식 } //i=6 값에서 대입해보고 폴스기 때문에 빠져 나간다. return 0; } | cs |
방법론(while) 구성요소 : 초기식, 조건식, 증감식
*반복문은 문제를 많이 풀업봐야 함* Tip
- 어떤 얘가 반복되는지 파악하기
- 내가 뭘 반복하고 싶은지 파악
- 반복 횟수 결정하기
무한루프 예제
| #include <stdio.h> int main(void) { int num = 0; while (1) { printf("Hello world!! \n", num); num++; } return 0; } | cs |
'Ctrl + C' 누르면 빠져 나올 수 있음
무한루프는 오류일까? No 대부분 모든 프로그램에서 프로그래머가 일부러 사용한다.
'Alt + F8' 이쁘게 정렬하기
7일차 수업 때, 만들었던 계산기 프로그램을 반복하면서 쓰고 싶다면 while 사용하기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <stdio.h> int main(void) { int opt,n1, n2; while (1) { printf("1.덧셈 2.뺄셈 3.곱셈 4.나눗셈\n"); scanf("%d", &opt); printf("연산할 두 수를 입력하세요 :"); scanf("%d %d", &n1, &n2); switch (opt) { case 1: printf("%d+%d=%d\n", n1, n2, n1+n2); break; case 2: printf("%d-%d=%d\n", n1, n2, n1-n2); break; case 3: printf("%d*%d=%d\n", n1, n2, n1*n2); break; case 4: printf("%d/%d=%d\n", n1, n2, n1/n2); break; default: printf("ㄲㅈ\n"); } printf("\n"); } return 0; } | cs |
문제!
| #include <stdio.h> int main(void) { int num, i=1; scanf("%d", &num); while (i <= num) { printf("Hello world\n"); i++; } return 0; } | cs |
| #include <stdio.h> int main(void) { int num, i=1; scanf("%d", &num); while (i <= num) { printf("%d", i*3); i++; } return 0; } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> int main(void) { int num, i=1, sum=0; scanf("%d", &num); if (num>1 && num<10) { while (i<=num) { sum=sum+i; i++; } printf("1부터 %d까지의 합은 %d입니다. \n", num, sum); } else printf("다시 입력하세요..\n"); return 0; } | cs |
| #include <stdio.h> int main(void) { int i=1; while (i<100) { if (i%7==0 || i%9==0) printf("%d ", i); i++; } return 0; } | cs |
| #include <stdio.h> int main(void) { int num, i=1; scanf("%d", &num); while (i < 10) { printf("%d*%d=%d\n", num, i, num*i); i++; } return 0; } | cs |
| #include <stdio.h> int main(void) { int num, i=9; scanf("%d", &num); while (i > 0) { printf("%d*%d=%d\n", num, i, num*i); i--; } return 0; } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int main(void) { int num, sum=0; while (1) { scanf("%d", &num); if (num==0) break; sum+=num; } printf("%d\n", sum); return 0; } | cs |
if문 없이 조건식을 표현 가능!
| #include <stdio.h> int main(void) { int num=1, sum=0; while (num!=0) //조건식 줄이기 가능 { scanf("%d", &num); sum+=num; } printf("%d\n", sum); return 0; } | cs |
조건식 더 줄여서 사용 가능
| #include <stdio.h> int main(void) { int num=1, sum=0; while (num) // num!=0 { scanf("%d", &num); sum+=num; } printf("%d\n", sum); return 0; } | cs |
20160118 c언어 8day.txt