기타 강좌

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

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

 

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 Jawset TurbulenceFD v1.0 Rev 1160 For Cinema 4D – Win64 file 아방스 2013.09.24 1410
C언어 func.h함수소개 정체불명 2012.01.25 2357
css display 속성 아방스 2011.09.17 2217
C언어 c언어로 구구단 프로그래밍 하는 영상 1 정체불명 2014.11.02 740
C언어 c언어로 같은그림 찾기 만들기 -기획편 1 정체불명 2012.01.18 2707
기타 c언어로 간단한 계산기 만들기 3 아방이 2008.01.23 6090
C언어 C언어 기초 - 1. 개요 5 완폐남™ 2011.08.01 3183
시네마4D Cinema4D 맵핑, 매터리얼 기초 메뉴얼 아방스 2010.08.18 3515
시네마4D Cinema 4D r13 Tutorial: Particles Transition to Text - PolyFX 아방스 2012.01.25 5367
C언어 C# 병렬처리! 스레드 사용하기 1 file 꿈달 2012.11.08 4129
C언어 C# - 시스템 정보 받기 2 file 코르뉴 2010.07.11 2831
C언어 C 프로그래밍 기초 1 아방스 2009.01.12 2228
기타 Blender 3D 게임 엔진 1 에돌이 2011.07.08 4654
템플릿 ayatoweb1 [Standard 3D 플러그인 필요] file 아방스 2011.12.06 2340
에프터 이펙트 After Effects CS5.5 / 기능 아방스 2011.04.16 2668
플러그인 After effect cs 5.5 plugin 손떨림 보정 플러그인 Warp stabilize 아방스 2011.12.16 7311
기타 3D MAX 2008 - subdivison 모델링 1 아방스 2009.05.28 1975
XpressEngine 2011.11.05 XE Camp - XE를 활용한 웹 사이트 구축 아방스 2011.11.07 1989
XpressEngine 2011.11.05 XE Camp - XE 스킨 제작 가이드 아방스 2011.11.07 1976
XpressEngine 2011.11.05 XE Camp - XE 소개 및 오픈소스 참여 방법 3 아방스 2011.11.06 2244
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19