반응형

# C언어

  • 헤더는 #include라는 키워드를 이용하여 사용한다.
  • 헤더에 표준 입출력을 위해서 stdio.h 라는 헤더를, 문자열 사용을 위해서는 string.h라는 헤더를 사용한다.
  • main 함수는 프로그램의 시작점이다.
  • printf는 stdio.h 안에 있는 함수로 C언어에서 출력을 위해 사용한다.
#include <stdio.h>

void main() {
	
    printf("Hello C World\n");
    
}

// 출력 결과 : Hello C World

- stdio는 Standard Input Output의 약자
- 메인은 프로그램의 시작 위치
- printf는 출력을 위한 C언어 함수로, 큰 따옴표 내에 있는 글자 출력, 큰따옴표 내의 \n은 개행을 의미.

 

# C++언어

  • 헤더는 #include라는 키워드를 이용하여 사용한다.
  • 헤더에 표준 입출력을 위해서 iostream이라는 헤더를, 문자열 사용을 위해서는 string이라는 헤더를 사용한다. (C 언어와 달리, h를 빼고 작성하는 것이 일반적이다.)
  • main 함수는 프로그램의 시작점이다.
  • cout는 iostream 안에 있는 함수로 C++ 언어에서 출력을 위해 사용한다.
  • std는 네임스페이스로 개체를 구분할 수 있는 범위를 나타내기 위해 사용한다.
#include <iostream>

void main() {

	std::cout << "Hello C++ World";
    
    std::cout << std::endl;

}

// 출력 결과 : Hello C++ World

- iostream은 Input/Output Stream의 약자
- 메인은 프로그램의 시작 위치
- cout은 출력을 위한 C++ 언어 함수로 << 연산을 사용하여 출력값을 연결하고, 큰 따옴표 내에 있는 글자를 출력
- endl은 개행을 위한 함수

 

# 자바 언어

  • 객체지향 언어이기 때문에 클래스를 생성해야 한다.
  • public class 클래스 이름 { } 구문을 통해 클래스를 생성한다.
  • main 함수는 프로그램의 시작점이다.
  • System.out.print는 자바 언어에서 출력을 위해 사용한다.
  • System.out.println은 System.out.print와 동일하지만 큰 따옴표 내의 글자를 출력한 후 한 줄을 개행한다.
public class A {

	public static void main(String[] args) {
    
    	System.out.print("Hello Java World");
        
    }
}

// 출력 결과 : Hello Java World

- A는 클래스 명으로 파일 이름과 동일해야 한다. (A.java)
- main 함수는 프로그램 시작점
- 큰 따옴표 안에 있는 글자를 출력

 

# 데이터 타입

## 문자 타입

1. 포맷 스트링

  • C 언어에만 해당하는 사항으로 변수에 저장된 값을 출력할 때는 printf라는 함수를 쓰고, printf 내에서 포맷 스트링을 통해 변수의 출력 방식을 결정한다.
  • C언어에서는 2진수를 출력하는 포맷 스트링은 존재하지 않는다.
  • 문자형(%c) : 문자 출력
  • 문자형(%s) : 문자열 출력
  • 정수형(%d) : 10진수 출력
  • 정수형(%x) : 16진수 출력
  • 정수형(%o) : 8진수 출력
  • 실수형(%f) : 실수 출력

 

2. 문자형 변수 출력

  • 문자를 저장할 때 사용하는 타입으로 char라는 키워드를 이용하여 문자형 변수를 선언한다.
  • 변수명과 출력 문자와 혼동할 수 있는 예제
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 'B';
    
    printf("a\n");

}

// 출력 결과 : a

- 변수 a에 'B'라는 문자를 저장
- a라는 문자를 출력한다.


2. C++ 코드
#include <iostream>

void main() {

	char a = 'B';
    std:cout << "a" << std::endl;
    
}

// 출력 결과 : a

- 변수 a에 'B'라는 문자를 저장
- a라는 문자를 출력한다.


3. 자바 코드
public static void main(String[] args) {
	
    char a = 'B';
    System.out.println("a");

}

