# 루프 제어문
1. break
- break는 반복문이나 switch문을 중간에 탈출하기 위해 사용하는 명령어이다.
1. C언어 코드
#include <stdio.h>
void main() {
int i = 0
while(1) {
printf("%d\n", i);
i++;
if( i >= 5 ) {
break;
}
}
}
// 출력 결과 : 0 1 2 3 4 5
- 변수 i에 0을 저장
- 조건이 1이라는 것은 항상 참이므로 무한 반복된다.
- i++로 인해 i의 값이 1씩 증가된다.
- i가 5보다 크거나 같을 경우, 해당 반복문을 탈출하게 된다.
2. C++ 코드
#include <iostream>
void main() {
int i = 0;
while(1) {
std:cout << "i << std::endl;
i++;
if ( i >= 5 ) {
break;
}
}
}
// 출력 결과 : 0 1 2 3 4 5
- 변수 i에 0을 저장
- 조건이 1이라는 것은 항상 참이므로 무한 반복된다.
- i++로 인해 i의 값이 1씩 증가된다.
- i가 5보다 크거나 같을 경우, 해당 반복문을 탈출하게 된다.
3. 자바 코드
public static void main(String[] args) {
int i = 0;
while(true) {
System.out.println(i);
i++;
if( i >= 5 ) {
break;
}
}
}
// 출력 결과 : 0 1 2 3 4 5
- 변수 i에 0을 저장
- 조건이 true 이므로 무한 반복된다.
- i++로 인해 i의 값이 1씩 증가된다.
- i가 5보다 크거나 같을 경우, 해당 반복문을 탈출하게 된다.
4. 파이썬 코드
i = 0
while True:
print(i)
i = i + 1
if i >= 5:
break;
// 출력 결과 : 0 1 2 3 4 5
- 변수 i에 0을 저장
- 조건이 1이라는 것은 항상 참이므로 무한 반복된다.
- i++로 인해 i의 값이 1씩 증가된다.
- i가 5보다 크거나 같을 경우, 해당 반복문을 탈출하게 된다.
2. continue
- continue는 반복문에서 다음 반복으로 넘어갈 수 있도록 하는 명령어.
1. C언어 코드
#include <stdio.h>
void main() {
int i;
for ( i = 0; i < 100; i++ ) {
if ( i % 3 == 0 ) {
continue;
printf("%d\n", i);
}
}
}
// 출력 결과 : 1 2 4 5 7 8 .... 98
- 변수 i
- i는 0 ~ 99 반복
- i가 3으로 나눠 떨어질 경우 다음 반복을 수행한다.
2. C++ 코드
#include <iostream>
void main() {
int i;
for ( i = 0; i < 100; i++ ) {
if ( i % 3 == 0 ) {
continue;
std::cout << i << std::endl;
}
}
}
// 출력 결과 : 1 2 4 5 7 8 .... 98
- 변수 i
- i는 0 ~ 99 반복
- i가 3으로 나눠 떨어질 경우 다음 반복을 수행한다.
3. 자바 코드
public static void main(String[] args) {
int i;
for ( i = 0; i < 100; i++ ) {
if ( i % 3 == 0 ) {
continue;
System.out.println(i);
}
}
}
// 출력 결과 : 1 2 4 5 7 8 .... 98
- 변수 i
- i는 0 ~ 99 반복
- i가 3으로 나눠 떨어질 경우 다음 반복을 수행한다.
4. 파이썬 코드
for i in range(0, 100)
if i % 3 == 0:
continue
print(i)
// 출력 결과 : 1 2 4 5 7 8 .... 98
- 변수 i
- i는 0 ~ 99 반복
- i가 3으로 나눠 떨어질 경우 다음 반복을 수행한다.
# 배열 / 리스트
1. 배열/리스트란
- 번호(index)와 번호에 대응하는 데이터들로 이루어진 자료 구조를 의미한다.
2. 배열
- C, C++, 자바에서는 배열을 통해 같은 데이터 타입을 저장한다.
- 파이썬은 리스트를 통해 같거나 다른 데이터 타입을 저장한다.
1. C언어 코드
#include <stdio.h>
void main() {
int i;
int sum = 0;
int a[5] = {4, 2, 1, 7, 10};
for ( i = 0; i < 5; i++ ) {
sum += a[i];
}
printf("%d\n", sum);
}
// 출력 결과 : 24
- 변수 i, 합계를 담을 변수 sum
- 5개의 요소를 가진 배열 a
2. C++ 코드
#include <iostream>
void main() {
int i;
int sum = 0;
int a[5] = {4, 2, 1, 7, 10};
for ( i = 0; i < 5; i++ ) {
sum += a[i];
}
std::cout << sum << std::endl;
}
// 출력 결과 : 24
- 변수 i, 합계를 담을 변수 sum
- 5개의 요소를 가진 배열 a
3. 자바 코드
public static void main(String[] args) {
int i;
int sum = 0;
int a[5] = {4, 2, 1, 7, 10};
for ( i = 0; i < 5; i++ ) {
sum += a[i];
}
System.out.println(sum);
}
// 출력 결과 : 24
- 변수 i, 합계를 담을 변수 sum
- 5개의 요소를 가진 배열 a
4. 파이썬 코드
sum = 0
a = [4, 2, 1, 7, 10]
for i in range(0, 5):
sum += a[i]
print(sum)
// 출력 결과 : 24
- 변수 i, 합계를 담을 변수 sum
- 5개의 요소를 가진 리스트 a
3. 2차원 배열
1. C언어 코드
#include <stdio.h>
void main() {
int i, j;
int a[2][2] = {{1, 2} ,{3, 4}};
int j[2][2] = {{1, 2} ,{3, 4}};
int c[2][2];
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
c[i][j] = a[i][j] + b[i][j];
}
}
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
printf("%d\n", c[i][j]);
}
}
}
// 출력 결과 : [2, 4, 6, 8]
- 2차원 배열 a, b
- c는 a, b의 같은 인덱스에 있는 값을 더한 후 저장
2. C++ 코드
#include <iostream>
void main() {
int i, j;
int a[2][2] = {{1, 2} ,{3, 4}};
int j[2][2] = {{1, 2} ,{3, 4}};
int c[2][2];
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
c[i][j] = a[i][j] + b[i][j];
}
}
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
std::cout << c[i][j] << std::endl;
}
}
}
// 출력 결과 : [2, 4, 6, 8]
- 2차원 배열 a, b
- c는 a, b의 같은 인덱스에 있는 값을 더한 후 저장
3. 자바 코드
public static void main(String[] args) {
int i, j;
int a[][] = {{1, 2} ,{3, 4}};
int j[][] = {{1, 2} ,{3, 4}};
int [][]c = new int[2][2];
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
c[i][j] = a[i][j] + b[i][j];
}
}
for ( i = 0; i < 2; i++ ) {
for ( j = 0; j < 2; j++ ) {
System.out.println(c[i][j]);
}
}
}
// 출력 결과 : [2, 4, 6, 8]
- 2차원 배열 a, b
- c는 a, b의 같은 인덱스에 있는 값을 더한 후 저장
4. 파이썬 코드
a = {{1, 2} ,{3, 4}}
b = {{1, 2} ,{3, 4}}
c = []
for i in range(0, 2):
for j in range(0, 2):
c.append(a[i][j] + b[i][j])
print(c)
// 출력 결과 : [2, 4, 6, 8]
- 2차원 배열 a, b
- c는 a, b의 같은 인덱스에 있는 값을 더한 후 저장