달력

3

« 2020/3 »


 

관계 연산자(Relational Operator)

·       비교 연산자(comparison operator) = 논리 관계 연산자

·       변수나 상수의 값을 비교 쓰이는 연산자( 피연산자 사이의 관계를 확인)입니다.

·       관계를 비교하여 (True) 거짓(False) 결과로 반환하는 연산자

·       연산 결과는 항상 true 또는 false 논리값(boolean) 반환됩니다.

·       if, when 조건식과 함께 많이 사용됩니다.

 

 

 

 

비교 연산자 종류

개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.

연산자

의미

반환값

> 

크다

 

n1 > n2

//n1 n2보다 큰가?

왼쪽 피연산자가 오른쪽 피연산자보다 크면 , 아니면 거짓

< 

작다

 

n1 < n2

 //n1 n2보다 작은가?

왼쪽 피연산자가 오른쪽 피연산자보다 작으면 , 아니면 거짓

>=

크거나 같다

 

n1 >= n2

//n1 n2보다 같거나 큰가?

왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 , 아니면 거짓

<=

작거나 같다

 

n1 <= n2

//n1 n2보다 같거나 작은가?

왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 , 아니면 거짓

==

피연산자들의 값이 같다

 

n1 == n2

//n1 n2 같은가?

왼쪽 피연산자가 오른쪽 피연산자와 같으면 , 아니면 거짓

!=

피연산자들의 값이 같지 않다

 

n1 != n2

//n1 n2 다른가?

왼쪽 피연산자가 오른쪽 피연산자와 다르면 , 아니면 거짓

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

변수(Variable)

http://codedragon.tistory.com/6641

 

 

 

C - 변수의 종류

구분

표현형 종류

정수형 변수

char, short, int, long

실수형 변수

float, double, long double

 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

변수와 변수의 시작 주소 확인하기

   

   

소스 코드

메모리 구조

int a;

int b;

  

a=3;

b=a+7;

  

printf("변수a의 주소: %x \n",&a);

printf("변수b의 주소: %x \n",&b);

  

   

   

소스코드

   

#include <stdio.h>

int main(void) {

int a;

int b;

a=3;

b=a+7;

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

printf("b : %d \n",b);

printf("변수a 주소: %x \n",&a);

printf("변수b 주소: %x \n",&b);

return 0;

}



   

출력결과

   

Posted by codedragon codedragon

댓글을 달아 주세요


 

실수형

·       실수형 데이터를 저장하는 변수의 자료형

·       소수점을 가진 실수의 값을 표현

실수형

메모리 크기

 데이터 표현 범위

float

4바이트(32비트)

 1.17*10-38 ~ 3.40x1038

double

8바이트(64비트)

 2.22*10-308 ~ 1.79x10308

long double

8바이트(64비트)

 2.22*10-308 ~ 1.79x10308

 

 

크기 차이

sizeof(float) sizeof(double) sizeof(long double)

 

 

 

float.h

·       실수형 데이터 표현 범위를 자동으로 알려주는 라이브러리

·       실수형 데이터 표현의 최소값(MIN)과 최대값(MAX) 상수 제공

 

 

실수형

상수(최소값)

상수(최대값)

float

FLT_MIN

FLT_MAX

double

DBL_MIN

DBL_MAX

long double

LDBL_MIN

LDBL_MAX

 

 

 

실수형 데이터 정밀도

실수형은 데이터의 정밀도를 높이기 위해 사용

99.9

99.99

99.999

99.9999

 

실수형

 표현 가능한 소수점 이하 자리 수

설명

float

소수점 이하 6자리

·       Single Precision Floating Point

·       단일 정밀도 부동 소수점 형식

double

소수점 이하 15자리

·       Double Precision Floating Point Format

·       복수 정밀도 부동 소수점 형식

long double

소수점 이하 15자리 또는 그 이상

-

C언어 컴파일러는 기본적으로 실수를 소수점 6자리 출력해 줍니다.

 

 

 

실수형은 double형을 선호 (기본이 되는 데이터 )