// 출력 결과 : a

- 변수 a에 'B'라는 문자를 저장
- a라는 문자를 출력


4. 파이썬 코드
a = 'B'
print('a')

// 출력 결과 : a

- 변수 a에 'B'라는 문자를 저장
- a라는 문자를 출력
  • C언어의 경우는 포맷 스트링을 이용하여 출력하지 않는다면 큰 따옴표 안에 있는 문자를 그대로 출력한다.
  • C언어를 제외한 다른 언어들은 큰 따옴표 안에 있는 문자를 그대로 출력한다.
  • 변수에 있는 값을 출력하기 위해서 C언어의 경우 큰 따옴표 안에 포맷 스트링을 넣은 후 변수명을 따옴표 없이 적어주어야 하고, 나머지 언어들은 단순히 변수명을 따옴표 없이 적어주어야 한다.
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 'B';
    
    printf("%c\n", a);

}

// 출력 결과 : B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 문자(%c) 타입으로 출력한다.


2. C++ 코드
#include <iostream>

void main() {

	char a = 'B';
    std:cout << a << std::endl;
    
}

// 출력 결과 : B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 출력한다.


3. 자바 코드
public static void main(String[] args) {
	
    char a = 'B';
    System.out.println(a);

}

// 출력 결과 : B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 출력


4. 파이썬 코드
a = 'B'
print(a)

// 출력 결과 : B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 출력
  • 단순히 문자만 출력하지 않고 "a: "라는 글자를 포함하여 출력하는 예제
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 'B';
    
    printf("a: %c\n", a);

}

// 출력 결과 : a: B

- 변수 a에 'B'라는 문자를 저장
- 포맷 스트링(%c)를 a라는 변수에 저장되어 있는 값을 출력하고 나머지는 따옴표 안의 글자 출력


2. C++ 코드
#include <iostream>

void main() {

	char a = 'B';
    std:cout << "a: " << a << std::endl;
    
}

// 출력 결과 : a: B

- 변수 a에 'B'라는 문자를 저장
- "a: "라는 문자열을 출력하고 a라는 변수에 저장된 값을 출력


3. 자바 코드
public static void main(String[] args) {
	
    char a = 'B';
    System.out.println("a: " + a);

}

// 출력 결과 : a: B

- 변수 a에 'B'라는 문자를 저장
- "a: "라는 문자열을 출력하고, a라는 변수에 저장된 값을 출력(문자열 뒤에 + 기호는 두 결괏값을 붙일 때 사용)


4. 파이썬 코드
a = 'B'
print("a: ", a)

// 출력 결과 : a: B

- 변수 a에 'B'라는 문자를 저장
- "a: "라는 문자열을 출력하고, a라는 변수에 저장된 값을 출력(콤마는 두 결괏값을 붙일 때 사용함)
  • 포맷 스트링에 해당하는 부분만 변수에 저장된 값으로 출력하고, 나머지는 그대로 출력

 

## 정수 타입

1. 아스키 코드 (ASCII)

  • 미국 표준협회에서 제시한 표준 코드 체계로서, 문자에 대응하는 숫자를 표현한 코드 체계이다.
문자 10진수 16진수
NULL('\0') 0 0
SPACE(' ') 32 20
'0' 48 30
'1' 49 31
...
'9' 57 39
'A' 65 41
...
'a' 97 61
...
'z' 122 7A

2. 정수형 변수 출력

  • 정수를 저장할 때 사용하는 타입으로서 int라는 키워드를 사용, 정수형 변수를 선언한다.
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 5;
    
    printf("a: %d\n", a);

}

// 출력 결과 : a: 5

- 변수 a에 정수값인 5를 저장
- a라는 변수에 저장되어 있는 값을 정수(%d)로 출력한다.


2. C++ 코드
#include <iostream>

void main() {

	char a = 5;
    std::cout << "a: " << a;
    std::cout << std::endl;
    
}

// 출력 결과 : a: B

- 변수 a에 정수값인 5를 저장
- a라는 변수에 저장되어 있는 값을 출력, 한 줄 개행


