본문 바로가기
Dev Language/C

C언어 Day1 (자료형, 변수선언)

by 미티치 2016. 10. 4.

 

파일 첨부

test1.c

 

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include<stdio.h>
void main(){
 
    // C언어는 변수선언을 함수가 시작하는 첫번째 라인에 해야한다. -> 메모리 확보를 위해
    int a;            
    long long b = 10;
    int num;
    float fl;
    char ch;
    char c = '1';
    char d;
 
    // 예제1) 
    printf("숫자를 입력하세요 : ");
    scanf("%d",&a);
    printf("%d입니다.\n", a);
 
    // 예제2)
    // 예전에는 int형이 2byte였는데, 요즘은 int형이 4byte가 되면서 원래 4byte였던 long형과 더불어 long long형이 생겼다. 이 long long형은 몇바이트인가?
    printf("%d byte입니다.\n",sizeof(b));
    
    // 예제3)
    num = 300;
    fl = 3.4f;
    ch = 'A';
 
    printf("%d\n",num);
    printf("%f\n", fl);
    printf("%c\n", ch);
 
    // 추가 내용)
    // char c = '1'을 문자로 넣었지만, 내부적으로는 아스키코드(0~127)로 저장이되어있다. 따라서 연산을 하게되면 아스키코드 값으로 연산을 수행한다.
    printf("%c \n",c);        // '1'
    printf("%d \n",c);        // 49
    d = c-'0';
    printf("%c \n",d);        // 아스키코드 값이 1인 문자 SOH(Start Of Heading) 출력
    printf("%d \n",d);        // 1
 
 
 
    /**********************************************************************************************************************************/
    /* 고급언어를 저급언어로 바꿔주는 것이 compile이다.
       컴파일하면 이름.obj로 확장자가 바뀐다. (저급언어) 하지만 이 상태는 기계가 읽을 수 있는 파일이 아님
       run을 하게 되면 이 프로그램에 사용된 라이브러리들의 링크가 걸리면서 이름.exe 파일로 바뀌고 이 파일은 기계가 읽을 수 있기 때문에 실행된다.    */
 
 
    /**********************************************************************************************************************************/
    // 메인함수는 항상 프로젝트의 시작과 끝을 담당한다.
    /* '선처리기'는 실제로 동작할 때 먼저 처리되는 부분인데
        메인함수의 전은 선처리부 : 프로그램 실행 전에 설정한 환경설정 ( 예를들면 printf를 쓰기위해선는 stdio.h를 선언해준다 )
                                  1. 헤더파일    2. 매크로(닉네임)    3. 사용자 정의함수 선언        4. 전역변수        5. 환경설정    */
 
    // 라이브러리가 정리되어있는 것이 '헤더파일'. 
    //    => stdio.h : STanDard IO의 기능이 다 들어있는 것이 stdio라는 헤더파일                
 
    // main 함수는 OS가 호출, main을 제외한 나머지 함수들은 직접 호출한다.
    //  이렇게 개발자(프로그램)이 부르지않고 메인처럼 OS에서 부르는 함수를 '콜백함수'라고 한다.    
 
 
    /**********************************************************************************************************************************/
    // void main(void)가 명확하지만, void는 매개변수가 없다는 뜻이기 때문에 생략가능하다.
    // 그렇다면 void를 다 생략해서 main(){} 으로 선언해도 되나?
    // => 된다. 그치만 이런경우는 표준 c가 반환형이 int이기 때문에 반환형이 int로 선언되어 return 0;까지 선언된 것처럼 돌아감 */
 
 
    /**********************************************************************************************************************************/
    /* 문자형
        char : %c(문자), %s(문자열), %d(십진수,아스키코드), %u(unsinged, 양수) */
 
    /* 정수형
        short : %d, %x(16진수), %o(8진수), %u
        int : 위와 같음
        long : %ld, %lx, %lo ,%lu        */
    
    /* 실수형 
        float : %f(실수), %e(지수)
        double : %lf, %le                */
 
    
}
cs


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

C언어 포인터 사용  (0) 2016.11.11
C언어 day5 (함수 기초)  (0) 2016.10.10
C언어 day3,4 (별찍기 예제)  (0) 2016.10.10
C언어 day2 (scanf, 삼항연산자)  (0) 2016.10.05