Pages

Showing posts with label C언어 학습-0. Show all posts
Showing posts with label C언어 학습-0. Show all posts

Saturday, January 6, 2018

C/C++ 언어 프로그래밍-연산자4

C/C++ 연산자 4

조건 연산자: a ? b  : c 형태로 사용됩니다. a 결과가 참이면 b 수행하고 거짓이면 c 수행하게 됩니다.

사용예시 :

예제코드
#include <iostream>
using namespace std;

int main() {

     int a, b;

          a = 1 ;
          b = 10 ;

     a > b ? cout<<" true ! "<<endl : cout<<" false"<<endl ;

          return 0;
}

실행결과

- 정수형 변수 a, b 선언하고 a 에는 1 b 에는 10 대입합니다. a > b 라는 조건의 결과는 거짓이므로 : 기호 뒤의 문장이 수행되어 "false" 라는 문장이 출력되는 있습니다.

size-of 연산자: sizeof 연산자는 이전 장에서 자료형의 크기를 확인할 사용해봤던 연산자로 메모리상의 크기를 byte 단위로 나타내 주는 연산자 입니다.

사용법:
1. sizeof(int) or sizeof(double) : 괄호안에 자료형을 기입
2. sizeof(a): 괄호안에 변수를 기입
<- 여기서 a 미리 정의된 변수를 의미합니다.
3. sizeof(100): 괄호안에 상수를 기입

cast 연산자: cast 연산자는 자료형을 임시로 다른 자료형으로 변환해주는 연산자로 형변환 연산자라고도 부릅니다.
사용법:
(자료형) 변수 or (자료형) 상수 (자료형) 수식 형태로

사용할 있습니다.

C/C++ 언어 프로그래밍-연산자3

C/C++ 연산자 3

비교/관계연산자: 크다 작다 같다 대소 관계를 연산하는 연산자로 결과값을 (1) 또는 거짓(0) 으로 반환합니다. 보통 if 문에 사용되어 조건이 참이냐 거짓이냐를 따져서 수행문을 수행할지를 결정합니다. 연산자의 종류는 아래와 같습니다.

a==b  : a b 같다
a!=b  : a b 다르다
a>b   : a b 보다 크다
a<b   : a b 보다 작다
a>=b  : a b 보다 크거나 같다
a<=b  : a b 보다 작거나 같다

사용예시 :

예제코드
#include <iostream>
using namespace std;

int main() {

     int a, b, compare;
          a = 1 ;
          b = 10 ;

         compare = a > b ;
     cout << "compare = " << compare <<endl;

          compare = a < b ;
     cout << "compare = " << compare <<endl;

          return 0;

}

실행결과

- 정수형 변수 a, b, compare 선언하고 a 에는 1 b 에는 10 대입합니다. 그리고 먼저 compare a> b 결과를 대입합니다. b a 보다 크기 때문에 a>b 식은 거짓이 되고 0 반환하게 됩니다. 반환된 0 compare 대입되어 0 출력됩니다. 다음 a<b 식은 참이기 때문에 1 반환하고 결과적으로 1 출력 됩니다.

논리연산자: 논리 연산자는 보통 다은 세가지 !, &&, || 있습니다. ! 논리적 부정을 나타내고 그의미는 참을 거짓으로 거짓을 참으로 반대되는 논리값을 구하는 연산자입니다. && 논리적 AND 연산자로 조건이 모두 만족할 참이라는 결론을 내리는 연산자입니다. || 논리적 OR 연산자로 조건이 하나라도 만족하면 참이라는 결론을 내리는 연산자 입니다.

사용예시 :

예제코드

#include <iostream>
using namespace std;

int main() {

     int a, b;
          a = 1 ;
          b = 10 ;

          if(a > 2 && b > 2){
           cout << "Logical AND !!!" <<endl;
          }else{
           cout << "Good bye !!!" <<endl;
          }

          if(a > 2 || b > 2){
           cout << "Logical OR !!!" <<endl;
          }else{
           cout << "Good bye !!!" <<endl;
          }

          return 0;
}

실행결과

- 정수형 변수 a, b 선언하고 a 에는 1 b 에는 10 대입합니다. 첫번째 if 문의 조건이 a > 2 && b > 2 a 2 보다 크다라는 조건이 참이어야 하고 b 2 보다 크다는 조건도 참이어야 "Logical AND !!!" 라는 문장이 출력됩니다. 그렇지 않으면 "Good bye !!!" 라는 문장이 출력되는 코드 입니다. a 1 대입하였기 때문에 a>2 라는 조건이 거짓이므로 "Good bye !!!" 라는 문장이 출력되는 것을 확인할 있습니다. 두번째 if 문에서는 && 아닌 || 사용하였습니다. 이때는 하나라도 참이면 "Logical OR !!!" 라는 문장이 출력되게 되어 있습니다. b 10 대입하였기 때문에 b>2 라는 조건이 참이므로 Logical OR !!!" 이라는 문장이 출력 됩니다.

