기타 강좌

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

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

 

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
기타 [루비][GUI] 버튼 만들기 file 자연철학의수학적원리 2013.10.25 1440
기타 [루비][GUI] 텍스트입력박스와 버튼, 이벤트 연결 file 자연철학의수학적원리 2013.10.25 1432
어도비 프리미어 [프리미어 프로 cc2017 강좌] 오류 해결방법 '파일에 오디오 또는 동영상 스트림이 없습니다.' 아방스 2017.08.01 1428
기타 윈도우 게임을 휴대폰이나 태블릿으로 돌려보자 폰으로컴퓨터하기 2014.01.21 1428
어도비 프리미어 [프리미어 프로 cc 2017.1 강좌] 영상에 줌인 줌아웃 효과 주기 아방스 2017.08.01 1424
기타 [루비][네트워크] 간단한 서버테스트하기 file 자연철학의수학적원리 2013.10.25 1419
시네마4D Jawset TurbulenceFD v1.0 Rev 1160 For Cinema 4D – Win64 file 아방스 2013.09.24 1410
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 27 Web Buttons file 아방스 2011.12.07 1410
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Add To Cart Buttons file 아방스 2011.12.07 1403
어도비 프리미어 [프리미어 프로 cc 2017.1] 새로운 기능 "문자도구" 설명 아방스 2017.08.01 1393
웹디자인 관련 웹 디자인 무료 버튼 템플릿! -Bright 3D Buttons file 아방스 2011.12.07 1380
기타 [루비][GUI] 버튼에 이벤트 연결하기 file 자연철학의수학적원리 2013.10.25 1370
기타 [루비][GUI]텍스트입력상자 만들기 자연철학의수학적원리 2013.10.25 1345
게임기획 게임기획에 대한 강의1 2 현준갓 2014.12.15 1344
Vegas Pro [베가스 프로 15] 트라이얼 버전 설치 방법 아방스 2017.09.06 1314
C언어 정체불명의 프로그래밍 입문 2 1 file 정체불명 2012.01.18 1290
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - 3 “Call To Action” Buttons file 아방스 2011.12.07 1281
C언어 정체불명의 프로그래밍 입문 2 정체불명 2012.01.18 1262
메이킹 영상 [메이킹] 드래곤 길들이기2 메이킹 영상 아방스 2014.07.09 1258
웹디자인 관련 웹 디자인 무료 버튼 템플릿! - Aqua Texture Button file 아방스 2011.12.07 1205
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19