프로그래밍 study 49

CH3.java 조건문

프로그래밍 언어에서는 다양한 제어문을 가지고 있다. 크게본 다면 3가지로 나누어 볼 수 있다. 1.조건문 주어진 조건에 맞추어 원하는 구문을 실행하여 제어 한다는 것으로 대표적으로는 if문 switch case 들이 있다. 2.반복문 주어진 시간 또는 조건을 만족하는 동안 같은 구문을 반복하는 것으로 for while 들이 있다. 3.분기문 구문이 끝나는 시점 또는 주어진 조건을 만족할때 특정 구문으로 이동 하는 것으로 contunue break return 들이 존재 한다. 오늘은 여기서 1번에 해당하는 조건문을 진행 해보고자 한다. IF문 if문은 다음과 같이 정의하여 사용한다. 조건식이 true값을 가질 때 중괄호({ }) 안의 실행문을 작동시킨다. 반대로 조건식이 false이면 중괄호({ })의 ..

CH2. java 콘솔 출력

java에서도 변수를 확인하거나 사용자에게 콘솔로 메세지를 전달 할때 사용하는 방법으로 print 구문이 다양하게 있다. 예시) print , printf, println print - 기본형 출력 줄 바꿈 및 기본적인 기능 없이 문자열 및 변수를 출력한다. println - 기본적으로 문자열 또는 변수 의 끝에 \n이 포함되어 줄바꿈 처리가 문자열 끝에서 자동으로 발생한다. printf - 형식화된 출력으로 c 언의 printf 와 기능은 동일하다. %b boolean 형식으로 출력 %d 정수 형식으로 출력 %o 8진수 정수의 형식으로 출력 %x 또는 %X 16진수 정수의 형식으로 출력 %f 소수점 형식으로 출력 %c 문자형식으로 출력 %s 문자열 형식으로 출력 %n 줄바꿈 기능 %e 또는 %E 지수 ..

CH1. 변수 선언

변수란? 프로그래밍에서는 변하는 값을 '변수'라고 한다. 말그대로 변화하는 수라는 의미이다. 예를 들어 시시각각 변화하는 주식의 가격과 이에 맞춰 항상 마이너스를 기록하는 내 통장 잔고 처럼 말이다. 변수 선언 방법은 이전 c 언어나 c++ 언어와 유사 하며 다음과 같이 선언 하고 대입 할 수 있다. 다만 cpp 와 조금 다른점이라면 입력을 하는 경우 거의 모든 데이터는 stream 이나 buffer 형태로 문자 또는 문자열로 받기 때문에 c 언어의 상수 입력 받기랑 조금 다른 점을 보인다. 그렇기에 콘솔 입출력은 다음 기회에 보고자 한다. 그리고 또다른 특징으로는 변수 선언시 메모리에 할당 되는 사이즈가 조금 다른 변수형들이 몇몇 있다는 것으로 다음과 같은 코드를 통해서 이를 확인 할 수 있다. 1 2..

CH7. Class(feat. 객체지향 oop)

객체 지향이란? 객체지향 프로그래밍(Object-Oriented Programming:oop)은 객체를 기반으로 하는 프로그램으로 객체가 주체가 되어 프로그래밍을 한다로 생각하면 편하다. 보통 c언어를 절차 지향이라고 하게 되는데 이와 비교 해보면 객체 지향의 의미보단 그 차이를 중점적으로 확인 할 수 있을것이다. 절차 지향의 경우 절차를 기반으로 실행하는 프로그램을 의미한다. 그 예시는 다음 아래 그림을 통해서 확인 할 수 있다. 행동(Action)의 발생 순서가 시간에 따라 순서대로 진행 된다. 절차 지향에서는 학교에 도착해서 버스를 타고, 요금을 지불 하는 사건은 발생할 수 없는 것이다. 반면에 객체 지향 프로그래밍에서는 객체를 정의 하고 객체간의 협력을 프로그램을 하는 것으로 위 그림을 객체로 분..

CH4 산술 관계 논리 연산자

산술 관계 논리 연산자 우선순위 종류 연산자 연산 방향 1 1차 연산자 ( ) [ ] . -> -> 2 단항 연산자 - + + - - ~ ! * & sizeof (type) 5 비트 이동 연산자 > -> 6 관계 연산자 = -> 7 동등 연산자 == != -> 8, 9, 10 비트 논리 연산자 & ^ | -> 11, 12 논리 연산자 && || -> 13 조건 연산자 ? : -> 14 대입 연산자 = += -= *= /= %= &= ^= |= = (연산자의 종류) 1. 연산자와 피연산자 - 프로그램은 CPU가 처리하는 명령들의 묶음이다. 일반적으로 연산자는 컴파일되면 명령어로 바뀌므로 연산자를 배우는 것은 결국 명령을 익히는것이다. 이든 연산 명령에는 연산의 대상이 되는 데이터가 필요한데 이를 피연..