3. 자바 코드
public static void main(String[] args) {
	
    char a = 5;
    System.out.println("a: " + a);

}

// 출력 결과 : a: 5

- 변수 a에 정수값인 5를 저장
- "a: "라는 문자열을 출력하고 a라는 변수에 저장된 값을 출력한다.


4. 파이썬 코드
a = 5
print("a: ", a)

// 출력 결과 : a: 5

- 변수 a에 정수값인 5를 저장
- "a: "라는 문자열을 출력하고, a라는 변수에 저장된 값을 출력한다.

 

3. 정수와 문자 관계

  • char는 문자를 출력하지만 정수형 포맷 스트링을 사용할 경우 문자에 해당하는 숫자가 출력된다.
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 'B';
    
    printf("%d %c\n", a, a);

}

// 출력 결과 : 66 B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 정수(%d), 문자(%c) 타입으로 출력한다.


2. C++ 코드
#include <iostream>

void main() {

	char a = 'B';
    std::cout << (int)a << " ";
    std::cout << a << std::endl;
    
}

// 출력 결과 : 66 B

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값을 int(정수형)으로 강제 변환하여 출력, a라는 변숫값 출력한다.


3. 자바 코드
public static void main(String[] args) {
	
    char a = 'B';
    System.out.println("" +(int)a + " " + a);

}

// 출력 결과 : 66 B

- 변수 a에 'B'라는 문자를 저장
- a라는 변숫값을 int(정수형)으로 강제 변환하여 출력한 값과 a라는 변숫값을 출력한다.


4. 파이썬 코드
a = 'B'
print(ord(a), a)

// 출력 결과 : 66 B

- 변수 a에 'B'라는 문자를 저장
- a라는 변숫값을 ord 함수를 이용 아스키코드 값으로 출력, a라는 변수에 저장된 값을 출력한다.
  • 문자형 변수에 값을 더하거나 뺀 후 해당 변수 값을 문자로 출력한 예제
1. C언어 코드
#include <stdio.h>

void main() {

	char a = 'B';
    
    printf("%c %c\n", a-1, a+1);

}

// 출력 결과 : A C

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값에 1을 뺀 값과 1을 더한 값을 문자(%c) 타입으로 출력


2. C++ 코드
#include <iostream>

void main() {

	char a = 'B';
    std::cout << (char)((int)a-1);
    std::cout << " ";
    std::cout << (char)((int)a+1);
    std::cout << std::endl;
    
}

// 출력 결과 : A C

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값에 1을 뺀 값을 문자로 출력, a라는 변수에 저장되어 있는 값에 1을 더한 값을 문자로 변환하여 출력


3. 자바 코드
public static void main(String[] args) {
	
    char a = 'B';
    System.out.println((char)(a-1) + " " + (char)(a+1));

}

// 출력 결과 : A C

- 변수 a에 'B'라는 문자를 저장
- a라는 변수에 저장되어 있는 값에 1을 뺀 값과 1을 더한 값을 문자로 출력


4. 파이썬 코드
a = 'B'
print(chr(ord(a)-1), chr(ord(a)+1))

// 출력 결과 : A C

- 변수 a에 'B'라는 문자를 저장
- a라는 변숫값을 ord 함수를 이용, 아스키코드 값으로 변경한 후 1을 빼고, 1을 더한 값을 chr 함수를 이용해 문자로 출력
  • char는 프로그램 관점에서 정수형 문자와 크게 차이가 없다. (char=1바이트의 변수 / int=4바이트 or 8바이트 변수)

 

4. 진법

  • 수를 표기하는 기수법으로서 컴퓨터에서는 2진수 형태로 저장하고 8진수, 10진수, 16진수 형태로 출력이 가능하다.
10진수 2진수 8진수 16진수
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C

 

5. 진법 출력

  • C언어에서 %x는 16진수 표기 시 소문자로 출려, %X는 16진수 표기 시 대문자로 출력된다.
  • 파이썬의 경우 16진수는 0x, 8진수는 0o가 붙는다.

 

# 연산자

