[C언어] 00. C언어 기초문법, 한눈에 보는 설명 - 첫[;1]프로그래머

[C언어] 00. C언어 기초문법, 한눈에 보는 설명 - 첫[;1]프로그래머

1. C 언어란?

    1) C는 1972년 Kenneth Lane Thompson 과 Dennis MacAlistair Ritchie 가 벨 연구소에서
    새로 개발한 유닉스 운영체제에서 사용하기 위해
    개발한 프로그래밍 언어입니다.
    즉, 유닉스 운영체제의 개발은 C언어의 기원입니다.
    
    2) C언어의 이름은 B언어 다음이란 뜻으로 알파벳 순서에서 유래되었습니다.
    
    3) C는 컴퓨터 시스템 프로그램 개발에 매우 적합한 프로그래밍 언어입니다.

    4) 운영체제의 커널은 C언어로 구현되었습니다.

    5) 다양한 플랫폼에서 ANSI C의 정의에 의하여 비교적 동일한 구현이 가능합니다.
    
        * 유닉스 : 어셈블리가 아닌 언어로 구현된 최초의 운영체제 커널 중의 하나입니다.


2. ANSI C ( ISO C, Standard C ( 표준 C ) )
    : 미국 국립 표준협회 ( American National Standards Institute, ANSI ) 와 국제 표준화 기구 ( International Organization for Standardization, ISO ) 가 출판한 C 프로그래밍 언어의 표준들을 말합니다.
    : 소프트웨어 개발자들은 표준을 따르는 것을 권고 받는데, 이는 컴파일러 간 이식에 도움을 줍니다.





3. IEEE ( Institute of Electrical and Electronics Engineers ) Style
    : Chicago Style 을 기반으로 한 간략한 양식으로 전자, 컴퓨터, 정보기술, 통신 등의 공학 분야에서 선호합니다.

cf. Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, 2nd ed. USA: Prentice Hall, 1978.


4. C 언어 기초 문법
    : C언어는 대학교 4년의 커리큘럼 중 컴퓨터과학과 1학년이 배우는 가장 기초적인 언어입니다.
    : C언어는 운영체제의 기본이 되는 아주 중요한 언어입니다.

    : 아래는 C언어 기초 문법을 카테고리별 총 정리한 것입니다.

    1) 프로그래밍 개발환경 구축 ( Visual Studio )
    2) 변수와 상수
    3) 기본 입출력
    4) 연산자
        : 대입, 산술, 증감, 관계, 논리, 비트, 삼항 연산자가 있습니다.

    5) 조건문
        : if-else if-else 문과 switch-case-default 문이 있습니다.

        if (조건식){
                // 조건식이 참일 때 명령문 실행;
        }
        else if (조건식){
                // if 조건식이 거짓이고, else if 조건식이 참일 때 명령문 실행;
        }
        else{
                // 위 조건식이 모두 거짓일 때 명령문 실행;
        }

        switch (변수){
        case '값1':
                break;
        case '값2':
                break;
        case '값3':
                break;
        default:
                // case 값에 모두 해당하지 않으면 실행;
        }
        
    6) 반복문
        : for 문과 while 문이 있습니다.
        
        for (초기화; 조건식; 증감값){
                // 반복되는 명령문;
                // 조건식이 항상 True(1)일 때 무한루프 발생
        }

        while (조건식){
                // 반복되는 명령문;
                break;
        }

    7) 함수
        반환값자료형 함수명(매개변수){
                // 수행할 명령문;
                return 반환값;
        }

        * 함수에서 매개변수와 return 반환값은 없어도 됩니다.
    
    8) 배열
        자료형 배열이름[배열의 크기] = {초기화 값};

    9) 포인터
        : 변수가 존재하는 메모리 주소의 값

    10) 문자와 버퍼
    11) 문자열과 포인터
    12) 다차원 배열과 포인터 배열

    13) 함수 포인터 ( function pointer )
        : 실행가능한 메모리 안에서 변수가 함수의 주소를 저장합니다.
        : 이때, 데이터 값을 가리키기 보다, 메모리 안에서 실행 가능한 코드를 가리킵니다.
        : 반환값 자료형(*함수포인터 이름)(매개변수) = 함수이름;

    14) 구조체
        
        struct 구조체명 {
                자료형1 변수명1;
                자료형2 변수명2;
                자료형3 변수명3;
        };

        struct 구조체명 구조체변수명;

        구조체변수명.변수명

    15) 파일 입출력
        : FILE 형식의 포인터변수로 선언
        : fopen(), fclose() 를 사용합니다.


첫[;1]프로그래머. © 2020 chot1programmer. All rights reserved.
저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다.

댓글

이 블로그의 인기 게시물

[C언어] 01. Visual Studio 2019 설치 및 개발환경 설정, 프로젝트, 소스파일 (C파일) 생성 - 첫[;1]프로그래머

[디스플레이 용어] FHD, 2K, WQHD, UHD, 4K, 8K 해상도( Resolution ) 총정리 - 첫[;1]프로그래머

[OpenCV] 02. OpenCV, C++ 가장 기본적인 소스코드 구조와 세세한 설명 - 첫[;1]프로그래머