C 언어

Posted 04 2, 2010 18:38, Filed under: Language/Etc

C 언어의 자료형


정수형의 범위

정수형은 int, short long, unsigned형의 4가지이며, 정수형의 범위에 있어서 int의 경우 컴퓨터에 따라 범위가 다르므로 사용할 때 주의해야 한다.

정수형

범위

크기

short int

-32768 ~ 32767

2 byte

long int

-2147483648 ~ 2147483647

4 byte

int

-32768 ~ 32767

2 byte

unsigned short int

0 ~ 65535

2 byte

unsigned long int

0 ~ 42959667295

4 byte

unsigned int

0 ~ 65535

2 byte

 

실수형의 범위

실수형은 float, double형의 2가지이며, 소수점 형태와 지수 형태로 표현된다.

실수형

범위

크기

float

소수점이하6자리까지 기억

(지수는 -32 ~ + 32)

4 byte

double

소수점이하 12자리가지 기억

(지수는 -32 ~ +32)

8      byte

 

문자형의 범위

- char형은 한 글자를 기억한다.

- char형의 크기는 1 byte이다

- 문자는 내부적으로 0 ~ 255 사이으 정수인 ASCII 코드 값을로 처리된다.

- 문자의 치환시 단일 인용부호(' ' )로 묶어야한다.

 

 

선행 처리기


선행처리기(preprocessor)란 컴파일에 앞서 미리 처리되는 처리기를 말한다.

, C언어로 작성된 원시 프로그램을 컴파일하여 하나의 실행파일 형태를 만들어내는 데는

1 선행처리 2 컴파일 3 링킹의 3단계를 거치게 된다.

이때 원시 프로그램을 컴파일러에 전달하기 전에 사용자가 정의한 각종 내용을 먼저 처리하게 되는데(선행처리), 이를 선행처리기가 담당하게 되는 것이다.

예를 들어 C언어에 보면 *.h(헤더파일)라는 파일이 있고, *.h(stdio.h)내의 파일에는 각종 매크로와 외부 파일에 대한 정의가 들어있다.

따라서 프로그램상에 이러한 헤더 파일을 사용하게 되면 컴파일하기 전에 해당 헤더 파일을 불러와서 연결시켜 주게 되는 것이다.

 

일반적인 선행처리기의 종류와 기능

선행처리기

기능

#include

파일 포함

#define

매크로 정의

#if ~ #endif

조건부 컴파일

 

# 선행 처리기 사용시 주의사항

- 반드시 #으로 시작해야 한다.

- 명령문 끝에는 세미콜론( ; )을 붙이지 않는다.

- 한 줄에 하나의 명령만 쓴다.

- 일반적으로 첫 칸부터 기입한다.

 

 

C 언어의 표준 입출력 함수

 

- 출력함수

 printf()     화면에 여러 종류의 자료를 출력

 putchar()   화면에 1개의 문자를 출력

 puts()      화면에 문자열을 출력

 

- 입력함수

 scanf()     키보드를 통해 1개의 이상의 자료를 입력 받는다.

 getchar()   키보드를 통해 1개의 문자를 입력 받는다.

 gets()      키보드를 통해 문자열을 입력 받는다.

 

▶ 출력 양식 변환기호

% 문자

변환 기능

인자의 자료형

%d

지정한 자료를 10진 정수로 변환하여 출력

정수형, 문자형

%f

지정한 자료를 부동 소수점 형식으로 변환하여 출력

실수형

%e

지정한 자료를 지수형태로 변환하여 출력

실수형

%c

지정한 자료를 한 문자로 변환하여 출력

정수형, 문자형

%s

지정한 자료를 문자열로 변환하여 출력

문자열 포인터

%o

지정한 자료를 8진수로 변환하여 출력

정수형, 문자형

%x

지정한 자료를 16진수로 변환하여 출력

정수형, 문자형

 

 

입력 양식 변환기호

% 문자

변환 기능

%d

키보드를 통해 정수형을 입력받음

%ld

키보드를 통해 long 정수형을 입력 받음

%f

키보드를 통해 실수형을 입력 받음

%lf

키보드를 통해 double 실수형을 입력 받음

%c

키보드를 통해 문자형을 입력 받음

%s

키보드를 통해 문자열을 입력 받음

 

자료의 입 출력

(1) printf() 함수

- 형식 ; printf("출력양식", 변수 1, 변수 2, ...);