1. 산술 연산자

  • 사칙연산과 관련된 연산 수행
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 7, b = 3;
    
    printf("%d\n", a + b);
    printf("%d\n", a - b);
    printf("%d\n", a * b);
    printf("%d\n", a / b);
    printf("%d\n", a % b);

}

// 출력 결과 : 10 4 21 2 1

- 변수 a에 7, b에 3이라는 숫자를 저장.
- a와 b를 더하고 그 값 출력
- a에서 b를 빼고 그 값 출력
- a와 b를 곱하고 그 값 출력
- a에서 b를 나눔(정수와 정수를 연산하면 정숫값이라 소수점에 해당하는 값 버림)
- a를 b로 나눴을 때 나머지


2. C++ 코드
#include <iostream>

void main() {

	int a = 7, b = 3;
    std::cout << a + b << std::endl;
    std::cout << a - b << std::endl;
    std::cout << a * b << std::endl;
    std::cout << a / b << std::endl;
    std::cout << a % b << std::endl;
    
}

// 출력 결과 :  10 4 21 2 1

- 변수 a에 7, b에 3이라는 숫자를 저장.
- a와 b를 더하고 그 값 출력
- a에서 b를 빼고 그 값 출력
- a와 b를 곱하고 그 값 출력
- a에서 b를 나눔(정수와 정수를 연산하면 정숫값이라 소수점에 해당하는 값 버림)
- a를 b로 나눴을 때 나머지


3. 자바 코드
public static void main(String[] args) {
	
    char a = 7, b = 3;
    System.out.println(a + b);
    System.out.println(a - b);
    System.out.println(a * b);
    System.out.println(a / b);
    System.out.println(a % b);

}

// 출력 결과 : 10 4 21 2 1

- 변수 a에 7, b에 3이라는 숫자를 저장.
- a와 b를 더하고 그 값 출력
- a에서 b를 빼고 그 값 출력
- a와 b를 곱하고 그 값 출력
- a에서 b를 나눔(정수와 정수를 연산하면 정숫값이라 소수점에 해당하는 값 버림)
- a를 b로 나눴을 때 나머지


4. 파이썬 코드
	a = 7
	b = 3
	
    print(a + b)
    print(a - b)
    print(a * b)
    print(int((int)a / (int)b))
    print(a % b)

// 출력 결과 : 10 4 21 2.33333 1

- 변수 a에 7, 변수 b에 3 이라는 숫자를 저장
- a와 b를 더하고 그 값 출력
- a에서 b를 빼고 그 값 출력
- a와 b를 곱하고 그 값 출력
- a에서 b를 나눔(정수와 정수를 연산하면 정숫값이라 소수점에 해당하는 값 버림)
- a를 b로 나눴을 때 나머지

 

2. 시프트 연산자

  • 비트를 이동시키는 연산자
  • a라는 변수를 2진수로 나타낼 경우 : 001010
  • a를 왼쪽으로 2비트 이동(a << 2)를 하게 되면 2진수로 된 비트들이 왼쪽으로 2칸 이동 : 101000
  • 반대로 a를 오른쪽으로 2비트 이동(a>>2)를 하게 되면 2진수로 된 비트들이 오른쪽으로 2칸 이동 : 000010
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10;
    
    printf("%d\n", a<<2);
    printf("%d\n", a>>2);
    
}

// 출력 결과 : 40 2

- 변수 a에 10을 저장.
- a를 왼쪽으로 2비트 이동한 결과를 10진수로 출력
- a를 오른쪽으로 2비트 이동한 결과를 10진수로 출력


2. C++ 코드
#include <iostream>

void main() {

	int a = 10;
    std::cout << (a<<2) << std::endl;
    std::cout << (a>>2) << std::endl;
    
}

// 출력 결과 :  40 2

- 변수 a에 10을 저장.
- a를 왼쪽으로 2비트 이동한 결과를 10진수로 출력
- a를 오른쪽으로 2비트 이동한 결과를 10진수로 출력


3. 자바 코드
public static void main(String[] args) {
	
    char a = 10;
    System.out.println(a<<2);
    System.out.println(a>>2);

}

