기타 강좌

※본 내용은 제가 학교에서 배웠던것을 정리하여 올리는 것입니다.

틀린점이나 이상한 부분은 댓글로 남겨주시기 바랍니다.

 

C언어란..?

 

= C 프로그래밍 언어는 1972년에 미국 벨(Bell) 연구소의 시스템 프로그래머인

데니스 리치(Dennis Richie)가 개발한 시스템 기술용 언어 입니다.

당시엔 어셈블리어로 UNIX 운영체제가 개발되어 있었는데

어셈블리어는 시스템간의 호환성이 없어서 좀더 강력하게 설계된 언어가 바로 C언어이고,

실제 UNIX 운영체제의 90% 이상이 C언어로 이루어졌습니다.

 

현재도 C언어는 연산자(Operator) , 자료형(Data type) , 함수 라이브러리(Function Library)등이

다양하고 이식성이 높아 널리 사용되어지고 있는 프로그래밍 언어 입니다.

 

 

(1) C 언어의 특징

 

① C 언어는 하드웨어를 제어할 수 있는 저급 언어로서의 기능을 갖고 있으며,

고급언어로서의 기능을 가지고, 이식성이 뛰어나다.

 

② 함수 단위로 프로그램을 작성함으로써 구조적으로 프로그램을 작성할 수 있다. (모듈화가능)

 

③ 간결한 문법 (대,소 문자 구분) , 다양한 연산자 , 데이터의 형 변환을 제공

 

④ 기억 장소를 효율적으로 관리하므로 기억장소의 낭비를 줄여 실행 속도가 빠르다.

 

 

(2) C 프로그램의 구조

 

일반적인 C 프로그램의 구조는 다음과 같다.

#include <헤더 파일>

void main( )         // 프로그램 시작 함수

{                          // 프로그램(함수) 시작 괄호

     선언문 :

     명령문 :        / * 프로그램(함수) 본체 * /

     명령문 :

          ·

          ·

}                         // 프로그램(함수) 끝 괄호

 

#include <헤더 파일> : 선행 처리기 로서 프로그램이 실행되기 전에 준비 작업을 한다.

 

main( ) : C 프로그램은 반드시 하나의 main( ) 함수를 가져야 하며, main( ) 이 프로그램의

어디에 쓰이든 프로그램은 항상 main( ) 함수부터 실행된다. main( ) 함수는 함수를 구성하는

몸체가 있는데, 반드시 { 로 시작해서 } 로 끝난다.

main( ) 함수의 몸체에는 프로그램 실행에 필요한 변수와 문장 등을 기술한다.

 

 

(ㄱ)프로그램 작성시 규칙

 

영문 소문자를 기본으로 작성한다. (실제로 식별어를 제외한 모든 예약어, 표준 함수는 모두 소문자로 이루어짐)

 

식별어는 사용자가 임의대로 만들어서 사용할 수 있는 것 (정해진 규칙에 따라 만들어서 사용해야 한다.)

 

한 문장이 끝날 때마다 반드시 세미콜론( ; ) 으로 문장의 끝을 표시한다.

 

 

주석문 이란..?

 

= 주석문은 프로그램에 대한 보충 설명이나 문장에 대한 설명을 할 때 사용되는 것으로 프로그램 실행과는 무관하다.

 

 

일단 이것으로 첫번째 C언어 강좌를 마치겠습니다.

---------------------------------------------------------------------------------------

 

제가 하는 강좌는 아주 기초적인 것들만 다룰 것입니다.

아직 C언어는 어렵거든요..ㅎㅎ

Who's 완폐남™

?

닉네임 : 완폐남™

직  책 : 관리자

가입일 : 2009-03-13