·       오차를 줄이기 위해 double형 사용

·       정밀도를 높이기 위해  double형 사용

·       컴파일러는 기본적으로 실수형을 double로 인식

 

 

 

실수 & 실수 표현

http://codedragon.tistory.com/500

 

 



Posted by codedragon codedragon

댓글을 달아 주세요

   

   

자료형의 종류

구분

설명

종류

정수형

정수를 표현하는 데이터 타입

char

short

int

long

실수형

소수점이 포함된 값을 표현하는 데이터 타입

float

double

long double

   

   

sizeof() 연산자

  • 자료형의 크기를 구하는 연산자
  • sizeof 연산자의 장점은 자료형에 할당되는 메모리의 크기를 구할 수 있습니다.

   

sizeof() 활용

사용법

설명

sizeof(자료형)

printf("%d", sizeof(int) );

자료형의 메모리 크기를 출력

sizeof(변수)

int num1 = 3;

printf("%d", sizeof(num1) );

변수의 메모리 크기를 출력

   

   

기본 자료형의 메모리 크기

구분

종류

메모리 크기

데이터 표현 범위

정수형

char

1byte

-128 ~ +127

정수형

short

2byte

-32768 ~ +32767

정수형

int

4byte

-2147483648 ~ +2147483647

정수형

long

4byte

-2147483648 ~ +2147483647

실수형

float

4byte

  

실수형

double

8byte

  

실수형

long double

8byte

  

   

   

데이터의 표현 범위를 구하는 공식

n

비트 수(1바이트는 8비트)

-2n-1

최소값(MIN)

2n-1-1

최대값(MAX)

   

   

'Development > C/C++' 카테고리의 다른 글

정수형의 오버플로우 & 언더플로우  (0) 2015.02.06
데이터의 표현 범위를 구하는 공식  (0) 2015.02.03
sizeof() 연산자  (0) 2015.02.02
자료형 종류  (0) 2015.02.01
자료형  (0) 2015.01.31
Ex11-signed & unsigned  (0) 2015.01.30
Posted by codedragon codedragon

댓글을 달아 주세요

2015. 1. 31. 00:16

자료형 Development/C/C++

   

자료형

변수가 저장하는 데이터 형식

   

   

int a;

int

자료형

a

변수명

;

문장 끝

   

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

정수형 자료형과 변수의 크기 확인 & 실수형 자료형과 변수의 크기 확인

  • long자료형은 32bit인 경우 최소 4바이트크기를 가지며
  • 운영체제 마다 32bit/64bit마다 long 자료형의 크기는 4바이트보다 클수 있습니다.
  • long double도 long타입과 동일하게 최소 8바이트 크기 이상을 가지게 됩니다.

   

   

자료형의 메모리 크기

구분

종류

메모리 크기

정수형

char

1byte

정수형

short

2byte

정수형

int

4byte

정수형

long

4byte

실수형

float

4byte

실수형

double

8byte

실수형

long double

8byte

   

   

   

소스코드