// 출력 결과 : 40 2

- 변수 a에 10을 저장.
- a를 왼쪽으로 2비트 이동한 결과를 10진수로 출력
- a를 오른쪽으로 2비트 이동한 결과를 10진수로 출력


4. 파이썬 코드
	a = 10
	
    print(a<<2)
    print(a>>2)
    

// 출력 결과 : 40 2

- 변수 a에 10을 저장.
- a를 왼쪽으로 2비트 이동한 결과를 10진수로 출력
- a를 오른쪽으로 2비트 이동한 결과를 10진수로 출력

 

3. 관계 연산자

  • 두 피연산자 사이의 크기를 비교
  • 일반적으로 프로그래밍에서 0이면 False를 의미, 0 이외의 값은 True로 판단한다.
  • 결괏값을 출력할 때 True는 1의 값을 갖는다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10, b = 5;
    
    printf("%d\n", a > b);
    printf("%d\n", a < b);
    printf("%d\n", a == b);
    printf("%d\n", a != b);
    
}

// 출력 결과 : 1 0 0 1

- 변수 a에 10, b에 5를 저장.
- a > b는 참이므로 1 출력
- a < b는 거짓이므로 0 출력
- a == b는 거짓이므로 0 출력
- a != b는 참이므로 1 출력


2. C++ 코드
#include <iostream>

void main() {

	int a = 10, b = 5;
    std::cout << (a>b) << std::endl;
    std::cout << (a<b) << std::endl;
    std::cout << (a==b) << std::endl;
    std::cout << (a!=b) << std::endl;
    
}

// 출력 결과 :  1 0 0 1

- 변수 a에 10, b에 5를 저장.
- a > b는 참이므로 1 출력
- a < b는 거짓이므로 0 출력
- a == b는 거짓이므로 0 출력
- a != b는 참이므로 1 출력


3. 자바 코드
public static void main(String[] args) {
	
    char a = 10, b = 5;
    System.out.println(a>b);
    System.out.println(a<b);
    System.out.println(a==b);
    System.out.println(a!=b);

}

// 출력 결과 : true false false true

- 변수 a에 10, b에 5를 저장
- a > b는 참이므로 true 출력
- a < b는 거짓이므로 false 출력
- a == b는 거짓이므로 false 출력
- a != b는 참이므로 true 출력


4. 파이썬 코드
	a = 10
    b = 5
	
    print(a>b)
    print(a<b)
    print(a==b)
    print(a!=b)
    

// 출력 결과 : true false false true

- 변수 a에 10, b에 5를 저장
- a > b는 참이므로 true 출력
- a < b는 거짓이므로 false 출력
- a == b는 거짓이므로 false 출력
- a != b는 참이므로 true 출력

 

4. 논리 연산자

  • 두 피연산자 사이의 논리적 관계를 정의
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 0, b = 1;
    
    printf("%d\n", a && b);
    printf("%d\n", a || b);
    
}

// 출력 결과 : 0 1

- 변수 a에 0, b에 1을 저장.
- a는 0이기 때문에 False로 인식, b는 0 이외의 값이기 때문에 True로 인식
- a && b는 False와 True의 AND 조건이므로 False인 0을 출력한다.
- a || b는 False와 True의 OR 조건이므로 True인 1을 출력한다.


2. C++ 코드
#include <iostream>

void main() {

	boolean a = false, b = true;
    std::cout << (a&&b) << std::endl;
    std::cout << (a||b) << std::endl;
    
    
}

// 출력 결과 :  0 1

- 변수 a에 false, b에 true를 저장
- a && b는 False와 True의 AND 조건이므로 False인 0을 출력한다.
- a || b는 False와 True의 OR 조건이므로 True인 1을 출력한다.


3. 자바 코드
public static void main(String[] args) {
	
    boolean a = false, b = true;
    System.out.println(a&&b);
    System.out.println(a||b);
 

}

// 출력 결과 : false true

- 변수 a에 false, b에 true를 저장
- a && b는 False와 True의 AND 조건이므로 false를 출력한다.
- a || b는 False와 True의 OR 조건이므로 true를 출력한다.


