본문 바로가기

리눅스 C언어

C 언어 - 1

C언어의 출력


 ※ C언어의 표준 출력 형식


1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h> //표준 입출력 지원
#include <string.h> //문자열 처리 지원
 
// 표준 출력 
int main(void)
{
    put(" \n 반갑습니다. 리눅스 C 언어 ! \n");
 
    return 0;
}
 
cs


 위와 같은 출력은 소스 파일이다.




 ※ c:) c-src > ace.exe


소스 파일

목적 파일 

실행 파일 

acc.c 

 컴파일

(해석)

acc.obj

링크 

acc.exe 

 

컴파일러 

 

링커

 

 컴파일러 Compiler

 링커 Linker


 ex) 

 메모장 'notepad.exe'이 실행파일이 되기 위해서는, 필요한 Links가 필요하다. 

 그 때 필요한 덩어리들이 'dll' 이라는 것이다.


 [ dll ] →→→notepad.exe

 [ dll ] ↗links


 'dll' 은 Linux에서는 so와 같다. s~ object





Data ? 

 ※ 처리 

 반복저인 일 처리 - 함수

  - 연산자 = +, -, *,

  - 제어문 = if, for ...


 데이터 분류 - 자료구조

 연산 - 알고리즘

 알고리즘 + 자료구조 = 프로그램


 절차 지향적 (순차적) = C언어, 함수

 객체 지향적 (조립형) + C#, JAVA, MFC ex) 레고


 ※ Data type 자료형

  

 40 - 정수 (integer)

 5.6 - 실수 (floating-point number)

 'A' - 문자 (싱글, character)

 "star"  - 문자열 (더블, string)

 

 10/3 = 3.33333~

 10/3 = 3

 정수/정수 = 정수

 정수/실수 = 실수


 ' Single Quote 홑따옴표

 " Double Quote 겹따옴표

 ` Back Quote?

 

 Data Size 데이터 크기 그릇의 크기

 키보드 갯수 [128 ] + 국가별, 회사별 [ 128 ] = [ 256 ]  ASCII 코드값

 [ 256 ] = 문자 하나 표현하는 경우의 수 = byte


 경우의 수

  [ 10 ] = [ 0 ~ 9 ]

  [ 8 ] = [ 0 ~ 7 ]

  [ 15 ] = [ 0 ~ F ]


 Byte

 2**8  = 1 byte = 256

 2**16 = 2 byte = 65536

 2**32 = 4 byte = 42.94

 2**64 = 8 byte


 2**10 = 1 K = 1024      = 키로바이트

 2**20 = 1 M = 104만    = 메가바이트

 2**30 = 1 G = 107천만  = 기가바이트

 2**40 = 1 T = 1099천만 = 테라바이트


 계산기 (프로그래머)

 16진수 HEX 헥사

 10진수 DEC 

 8진수  OCT

 2진수  BIN

 참고 > http://myblog.opendocs.co.kr/archives/1230



 자료형의 크기 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 자료형의 크기 > 메모리의 크기 환경에 따라 다르게 나타난다.
#include <stdio.h>
int main()
{
    printf(" char   = %d btye \n"sizeof(char));
    
    printf(" short  = %d btye \n"sizeof(short));
    printf(" int    = %d btye \n"sizeof(int));
    printf(" long   = %d btye \n"sizeof(long));
    printf(" long long   = %d btye \n"sizeof(long long));
        
    printf(" float  = %d btye \n"sizeof(float));
    printf(" double = %d btye \n"sizeof(double));
    printf(" long double = %d btye \n"sizeof(long double));
    
    return 0;
 } 
cs

 

 char   = 1 byte (256)

 short  = 2 byte

 int    = 4 byte (42.93)

 long   = 4 byte

 long long = 8 byte

 float  = 4 byte

 double = 8 byt

 long double = 16 byte


 short <= int <= long

 

 sizeof : 메모리 크기

  ex) sizeof(char) = 1

  

 2n bit 표현범위 > 1 ~ 2n_1



※ ASCII CODE


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// ASCII CODE 보기 1
 
#include <stdio.h>
int main()
{
    int i;
    puts(" **ASCII CODE 보기 ** ");
    for (i = 0; i<128; i++)
    {
        printf("[%c = %d] \n", i, i);
    }
    
    return 0;
 } 
 
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// ASCII CODE 보기 2
 
#include <stdio.h>
int main()
{
    int i;
    puts(" ** ASCII CODE 보기 ** ");
    for(i=0; i<27; i++)
    {
        printf(" [ %d ==> %c ]\n", i, i);
    }
    
    for(i=27; i<128; i++)
    {
        printf(" [ %d ==> %c ]\n", i, i);
    }
    
    return 0;
 } 
cs


 \n 10 줄바꿈

 \r 

 \t 11 tab

 \a 7 bell

 \b 8 backspace 

 

 (구글링해서 아스키 코드표 보면서 확인)




'리눅스 C언어' 카테고리의 다른 글

코딩 연습 1  (0) 2019.01.06
C 언어 - 3  (0) 2019.01.06
C 언어 - 2  (0) 2019.01.06
리눅스와 사용법  (0) 2019.01.04