#include <stdio.h>
int main(void) {
                //
정수
                char num1=10;
                short num2=20;
                int num3=30;
                long num4=40;
                //
실수
                float num5=3.14;
                double num6=3.25;
                long double num7=3.36;
                printf("\n========
정수형 자료형과 변수의 메모리 크기========\n");
                printf("char
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(char),sizeof(num1));
                printf("short
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(short),sizeof(num2));
                printf("int
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(int), sizeof(num3));
                printf("long
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(long),sizeof(num4));
                printf("\n========
실수형 자료형과 변수의 메모리 크기========\n");
                printf("float
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(float),sizeof(num5));
                printf("double
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(double),sizeof(num6));
                printf("long double
형의 크기: %d바이트, 변수의 메모리 크기: %d바이트 \n", sizeof(longdouble), sizeof(num7));
                return 0;
}


   

   

출력결과

 

Posted by codedragon codedragon

댓글을 달아 주세요

변수의 시작주소 출력하기

  • &: 주소연산자, 변수의 시작주소를 출력
  • 주소값은 16진수로 찍는다.

   

   

스택 메모리 구조

지역변수는 스택이라는 메모리공간에 차곡차곡 쌓이게 됩니다.

   

   

소스코드

   

  1. #include <stdio.h>
  2. int main(void){
  3.         int a=3;
  4.         int b=7;
  5.         int c=10;
  6.         printf("a : %d \n", a);
  7.         printf("b : %d \n", b);
  8.         printf("c : %d \n", c);
  9.         printf("변수 a 시작 주소 : %x \n", &a);
  10.         printf("변수 b 시작 주소 : %x \n", &b);
  11.         printf("변수 c 시작 주소 : %x \n", &c);
  12.         printf("\n");
  13.         //메모리값을 통해 메모리 순서형태대로 찍어보기 (지역변수가 메모리에 쌓이는 순서)
  14.         printf("변수 c 시작 주소 : %x \n", &c);
  15.         printf("변수 b 시작 주소 : %x \n", &b);
  16.         printf("변수 a 시작 주소 : %x \n", &a);
  17.         printf("\n");
  18.         //메모리값 10진수로 찍어보기
  19.         printf("변수 c 시작 주소(10진수) : %d \n", &c);
  20.         printf("변수 b 시작 주소(10진수) : %d \n", &b);
  21.         printf("변수 a 시작 주소(10진수) : %d \n", &a);
  22.         printf("\n");
  23.         //메모리값 8진수로 찍어보기
  24.         printf("변수 c 시작 주소(8진수) : %o \n", &c);
  25.         printf("변수 b 시작 주소(8진수) : %o \n", &b);
  26.         printf("변수 a 시작 주소(8진수) : %o \n", &a);
  27.         return 0;
  28. }

 


 

   

출력결과

   

   

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

변수명에 사용시 에러 발생 확인

   

   

   

변수 선언시 주의사항

  • 변수 선언은 제일 앞쪽에 선언합니다.
  • 변수의 이름은 의미 있게 작명합니다.
  • 특수 기호, 공백 문자, 맨 처음 숫자를 사용하면 안됩니다.
  • C언어에서 사용되는 키워드/예약어를 변수 이름에 사용하지 않습니다.
  • C언어는 대소문자를 구분한다

   

 

소스코드

   

  1. int main(void){
  2. //      int int;        // 변수의 선언, 에러발생
  3. //      int void;       // 변수의 선언, 에러발생
  4. //      int ?result;
  5. //      int 2result;    // 변수의 선언, 에러발생
  6.         int rsult2;
  7.         //to tal 사이에 공백 문자 사용
  8.         //int to toal;  // 변수의 선언, 에러발생
  9.         int total;
  10.         //C언어는 대소문자를 구분한다
  11.         int TOTAL;      //total, TOTAL 같은 변수가 아닙니다.
  12.         return 0;
  13. }

 


   

   

출력결과

int int;        // 변수의 선언

 

   

int ?result;

   

 

int to toal;

 

Posted by codedragon codedragon

댓글을 달아 주세요

변수 선언 및 초기화

   

   

소스코드

   

  1. int main(void){
  2.    
  3.         int a=0;                // 변수(메모리 공간)a 데이터 0 저장
  4.         int b=10;
  5.         printf("변수a 초기값은 %d 입니다\n", a); // 변수 a 저장된 데이터 출력
  6.         printf("변수b 초기값은 %d 입니다\n", b);
  7.         a=100;
  8.         b=200;
  9.         //a = a+10;   //  변수(메모리 공간) a 데이터가 변경
  10.         //b = b+10;   //  변수(메모리 공간) b 데이터가 변경
  11.         printf("변경된 a 값은 %d 입니다\n", a); // 변경된 변수 a 데이터 출력
  12.         printf("변경된 b 값은 %d 입니다\n", b); // 변경된 변수 b 데이터 출력
  13.         return 0;
  14. }

 


   

 

출력결과 

Posted by codedragon codedragon

댓글을 달아 주세요