CH0. JAVA 설치 및 테스트

이전에는 분명 jdk 설치부터 환경 변수 설정까지 생각보다 복잡 했던것 같은데 이번에 다시 배워 보려 설치 해보는데 많이 수월해졌다. https://www.oracle.com/java/technologies/downloads/#jdk17-windows 해당 링크를 통해 installer를 받으면 설치과정중에 환경 변수설정까지 완성 되어 있다. JDK 설치가 완료되었다면 이제는 IDE 편집기를 설치만 하면 끝이 난다. java는 편집기는 크게 대표적인 3가지가 있다. inteli j, eclips, vscode로 볼 수 있다. 각 설치 과정은 아래와 같이 간단하게 링크로 정리 해두었다. eclips https://www.eclipse.org/downloads/ Eclipse Downloads | The E..

CH3-2 데이터 입력

scanf()함수 scanf() 함수는 C언어의 표준 입력 함수로, 사용자로부터 다양한 데이터를 다양한 서식에 맞춰 입력받을 수 있게 해준다. scanf() 함수의 원형은 다음과 볼 수 있다. printf에서 저장된 변수 또는 연산된 변수를 표시하는 것과 매우 유사한 형태를 가지고 있다. 여기서 f의 의미는 formatted 의 약자이며, 서식화된 입력을 받겠다는 의미를 한다. 그림에서 보는것 처럼 &a를 사용하는 이유는 변수의 형태를 그대로 가져 오는 것이 아닌 주소 값을 이용해서 값을 대입 하기 때문에 주소 값을 선언 하는 &를 이용해서 변수에 맞는 형태에 사용자 입력 값을 저장 할 수 있다. 그렇기 때문에 주솟값을 반환하는 변수인 배열에서는 &를 붙이지 않아도 scanf 나 printf는 정상적으로..

CH3 변수

변수란? 특정 값을 저장하는 메모리 공간을 뜻한다. 해당 메모리 공간에 저장되는 값은 정수형(integer(int)), 실수형(float, double),문자(char)및 문자열(String) 등 여러가지 형식이 있으며 이를 이용하여 프로그래밍 한다. 해당 메모리 공간에는 허용되는 범위 내에 어떤값이든 저장할 수 있으므로 변수라고 하며, 허용되는 범위보다 큰 값을 저장하려고 할 때 오버플로가 발생한다. 각 프로그래밍 언어에 따라 변수의 선언 대입 연산 조금씩 차이가 발생한다. 변수의 선언별 크기 는 다음과 같이 볼 수 있다. 형태 크기 값 bool 1바이트 참/거짓 unsigned short int 2바이트 0~65,535 short int 2바이트 -32,435~32,767 unsigned long i..

CH1 프로그램 언어 C 컴파일 과정

C언어의 탄생 C언어는 1972년에 데니스 리치가 UNIX 시스템에서 사용하기 위해서 켄 톰슨이 만든 B언어를 발전 시켜서 만든 언어이다. 초기 C언어는 하드웨어 상관 없이 사용할 수 있는 언어를 목적으로 만들어 졌고 현재에도 계속해서 개선 되어가고 있다. C언어의 장점은 다음과 같이 정리할 수 있다. 1. 시스템 프로그래밍이 가능하다. 운영체제 OS(operating system)를 개발할 목적으로 만든 언어이므로 하드웨어를 제어하는 시스템 프로그래밍이 가능하다. 2. 이식성을 갖춘 프로그램을 만들수 있다. 이식성 portability 이란 기종이 다른 컴퓨터에서도 사용할 수 있는 프로그램으로, 표준을 지켜 만들면 컴퓨터의 종류가 바뀌더라도 같은 프로그램을 계속해서 사용할 수 있따. 표준에 정의되지 않..

CH2 C언어 상수와 데이터 출력

함수란? 일정한 기능을 수행하는 코드 단위를 의미한다. 큰 프로그램일스록 함수를 많이 사용하지만, 간단한 프로그램은 main 함수 하나만으로 만들기도 한다. 간단한 main 함수의 구조를 보면 다음과 같이 표현 할 수 있다. 1 2 3 4 5 6 7 8 9 #include int main(void){ 10+20//10 과 20 더하기 return 0; //프로그램 종료 } cs 매우 심플한데 이 구조가 어찌보면 main 함수에 전부이며 우리가 배워 나가는 변수, 입력, 출력 , 포인터 등이 이곳에서 호출 되어 사용된다는 점이 다를 뿐 함수라는 구조에서는 이와 유사하게 진행 된다. #include 이전 CH1을 통해서 볼 수 있었던 전처리 지시자이다. int main(void) 이부분은 함수의 선언으로 분..