C/C++ 언어 프로그래밍-연산자2

C/C++ 연산자 2

증감연산자: 변수에 저장된 값을 1 증가 혹은 1 감소 시키는 연산자로 자주 사용되는 연산자 입니다. (예로 for 반복문) '++' 증가 연산자, '--' 감소 연산자를 의미합니다.

사용예시 1.:
예제코드

#include <iostream>
using namespace std;

int main() {

     int a;
          a = 1 ;
     cout << "(1) a = " << a << endl;
     a++;
     cout << "(2) a = " << a << endl;
          a--;
     cout << "(3) a = " << a << endl;
     return 0;

}


실행결과

- 정수형 변수 a 1 대입합니다. 그리고 출력을 하면 1 출력되는 것을 있습니다. 다음 증가연산자를 사용해 a 저장된 값을 1 증가 시키고 (a++) 출력을 하면 a 값이 2 것을 있습니다. 마지막으로 감소연산자를 사용해 a 저장된 값을 1 감소 시키면 (a--) a 저장된 값이 1 바뀐 것을 확인할 있습니다.

- 증감연산자는 변수 앞과 어느 곳에도 붙일 있습니다. 앞에 붙으면 선행처리, 뒤에 붙으면 후행처리하며 다음 예제에서 차이를 있습니다.

사용예시 2.:

예제코드

#include <iostream>
using namespace std;

int main() {

     int a, b, A, B;

          a = 1 ;
          b = ++a ;
          cout << "a = " << a << ", b = " << b <<endl;

          A = 1 ;
          B = A++ ;
          cout << "A = " << A << ", B = " << B <<endl;

          return 0;
}

실행결과

- ++a 선행처리를 통해 a 값을 1 증가시켜 2 만들고 값을 b 저장합니다. 결과 a, b 2 됩니다. 반면 후행처리의 경우 (A++),  A 1 먼저 B 대입되고 A 값이 하나 증가되어 A 2, B 1 출력됩니다.

비교/관계연산자: 크다 작다 같다 대소 관계를 연산하는 연산자로 결과값을 (1) 또는 거짓(0) 으로 반환합니다. 연산자의 종류는 아래와 같습니다.

a==b  : a b 같다
a!=b  : a b 다르다
a>b : a b 보다 크다
a<b : a b 보다 작다
a>=b : a b 보다 크거나 같다
a<=b : a b 보다 작거나 같다

Friday, January 5, 2018

C/C++ 언어 프로그래밍-연산자1

C/C++ 연산자 1

C/C++ 언어에서는 상수 변수들을 이용해 + - * / 등의 사칙 연산, 크다, 작다, 같다 등의 비교/관계 연산, 거짓을 판단해 수행하는 조건 연산 등이 가능하게 하는 다양한 종류의 연산자들이 있습니다. 우선 간단하고 자주 쓰이는 연산자의 종류를 먼저 살펴보겠습니다.

대입 연산자: 변수에 값을 저장 (대입) 하는 연산자로 '=' 기호를 사용합니다. 수학에서는 등호 (같다) 나타내지만 프로그래밍에서는 대입 연산자를 나타내고 같다는 '==' 기호를 사용합니다.

사용예시 1. :
  int num = 1 ;
- int 페이지에서 이야기한 정수형을 의미하고 num 변수의 이름을 나타냅니다. 대입 연산자 '=' 이용해 변수 num 1 대입 (저장) 합니다.

사용예시 2. :
예제코드
#include <iostream>
using namespace std;

int main() {

     int num ;
     num = 1 ;
     cout << "First  num  = " << num << endl;

     num += 1 ;
     cout << "Second num  = " << num << endl;

     return 0;

}

실행결과

- 먼저 정수형 변수 num 1 대입 (저장) 합니다. 결과를 출력하면 1 이라는 결과를 얻습니다 (First num). 다음 줄에서 num += 1 이라고 입력하면 이는 num = num + 1 인식되고 결과 num 에는 최종적으로 2 대입 됩니다 (Second num). 이는 누적 대입 연산자라고 합니다. 물론, '-=', '*=', '/=' 사용 가능합니다.