4. 파이썬 코드
	a = false
    b = true
	
    print(a>b)
    print(a<b)
    print(a==b)
    print(a!=b)
    

// 출력 결과 : False True

- 변수 a에 false, b에 true를 저장
- a && b는 False와 True의 AND 조건이므로 False를 출력한다.
- a || b는 False와 True의 OR 조건이므로 True를 출력한다.

 

5. 비트 연산자

  • 0과 1의 각 자리에 대해 연산을 수행, 0 또는 1의 결괏값을 갖는 연산자
  • a는 10이므로 2진수로 나타낼 경우 : 1010
  • b는 9이므로 2진수로 나타낼 경우 : 1001
  • AND 연산의 경우 같은 자리의 비트가 모두 1인 경우만 결괏값이 1, 그외는 0이다.
  • OR 연산의 경우 같은 자리의 비트가 모두 0인 경우만 결괏값이 0, 그외는 1이다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10, b = 9;
    
    printf("%d\n", a & b);
    printf("%d\n", a | b);
    
}

// 출력 결과 : 8 11

- 변수 a에 10, b에 9를 저장.
- a & b의 비트 연산(1010 & 1001 = 1000)
- a | b의 비트 연산(1010 | 1001 = 1011)


2. C++ 코드
#include <iostream>

void main() {

	int a = 10, b = 9;
    std::cout << (a&b) << std::endl;
    std::cout << (a|b) << std::endl;
    
    
}

// 출력 결과 :  8 11

- 변수 a에 10, b에 9를 저장
- a & b의 비트 연산(1010 & 1001 = 1000)
- a | b의 비트 연산(1010 | 1001 = 1011)


3. 자바 코드
public static void main(String[] args) {
	
    int a = 10, b = 9;
    System.out.println(a&b);
    System.out.println(a|b);
 

}

// 출력 결과 : 8 11

- 변수 a에 10, b에 9를 저장
- a & b의 비트 연산(1010 & 1001 = 1000)
- a | b의 비트 연산(1010 | 1001 = 1011)


4. 파이썬 코드
	a = 10
    b = 9
	
    print(a&b)
    print(a|b)
    

// 출력 결과 : 8 11

- 변수 a에 10, b에 9를 저장
- a & b의 비트 연산(1010 & 1001 = 1000)
- a | b의 비트 연산(1010 | 1001 = 1011)

 

6. 대입 연산자

  • 변수에 값을 대입할 때 사용
  • 오른쪽에 있는 값을 왼쪽의 변수에 대입한다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10;
    
    a += 4;
    
    printf("%d\n", a);
    
    a /= 2;
    
    printf("%d\n", a);
    
}

// 출력 결과 : 14 7

- 변수 a에 10을 저장.
- a = a + 4와 동일, 변수에 저장된 숫자에 4가 더해진다.
- a = a / 2와 동일, 변수에 저장된 숫자가 2로 나눠진다.


2. C++ 코드
#include <iostream>

void main() {

	int a = 10;
    a += 4;
    std::cout << a << std::endl;
    a /= 2;
    std::cout << a << std::endl;
    
    
}

// 출력 결과 : 14 7

- 변수 a에 10을 저장.
- a = a + 4와 동일, 변수에 저장된 숫자에 4가 더해진다.
- a = a / 2와 동일, 변수에 저장된 숫자가 2로 나눠진다.


3. 자바 코드
public static void main(String[] args) {
	
    int a = 10;
    
    a += 4;
    System.out.println(a);
    
    a /= 2;
    System.out.println(a);
 

}

// 출력 결과 : 14 7

- 변수 a에 10을 저장.
- a = a + 4와 동일, 변수에 저장된 숫자에 4가 더해진다.
- a = a / 2와 동일, 변수에 저장된 숫자가 2로 나눠진다.


4. 파이썬 코드
	a = 10
   
   	a += 4
	
    print(a)
    
    a /= 2
    print(a)
    

// 출력 결과 : 14 7.0

