Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- Machine Learning
- 연결 리스트
- 타입스크립트
- 프로세스
- 알고리즘
- APOLLO
- 해시테이블
- 컨테이너
- GraphQL
- 프론트엔드
- 스택
- 자료구조
- 릿코드
- 배열
- 프로그래머스
- 포인터
- 코딩테스트
- cors
- 이진탐색
- C
- 브라우저
- alexnet
- 자바스크립트
- 웹팩
- 연결리스트
- 큐
- RxJS
- pytorch
- RT scheduling
- vue3
Archives
- Today
- Total
프린세스 다이어리
[C] 반복문 문법 정리 본문
728x90
1. 반복문 - for문
#include <stdio.h>
int main(void) {
int sum = 0;
for (; 1;) {
int x;
scanf("%d", &x);
if (x == -1) {
break;
}
sum += x;
}
printf("%d\n", sum);
return 0;
}
for문에 저렇게 (;;)또는 (;1;) 이렇게 넣으면 항상 참이 됨. 그래서 어떤 조건을 걸지 않는 한은 무한루프에 빠진다. 위 로직에서는 정수형 입력값을 조건 없이 계속 받으면서 -1 입력값이 들어오면 이전에 입력했던 값을 모두 더해서 출력해주고 있다.
2. 반복문 - while문
#include <stdio.h>
int main(void) {
int n;
char a;
scanf("%d %c", &n, &a);
while (n--)
{
printf("%c\n", a);
}
return 0;
}
while문을 이용해 조건문을 검사하고, 여기서는 n이 참일때 printf 구문을 실행한다. 처음에 n일 때 참이면 실행하고 다시 나갔다 들어와서 1이 감소된 n이 여전히 참이면 실행하는 것이다. n이 거짓이 되는 시점에 while문이 끝나기 때문에 총 n번만큼 돌게 된다.
5 3
3
3
3
3
3
5와 3을 차례로 입력하면 3이 5번 출력된다.
3. 반복문 - 구구단
#include <stdio.h>
int main(void) {
int n;
scanf("%d", &n);
int i = 1;
while (i <= 9)
{
printf("%d * %d = %d\n", n, i, n * i);
i++;
}
return 0;
}
입력받은 값을 n에 넣고, n단을 출력하게 만드는 반복문이다.
3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
3을 입력하면 구구단 3단이 잘 출력된다.
4. while 중첩 반복문
#include <stdio.h>
int main(void) {
int i = 2;
while (i <= 9)
{
int j = 1;
while (j <= 9)
{
printf("%d * %d = %d\n", i, j, i*j);
j++;
}
printf("\n");
i++;
}
return 0;
}
i가 반복될 때마다 j가 9번 반복되도록 했다.
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
...
실행해 보면 성공적으로 구구단이 잘 출력된다.
#include <stdio.h>
int main(void) {
for (int i = 2; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
printf("%d * %d = %d\n", i, j, i*j);
}
printf("\n");
i++;
}
return 0;
}
이중for문으로 바꾸어 보았다. 같은 결과가 출력된다.
728x90
'C, C++' 카테고리의 다른 글
[C] 포인터 개념, 활용방법 정리 (0) | 2021.09.26 |
---|---|
[C] 배열 선언방법, 문자열 정리 (0) | 2021.09.25 |
[C] 함수 문법 정리 (0) | 2021.09.25 |
[C/C++] system("pause") 커맨드를 사용하면서 만난 에러와 새로 알게 된 것 정리 (0) | 2021.09.22 |
[C/C++] GCC가 무엇인가요? GCC의 컴파일 과정 4단계 (0) | 2021.09.21 |
Comments