본문 바로가기

Language/C언어

C언어[1]-데이터, 메모리, 변수, 상수

 

 
#include<stdio.h>
void main(){'{'은 메인의 시작 블럭을 의미한다.
    printf("100 200 300\n");printf()는 출력함수를 의미한다.
    getchar();getchar()은 입력함수를 의미한다.
}'}'은 main함수의 끝 블럭을 의미한다.
#include<stdio.h>
void main(){
    printf("%d",100);
    getchar();
}

 여기서 100은 정수라고 생각하지만 문자열이다.

 

 

#include<stdio.h>
void main(){
    printf("%d\n",100);
    printf("%c\n",'A');
    printf("%f\n",1.5);
    printf("%s\n","ABC");
        
    getchar();
}

☆ d는 정수, c는 문자여서 ''사용, f는 실수, s는 문자열이여서 ""사용

 

 

#include <stdio.h>
 
void main(){
int n=100;
 
printf("%d\n",n);
getchar();
 
}

☆여기서 n은 n이라는 메모리에 있는 변수를 넣는 코드이다.

 

 
#include <stdio.h>
 
void main(){
 
double n=100.12;
 
printf("%g\n",n);
getchar();
}

☆ g라는 것은 n메모리에 있는 값의 소수자리까지 표현하는 것을 의미한다.

 

 

#include <stdio.h>
 
void main(){
 
int n=100;
 
printf("%d\n",n);
n=200;
 
printf("%d\n",n);
n=-120;
 
getchar();
}
☆ 중간에 n의 값을 변경해 주는 것은 그전의 값이 사라진다는 것을 의미 

 

 

 
#include <stdio.h>
 
void main(){
 
int a;
int b;
 
a=10;
b=20;
 
printf("%d %d\n",a,b);
printf("%d\n",a+b);
 
getchar();
}

☆메모리에 변수 4바이트 2개(변수 a,b)총 8바이트를 만들었다. 

   a+b는 a+b가 아니라 a의 값을 가져오고 b의 값을 가져온후 가산을 하는 것이다.

 

 

 

★ .c는 확장자의 성격, 소스파일, 고급언어를 나타낸다.

    ※고급 언어란? 사람이 사용하는 언어를 뜻한다.※

       <->저급언어(기계어)란? 컴퓨터가 사용하는 언어를 뜻한다.

    ※ 고급언어에서 저급언어로 컴파일러 링크를 통해 바꿀 수 있다.※

 

★ solution파일에 있는 .exe는 실행파일. 즉, binary언어(컴퓨터가 이해할 수 있는 언어)이다. 

 

★ C언어는 CUI이기 때문에 정수로 출력을 하여도 컴파일러 내에서는 문자열로 바꾼다.

                                                                                                 (%d, %f, %c 등등)

 

★ 상수<->변수

    상수란? 수가 변경이 불가능하다.

    변수란? 수가 변경이 가능하다.

 

★ 프로그램은 명령어와 데이터로 분류한다.

    (프로그램에서 분류가 2개인 이유 : 문제(사람들의 문제:재미,효율성)을 해결하기 위해서 분류하였다.)

    ※ 데이터의 성질※ : 모든 데이터는 크기가 있다.(크기가 변한다./똑같은'1'을 표현해도 크기가 다다르다.)

                               모든 데이터는 형식을 가져야 한다.

 

     ex) printf("%d\n",100);

          명령어             데이터(상수)

    ※데이터의 형식※

        - 정수 : char(1byte), short(2byte), int(4byte), long(4byte)

        - 실수 : float(4byte), double(8byte)

      < 명령어의 크기는 정해져 있다. >

 

★ 상수 <-> 실수

    상수란 ? 무리수와 유리수로 이루어져 있다.

    실수란 ? 10 x 10(3승)

                       가수 지수

 

★ int n=100;은 변수(변경 가능한 메모리)를 만드는 방법

    ex) int n=100;

         printf("%d",n);

         --> n이라는 메모리에 있는 변수를 넣어라.

 

 

★ 컴퓨터에서 가장 중요한 장치 3가지 : 중앙처리장치(CPU), 주기억장치(RAM,ROM)-메모리, 입출력 장치

    ※ 우리가 C언어를 배우는 이유 : 응용프로그램(App)을 만들기 위해서

        응용프로그램을 사용가능하게 실행시키려면 프로세스가 만들어 진다.

        프로세스가 되는 것만이 응용프로그램을 사용자가 이용할 수 있다.

        프로세스가 살아 있다는 것은 '메모리상(RAM)에 프로세스가 활성화 되어있는 것'이다.

        ex) A프로그램.exe >> 명령어를 하나의 프로그램으로 묶었다.

 

 

★ 1GB=2(30승)Byte
★ 1B=8bit(2(8승)개, 0~255까지의 수로 표현 가능)
★ 1Bit(0,1값을 보관할 수 있는 컴퓨터의 최소단위)
     (전기신호가 off,on이어서 0,1로 사용)

     ※ if 주소하나가 1바이트이면 주소가 2(30)바이트가 마지막 메모리 주소

'Language > C언어' 카테고리의 다른 글

C언어 - 함수  (0) 2015.12.28
C언어-문자열  (0) 2015.12.28
C언어[4] - 배열  (0) 2015.12.26
C언어[3]-포인터  (0) 2015.12.26
C언어[2]- 연산자  (0) 2015.12.22