- 변수 a에 10을 저장.
- a = a + 4와 동일, 변수에 저장된 숫자에 4가 더해진다.
- a = a / 2와 동일, 변수에 저장된 숫자가 2로 나눠진다.
- 파이썬의 경우 나누기를 하면 결과가 실수로 나온다.

 

7. 증감 연산자

  • 피연산자를 1씩 증가 or 감소시킬 때 사용
  • 파이썬은 증감 연산자가 존재하지 않는다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10;
    
    a++;    
    printf("%d\n", a);
    
    a--;    
    printf("%d\n", a);
    
}

// 출력 결과 : 11 10

- 변수 a에 10을 저장.
- a++ 로 인해 a의 값이 1증가
- a-- 로 인해 a의 값이 1감소


2. C++ 코드
#include <iostream>

void main() {

	int a = 10;
    
    a++;
    std::cout << a << std::endl;
    
    a--;
    std::cout << a << std::endl;
    
    
}

// 출력 결과 : 11 10

- 변수 a에 10을 저장.
- a++ 로 인해 a의 값이 1증가
- a-- 로 인해 a의 값이 1감소


3. 자바 코드
public static void main(String[] args) {
	
    int a = 10;
    
    a++;
    System.out.println(a);
    
    a--;
    System.out.println(a);
 

}

// 출력 결과 : 11 10

- 변수 a에 10을 저장.
- a++ 로 인해 a의 값이 1증가
- a-- 로 인해 a의 값이 1감소


4. 파이썬 코드 ( 증감 연산자 존재 x )

 

# 조건문

  • 조건의 참, 거짓 여부에 따라 실행 경로가 달라지는 if문과 여러 경로 중 하나를 선택하는 switch문으로 구분

1. if문

  • 조건이 참, 거짓인지에 따라 경로를 선택하는 명령문
  • if ~ else if ~ else 의 형태이다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10;
    
    if ( a % 2 == 0 ) {
    	printf("짝수\n");
    } else {
    	printf("홀수\n");
    }
    
}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a를 2로 나눴을 때 나머지가 0인 경우 짝수
- if 조건에 해당하지 않으면 홀수를 출력


2. C++ 코드
#include <iostream>

void main() {

	int a = 10;
    
    if ( a % 2 == 0 ) {
    	std::cout << "짝수" << std::endl;
    } else {
    	std::cout << "홀수" << std::endl;
    }
    
    
}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a를 2로 나눴을 때 나머지가 0인 경우 짝수
- if 조건에 해당하지 않으면 홀수를 출력


3. 자바 코드
public static void main(String[] args) {
	
    int a = 10;
    
    if ( a % 2 == 0 ) {
        System.out.println("짝수");
    } else {
        System.out.println("홀수");
    }
 

}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a를 2로 나눴을 때 나머지가 0인 경우 짝수
- if 조건에 해당하지 않으면 홀수를 출력


4. 파이썬 코드
	a = 10
   
   	if a % 2 == 0
    	print('짝수')
    else
    	print('홀수')

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a를 2로 나눴을 때 나머지가 0인 경우 짝수
- if 조건에 해당하지 않으면 홀수를 출력

 

2. switch~case문

  • 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용하는 명령어
  • 파이썬은 swich~case문이 존재하지 않는다.
1. C언어 코드
#include <stdio.h>

void main() {

	int a = 10;
    
   switch(a % 2) {
   	case 0:
    	printf("짝수\n");
        break;
    case 1:
    	printf("홀수\n");
   }
    
}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a % 2의 결과 값에 따라 해당 case로 이동
- a % 2 == 0일 경우 해당 case에 있는 명령문 실행(짝수)
- a % 2 == 1일 경우 해당 case 있는 명령문 실행(홀수)
- break를 만나지 않으면 계속 읽는다.


2. C++ 코드
#include <iostream>

void main() {

	int a = 10;
    
    switch(a % 2) {
   	case 0:
    	std::cout << "짝수" << std::endl;
        break;
    case 1:
    	std::cout << "홀수" << std::endl;
   }    
    
}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a % 2의 결과 값에 따라 해당 case로 이동
- a % 2 == 0일 경우 해당 case에 있는 명령문 실행(짝수)
- a % 2 == 1일 경우 해당 case 있는 명령문 실행(홀수)
- break를 만나지 않으면 계속 읽는다.