- 기능 : 주어진 양식으로 자료를 출력한다.

- 사용 예 : printf("This is an example\n");

          printf("A=%d, B=%c\n", a, b);

 

(2) scanf() 함수

- 형식 : scanf("입력양식", &변수 1, &변수 2, ....);

- 기능 : 주어진 양식으로 자료를 입력받아 지정된 기억공간(변수)에 저장.

- 사용 예 : scanf("%d", &a);

 

 

문자 단위의 입 출력

(1) getchar() 함수

- 형식 : getchar();

- 기능 : 한 문자를 키보드를 통해 입력받는다.

- 사용 예 : a = getchar();

 

(2) putchar() 함수

- 형식 : putchar(문자);

- 기능 : 한 문자를 화면에 출력한다.

- 사용 예 : putchar('A');

 

문자열 단위의 입 출력

(1) gets() 함수

- 형식 : gets(변수);

- 기능 : 문자열을 키보드로부터 입력 받는다.

- 사용 예 : char s[50]

          gets(s);

(2) puts() 함수

- 형식 : puts(변수);

- 기능 : 문자열을 화면에 출력한다.

- 사용 예 : char s[] = "seoul"

          puts(s);

 

 

연산자 우선 순위


연산자명

연산자

결함 방향

우선순위

괄호, 구조체, 공용체 연산자

() [] -> .

높음

 

 

 

 

 

 

 

 

 

 

 

 


낮음

단항 연산자

! ~ ++ -- & * sizeof()

→ 좌

 

 

 

 

이항 연산자

* / %

→ 우

∙ 감

+ -

→ 우

비트 이동

<< >>

→ 우

대소 비교

< <= > >=

→ 우

등가 판정

== !=

→ 우

비트 AND

&

→ 우

비트 XOR

^

→ 우

비트 OP

\

→ 우

논리 AND

&&

→ 우

논리 OR

||

→ 우

조건 연산자

?  :  

→ 좌

대입 연산자

= += *= ∙∙∙ &=

→ 좌

 


Escape 문자


escape 문자

기능

\n

출력시 줄바꿈(new line)

\t

수평으로 탭 이동

\f

프린터의 form feed

\a

'' 소리를 낸다.

\r

커서를 행의 시작 위치로 이동(carrige return)

\0

ASCII 코드 값 0인 문자(null 문자)

 


자료 출처 : C 프로그래밍 - 곽덕훈, 김형근 공저

04 2, 2010 18:38 04 2, 2010 18:38

Trackback URL : http://develop.sunshiny.co.kr/trackback/424

Leave a comment

« Previous : 1 : ... 129 : 130 : 131 : 132 : 133 : 134 : 135 : 136 : 137 : ... 381 : Next »

Recent Posts

  1. Oracle - 바인드 변수에 대하여(테스트)
  2. Oracle - 디폴트 롤, DBA, CONNECT,...
  3. Oracle - 권한 및 롤 관리
  4. Oracle - SQL*PLUS의 SYSDBA 접근 제어
  5. Oracle - PFILE, SPFILE 에 관하여

Recent Comments

  1. 네 답글 고맙습니다. 좋은 한주 보... sunshiny 05 14,
  2. 좋은 정보 잘 살펴보고 갑니다. ememoho 05 12,
  3. 네. 고맙습니다^^ 행복한 한해 보... sunshiny 01 16,
  4. sunshiny님. 안녕하세요... 올려 주... yihans 01 16,
  5. 답글 주셔서 고맙습니다^^ 소스 복... sunshiny 01 11,

Recent Trackbacks

  1. 윈도우 cmd 명령어 팁 월풍도원(月風道院) - Delight on th... %M
  2. 파일 압축 Like RadioHead %M
  3. Mysql - mysql 설치후 Character set... 멀고 가까움이 다르기 때문 %M

Calendar

«   05 2012   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Bookmarks

  1. 위키피디아
  2. MysqlKorea
  3. Oracle All Documentation
  4. 엑셈
  5. 오라클 클럽
  6. 네이버개발자센터
  7. API - Java
  8. API - Spring
  9. Java Community
  10. Reference - Spring
  11. 스프링사용자
  12. 자바소스
  13. 자바지기
  14. Ready System
  15. Solaris Freeware
  16. Linux-Site
  17. RedHat Korea
  18. 윈디하나의 솔라나라

Site Stats

TOTAL 245426 HIT
TODAY 132 HIT
YESTERDAY 139 HIT