데이터

c언어는 데이터를 상수와 변수로 구분짓는다.

상수

프로그램이 실행되기 전에 미리 데이터형태가 선언됨.

형태는 변하지않음.

문자 상수는 작은따옴표 (ex-'a') 로 묶고

문자열 상수는 큰따옴표 (ex-"abc")로 묶는다.

문자상수

아스키 코드의 문자를 표현하기 위해 작은 따옴표로 표시하며 한바이트로 이루어져 있다.

특히 특수문자, 제어문자인 0x00~0x19의 영역은 escape문자라 한다.

정수상수

10진수-ex)123,1024

8진수-ex)01,033

16진수-ex)0x1A,0X22D --- 2바이트의 음과 양의 정수 표현가능

unsigned-ex)12u --- 끝에 u를 붙여 표현. 2바이트의 양의정수 표현가능

long-ex)077L,0X0DDL --- 끝에 L을 붙여 표현. 4바이트가 표현가능

변수

프로그램이 실행되기 전 데이터형을 선언함

그러나 프로그램 실행중 변수에 값을 대입함으로써 값이 변함

변수가 선언되면 공간이 할당되고 들어올 데이터의 형태가 결정된다.

밑에 코드를 한번보자.

실제로 포인터를 하나 선언하였지만 오류는없다. 그냥 공간만 할당되었기 때문이다.

하지만 포인터가 가리키는 값이 없기에 데이터 오류가 발생한다.

구별법 :보통 변수 선언 및 초기화(대입)시 좌측이 변수 우측이 상수.

변수의 데이터형

정수

int-4(byte)
signed int-4     ->우리가 보통 사용하는 정수. 부호를 갖는다.
unsigned int-4    ->부호를 갖지 않고 양수범위를 두배로 늘려준다.
short int-2
signed short int-2
unsigned short int-2
long int-4

문자
char-1
signed char-1
unsigned char-1

실수
float-4
double-8
long double-8

표준 입출력 함수

헤더파일 : 표준 입출력 함수를 이용하기 위하여 #include 를 쓴다.

입력 : 데이터를 컴퓨터 내부에 기억시킨다.
scanf를 사용한다.

출력 : 컴퓨터 내부의 데이터를 출력장치에 출력하여준다.
printf를 사용한다.

printf와 scanf 의 형식

%d,%I - 10진법의 정수

%o - 부호가 없는 8진수

%x-  부호가 없는 16진수

%c- 문자. 

%s -문자열

%f - double형

%p - 포인터

%% - 화면에 %를 출력

조건연산자

조건연산자 <?,:>

이는 간단한 if문을 대신하여 사용한다.

a = b < c ? b:c;

이는

if(b<c)
    a=b;
else
    a=c;

이와 동일하다.

+ Recent posts