반응형

# 루프 제어문

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의 같은 인덱스에 있는 값을 더한 후 저장
반응형

+ Recent posts