3. 자바 코드
public static void main(String[] args) {
	
    int a = 10;
    
    switch(a % 2) {
   	case 0:
    	System.out.println("짝수");
        break;
    case 1:
    	System.out.println("홀수");
   }  

}

// 출력 결과 : 짝수

- 변수 a에 10을 저장.
- a % 2의 결과 값에 따라 해당 case로 이동
- a % 2 == 0일 경우 해당 case에 있는 명령문 실행(짝수)
- a % 2 == 1일 경우 해당 case 있는 명령문 실행(홀수)
- break를 만나지 않으면 계속 읽는다.


4. 파이썬 코드 ( switch~case문 존재 x )

 

# 반복문

  • 특정 부분을 조건이 만족할 때까지 실행하도록 하는 명령문

1. for문

  • 초기값, 최종값, 증감 값을 지정하여 반복 실행하는 명령문
1. C언어 코드
#include <stdio.h>

void main() {

	int i;
    int a = 4;
    
    for( i = 1; i <= 9; i++ ) {
    	printf("%d * %d = %d\n", a, i, a*i);
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- for문에서 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i는 1 ~ 9 까지 1씩 증가
- for문이 돌 때마다 i 값이 변경된다.


2. C++ 코드
#include <iostream>

using nammespace std;

void main() {

	int i;
    
    int a = 4;
    
    for ( i = 1; i <= 9; i++ ) {
    	cout << a << "*" << i << "=";
        cout << a * i << endl;
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- for문에서 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i는 1 ~ 9 까지 1씩 증가
- for문이 돌 때마다 i 값이 변경된다.


3. 자바 코드
public static void main(String[] args) {
	
    int i;
    int a = 4;
    
    for ( i = 1; i <= 9; i++ ) {
    	System.out.println(a + "*" + i + "=" + (a*i));
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- for문에서 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i는 1 ~ 9 까지 1씩 증가
- for문이 돌 때마다 i 값이 변경된다.


4. 파이썬 코드
	a = 4
    
    for i in range(1, 10):
    	print(a, '*', i, '=', a * i)
    

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- for문에서 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i는 1 ~ 9 까지 1씩 증가
- for문이 돌 때마다 i 값이 변경된다.

 

2. while문

  • 시작, 종료 조건을 지정하여 참인 동안 해당 문장을 반복 실행하는 명령문
1. C언어 코드
#include <stdio.h>

void main() {

	int i;
    int a = 4;
    
    while( i <= 9 ) {
    	printf("%d * %d = %d\n", a, i, a*i);
        i++;
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- 구구단에 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i <= 9를 만족할 때까지 실행
- 구구단 출력 부분
- i 값을 1 증가시킴


2. C++ 코드
#include <iostream>

void main() {

	int i;
    
    int a = 4;
    
    while ( i <= 9 ) {
    	cout << a << "*" << i << "=";
        cout << a * i << endl;
        i++;
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- 구구단에 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i <= 9를 만족할 때까지 실행
- 구구단 출력 부분
- i 값을 1 증가시킴


3. 자바 코드
public static void main(String[] args) {
	
    int i;
    int a = 4;
    
    while ( i <= 9; ) {
    	System.out.println(a + "*" + i + "=" + (a*i));
        i++;
    }
    
}

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- 구구단에 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i <= 9를 만족할 때까지 실행
- 구구단 출력 부분
- i 값을 1 증가시킴


4. 파이썬 코드
	a = 4
    
    while i <= 9:
    	print(a, '*', i, '=', a * i)
        i = i + 1
    

// 출력 결과 : 4 * 1 = 4, 4 * 2 = 8, ... , 4 * 9 = 36

- 구구단에 사용할 변수 선언(i)
- a 변수에 값 추가(4)
- i <= 9를 만족할 때까지 실행
- 구구단 출력 부분
- i 값을 1 증가시킴
반응형

+ Recent posts