Comment '5'
  • profile
    we0 2011.08.01 18:37

    아니 무슨 소리야?!

  • ?
    허걱 2011.08.05 01:44

    오!!  드디어 강의가 나오는군요! +_+

    하나도 안빼고 경청(경독?)하겠습니다!!  ^^

  • ?
    완폐남™ 2011.08.05 09:53

    아주 기초적인거지만

    열심히 해보겠습니다~

  • profile
    Lathrion 2011.08.07 14:57

    특징이나 글 자체에 전문용어가 너무 많이 들어가 있어서 초심자들에게 도움이 안될겁니다.

    몇가지 보충해드릴게요.

     

    함수 라이브러리 ::: 프로그래밍 언어를 사용할때 대체로 "명령"이라는 문구를 제공하는 파일입니다.

    예를들면 당신이 print "A"라고 씀으로써 화면에 A라는 글자를 띄울수 있다면 이 print라는 명령어가 어떤 명령어인지

    미리 프로그래밍 해둔 곳을 함수 라이브러리라고 합니다. 컴퓨터는 지능적인 기계가 아니므로 당신이 "컵을 가져와라"

    라고 하더라도 컵을 어떻게 집는지, 어디있는지, 뭘 집어야되는지, 집을때는 얼마나 세게 집어야되는지 등등을 죄다 미리

    컴퓨터에게 알려줘야됩니다. 따라서 프로그래머가 자주 사용하는 명령어는 컴파일러에서 이 함수 라이브러리를 지원하고

    당신이 사용하는 컴파일러나 운영체제에 따라 이 함수 라이브러리의 내용이 조금씩 다릅니다.

     

    그리고 C언어의 특징중 "④ 기억 장소를 효율적으로 관리하므로 기억장소의 낭비를 줄여 실행 속도가 빠르다."

    이것은 C언어와는 거리가 멉니다. 관리하는것은 운영체제쪽이므로 효율적인 관리는 운영체제를 따져야되구요.

    C++와는 다르게 C는 그다지 메모리와 관련된 효율적인 문법은 제공하지 않습니다.

     

    그리고 헤더 파일 설명이 잘못되었는데 프로그램이 실행되기 전에 준비작업을 하는게 아니라 컴파일시에

    헤더 파일들의 내용을 참고하여 명령어들을 기계어로 번역합니다. C언어의 stdio.h라는 헤더 파일을 사용하기 위해서는

     현재 작성하는 코드 맨 위에 #include <stdio.h>  이 문구를 작성함으로써 컴파일시에 이런 헤더 파일을 참고하라 라고

    명령할수 있고 이런 행위를 "헤더 파일을 포함하다" 라고 합니다. 만일 저 헤더파일을 포함하지 않으면 printf나 scanf등의

    기본 입출력 함수(명령)들이 존재하지 않는 문구라고 뜨며 컴파일 에러가 발생합니다.

     

    작성자분의 성의를 무시하는것은 아니지만 일부 잘못된 내용이 있어서 불가피하게 수정하는게 옳은 부분만 썼구요.

     

    무엇보다 컴파일러를 소개 안하신...;

  • ?
    완폐남™ 2011.08.07 18:19

    라시온님 보충 감사합니다.

    제가 배운책을 고대로 배껴 쓰는 정도이기에

    제 실력이 드러나네요..


List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
시네마4D Cinema4D 맵핑, 매터리얼 기초 메뉴얼 아방스 2010.08.18 3517
C언어 C언어 기초 - 1. 개요 5 완폐남™ 2011.08.01 3183
기타 c언어로 간단한 계산기 만들기 3 아방이 2008.01.23 6091
C언어 c언어로 같은그림 찾기 만들기 -기획편 1 정체불명 2012.01.18 2707
C언어 c언어로 구구단 프로그래밍 하는 영상 1 정체불명 2014.11.02 740
css display 속성 아방스 2011.09.17 2217
C언어 func.h함수소개 정체불명 2012.01.25 2357
시네마4D Jawset TurbulenceFD v1.0 Rev 1160 For Cinema 4D – Win64 file 아방스 2013.09.24 1410
기타 JHL's STUDY_캐릭터의 중심 "콘티" file J H L 2010.04.02 2197
C언어 Lua강좌 1 *ps인간 2009.01.26 4902
어플개발 m-BizMaker 코딩없이 어플 개발 할수있는 프로그램. 소개 1 아방스 2014.11.25 1126
시네마4D Navié Plants & Effex Krakatoa Edition v2.00.20 For Cinema 4D R14 – R15 – Win64 file 아방스 2013.09.24 1951
기타 PCSX2 자체 캡처기능으로 캡처한 동영상 인코딩하기 file Alkaid 2012.09.09 3257
기타 PHP 1강. 내가누구 2012.02.24 2036
기타 PHP 2강. 내가누구 2012.02.24 1993
기타 RPG-Builder 3D - 캐릭터 그래픽을 드래곤 으로 바꿔보자! 5 file 더블오렌지 2011.08.08 2464
OSX (맥) tar 명령어로 압축하기 / 압축해제 사용법 및 옵션 설명 아방스 2014.11.17 3074
플러그인 VC Reflect [반사되는 이미지 만드는 플러그인] 1 file 아방스 2012.03.28 7016
기타 VirtualDub, Avanti, AviSynth를 사용한 초보적인(?!) DVD -> 동영상 파일 변환법. Alkaid 2012.08.27 3480
XpressEngine XE1.1.5로 업후 위젯들이 문제를 일으킬때 수정방법 아방스 2009.02.21 3033
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19