산술 연산자: 수학의 사칙연산과 같은 +, -, *, / 연산자와 나머지를 구하는 % 연산자를 산술 연산자라고 합니다. 사칙연산은 보통의 사칙연산과 동일합니다. % 연산자의 경우 피연산자는 정수형 데이터만 사용 가능합니다.

사용예시 :
예제코드
#include <iostream>
using namespace std;

int main() {

     int a, b, c, d ;
          a = 1 ;
          b = 2 ;
          c = a + b ;
          d = c % b ;

     cout << "c = " << c << endl;
     cout << "d = " << d << endl;

          return 0;

}

실행결과

- 정수형 변수 a, b, c, d 선언하고 a 1 대입, b 2 대입합니다. 변수 c 에는 a + b 대입하면 c 에는 사칙연산결과 (1+2) 3 대입 됩니다. 변수 d 에는 c % b (3%2) 연산결과가 저장 됩니다. 3 2 나눈 나머지는 1 이고 값이 변수 d 저장됩니다.
% 연산자는 짝수 홀수를 비교할 사용되기도 합니다. (: a%2; 결과가 1 이면 홀수, 0 이면 짝수)

C/C++ 언어 프로그래밍-자료형

C/C++ 자료형

자료형이란 ?
프로그램 소스 코드는 변수, 상수, 예약어 많은 자료들로 구성이 되어 있습니다.
데이터들은 그들만의 형식으로 제공되어야 사용할 있고 이를 자료형 이라고 합니다.

(: Num 이라는 이름을 갖는 변수를 선언하였다고 가정합니다.
       변수에 숫자 (정수) 저장해 사용하고 싶다면 변수 Num 정수형으로 선언해야 제대로 결과를 얻을 있습니다.)

자료형을 정리하기 전에 먼저 C 언어의 상수와 변수의 개념을 정리하자면 간단히 다음과 같습니다.

상수 (Constant) : 보통 수학에서 상수라 하면 변하지 않는 '숫자' 이야기 하는데 프로그래밍에서는 숫자 뿐만 아니라 문자 등도 상수에 포함됩니다. 변하지 않고 고정된 값이라는 의미합니다. (: 1, 2, 3, ..., +, -, ...)

변수 (Variable) : 상수와 반대되는 개념으로 변하는 값을 의미 합니다. 예시에 Num 변수에 해당되며 Num 3 대입하면 (Num = 3;) Num 프로그램상에서 3 으로 사용되고 다시 5 넣으면 (Num=5;) 5 사용됩니다.

*Tip: 변수 이름을 만드는데 알아야 간단한 규칙은 다음과 같습니다.

- 영문자 대소문자, 아라비아 숫자 밑줄(_) 들로 구성.
- 대소문자를 구분.
- 글자는 밑줄(_)이나 영문자 대소문자로 시작.
- 예약어 (int, double, for, while C++ 언어에서 이미 사용 예약이 되어있는 이름들) 사용 금지

정수형 상수 :
소수점이 없는 숫자를 나타낼 사용되는 자료형으로  (unsigned) short, (unsigned) int, (unsigned) long 등이 있습니다. 구분하는 이유는 기억 공간에 값을 저장할 크기를 조금씩 다르게 주기 위함입니다. 앞에 unsigned 붙이면 양수만 취급하겠다는 의미입니다. 경우에는 (unsigned) int 말고는 다른것들을 쓸일이 별로 없었네요. --

사용예시 : int num = 7 ;

실수형 상수 :
소수점이 있는 숫자를 나타낼 사용되는 자료형으로 float double 있습니다. 경우는 float 보다는 double 거의 사용하고 있습니다. 여러모로 편리해서...

사용예시 : double num = 7.1 ;

문자형 상수:
그대로 문자를 나타낼 사용하는 자료형으로 단일문자, 문자열 상수등이 있습니다. 단일 문자의 경우는 (unsigned) char, 문자열의 경우 string 이라는 자료형을 사용합니다.

사용예시 : char CH = 'T' ; string STR = "TTTTT" ;

*Tip: 컴퓨터 시스템상 자료형들의 크기를 확인하는 간단한 코드는 다음과 같습니다.

#include <iostream>
using namespace std;
int main() {
cout<< "Size of int = " << sizeof(int) << " byte(s)"<<endl;
cout << "Size of double = "<<sizeof(double)<<" byte(s)"<<endl;
cout<< "Size of char = " << sizeof(char) << " byte(s)"<<endl;
return 0;
}

아래 결과는 컴퓨터 시스템에서의 결과 입니다.