본문 바로가기

학위공부/독학사 요점정리

[독학사/컴공/객체지향프로그래밍]5.연산자, 수식, 문장

반응형

3.연산자, 수식, 문장

 

 

3.1.연산자

3.1.1.연산자 종류 및 사용방법

3.1.2.연산 우선순위와 계산 순서

http://prof.dongju.ac.kr/syhong/public_html/teaching/c/c04.htm

 

 

3.2.수식 및 문장

3.2.1.암묵적 자료형 변환

-형 변환은 프로그래밍에서 자료형을 다른 형태로 변경하는 것필요에 따라서 자동적으로 변경되는 암묵적 형 변환(암시적 형변환자동 형변환)과 프로그래머가 직접 변경하는 명시적 형변환으로 크게 두가지로 나뉨.

 

 

암묵적 형변환은 컴파일러가 자동으로 변환하는 형변환예를 들면 복수 데이터 형태가 사용될 때 상위 데이터의 형태로 자동 변환된다.

예시

double d;

long l;

int i;

...

if(d > i) d = i;

if(i > l) l = i;

if(d ==l) d*=2;

위 c코드에서 d,l,i는 다른 데이터형을 가지고 있지만모든 연산은 자동적으로 같은 형태로 변환된 다음에 진행된다.

예시2.

int i = 3.14; //( i == 3)

double d = 1; //( d == 1.000000 )

char c = 129; //( c == -127 )

위 C코드처럼 int(정수)형 변수에 double(부동소수점)형 데이터를 넣으면 소수점 이하의 값이 없어지게 된다. (프로그램은 이런 상황에서 비효율적인 반올림을 사용하지 않고 데이터를 버린다.)

또한대입한 데이터가 자료형으로 표현할 수 있는 범위를 벗어나는 경우 데이터의 일부를 잃어버리게 된다.

 

 

3.2.2.명시적 자료형 변환

명시적 형변환은 프로그래머가 명시적으로 형변환을 요청하는 형태의 변환으로 강제 형변환이라고도 한다.

예제

int a = 10;

int b = 20;

 

 

double f = a/b; // f = 0.0

doble g = (double)a/b; // g = 0.5

f는 a/b(10/20)의 결과인 0이 대입된것이고, g는 명시적 형변환으로 double형이 된 a그와 계산하기 위해 암묵적 형변환으로 double형이 된 b가 계산되어 실수/실수의 계산으로 0.5의 결과가 나왔다.

 

 

3.2.3.수식과 문장

.문장

연속적인 실행을 제어하고 수식을 평가또는 아무것도 하지 않으며 세미콜론으로 끝남.

:x = a+b;

-빈칸띄어쓰기와 같은 공백문자는 문장에서 무시됨

-복합문은 하나의 문장처럼 동작하며 중괄호( {  } ) 를 사용함.

-선택문(조건문), 반복문, goto문 등이 존재함.

 

 

.수식

상수변수연산자의 조합으로 연산자와 피연산자로 나누어진다.

z = x + y 처럼연산자(+)와 피연산자 (x, y)로 나누어진다.

 

 

3.2.4.복합문

중괄호를 사용하여 문장들을 그룹핑한 것으로블록이라고도 한며 단일문 대신 들어갈 수 있다.

주로 조건문에서 한개의 조건을 만족할 때여러개의 문장을 실행하는 경우 사용한다.

if(i>0)

{

i++;

printf("hi\n");

}

 

 

3.3.흐름제어

생략

 

 

 

---

너무 반복되는 내용들이라 많이 생략했습니다

 

 

반응형