언어/기타
2006.08.10 17:42

C언어를 새발로 먹기? 3화.

조회 수 875 추천 수 2 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

안녕하세요. 초코군입니다 . +_+


 


인제 C 언어 강좌? 도 3화에 이르는군요 ( 이게 무슨 강좌냐 퍽퍽 )


 


오늘은 드디어 기대하시는 C언어를 이용해 프로그램을 만들게 돼엇습니다. ^^*


 


야호 ~~ 짞짞짞....


 


자자 그럼 우선 프로그램과 소스를 만들기 전에.. 컴파일러하고 에디터가 필요한데..


 


없으신분은 [FF0000_FC#] (언어재료자료실) [#FC_FF0000] 가셔서 제가 올려놓은 볼렌드 컴파일러를


다운로드 받으시길 바랍니다.


 


자 그럼 프로그램을 만들 준비가 돼으셧나요?


 


 


우선 볼랜드 C++ 를 띠우면 이런 화면이 뜰껍니다.


 



 


 


이게 저희가 작업할 C 에디터에 메인화면입니다 ^^*


 


 


우선 간단한 프로그램부터 따라해보도록 하지요.


 


 


#include <STDIO.H>


 


main()


{


            printf(" Welcome to ACOC (Creative City) ");


            return 0;


}


 


 


 


이걸 따라하셔서 입력해보시길 바랍니다.


 


붙혀넣기는 하지말아주세요


 


간격이 달라지기떄문에.


 


printf 간격을 띠어주실떈 tab을 이용하시면 편리합니다 ^^;


 


 


그리고 소스코드를 저장합니다.


 


예: WELCOME.C


 


그리고 WELCOME.C 를 컴파일 하고 링크시켜 보도록 하지요.


 


메뉴에서 보시면 알겟지만 메뉴에 4번쨰 잇는곳에 잇는 메뉴입니다.


 


단축키: ALT + F9  외워두시면 유용합니다 ^^*


 


그렇게 컴파일을 하시면 컴파일이 됏다고 메세지가 뜹니다..


 


하지만 만약 소스코드를 만드실떄 실수를하셧다면 예: printf 를 잘못타입하셔 print 라고 쓰셧다면.


 


다음과 비슷한 에러 메세지가 밑에 뜰것입니다.


 


ㅁ 컴파일 에러 ㅁ


 


Massage ( 마사지? ) 메세지 입니다. ㅎㅎ


Compiling WELCOME.C:


Warning WELCOME.C 5: Call to function 'print' with no prototype


 


이 에러 메시를 해석하는 방법은 세부분 으로 나눠볼수잇습니다.


 


+ WELCOM.C                                               - 에러가 발생한 파일에 이름.


+ 5:                                                             - 에러가 발생한 문장 번호. 5줄 한마디로.


+ call to function 'print' with no prototype         - print 라는 작동 명령어가 없다는뜻.


 


 


그럼 요번엔 프로그램을 만들떄 일부러 오류를 집어너어보죠.


 


1. 단어 welcome to ACOC 앞에 있는 큰 따옴표를 삭제해보죠.


 


이제 다시 컴파일 하면


 


이런 오류 메세지가 뜰겁니다.


 


마사지: ( ㅎㅎ massage )


Error WELCOME.C 5: Undefined symbol 'Welcome'


Error WELCOME.C 5: Function call missing


Error WELCOME.C 5: Unterminated string or character constant


Warning WELCOME.C 7: Function should return a value


 


첫 번쨰 오류메세지는 5 번쨰 줄의 단어 welcome 에서 에러를 정확히 발견해 내죠. 


세번쨰는 welcome to ACOC 가 큰 따옴표로 닫혀 있지 않으므로 컴파일러가 어떻게 처리해야 하는지 모른다는 것을 뜻합니다. 그럼 나머지 오류 메세지는 무엇일까요? 여기서는 이런 에러 메세지에 대해서 크게 신경쓸 필요가 없습니다. 단지, 여려분들이 알아둘 필요가 있는것은.  C 프로그램에서 하나의 에러가 발생할때 가끔 여러 메세지가 동시에 출력될수 있다는 것입니다. ^^*


 


대대분 경우 하나의 에러 메세지를 수정 하는 것이 여러 가지 에러 메세지의 원인을 해결하는 것이므로


기억해두시기 바랍니다 .^^*


 


+ 참고 +


 


링크 에러 메세지.


 


링커 에러는 거이 일어나기 드물고 , 까금 대개의 경우 C 라이브러리 함수의 이름을 잘못 입력하는 것에서 원인이 일어납니다. 이런 경우에는  Error : undefined symbols. 에 에러 메세지와 함께 잘못 입력된 함수의 이름이 밑줄이 추가된 상태로 출력됩니다.이러한 에러는 잘못 입력된 내용을 수정해주면 해결될겁니다 ^^*;


 


 


자 그럼 모든걸 정확히 다 하셧다면


 


 


소스입력 - > 컴파일 - > 링커 -> 프로그램의 완성


 


 


컴파일을 Successful 하게 끝내셧다면 obj 오브젝트코드가 자동으로 생성됍니다. 그러면 링크를해서


프로그램을 만드시면됍니다. ^^* 그럼 이런 이름으로 프로그램이 완성됍니다. WELCOME.EXE


 


실행하시면


 


이렇게 출력됄겁니다 ^^*


 


 


 


출력:


 


Welcom to ACOC (Creative City)


 


 


 


짞짞짞짞 축하드립니다 ^^* 여러분은 컴퓨터 프로그램을 하나 만들어내셧습니다. +_+


 


고작 Welcome to ACOC (creative city) 를 화면에 출력해내는거지만 . 희망을 가지실수잇게돼엇습니다.


여러분은 첫 번쨰 C 프로그램을 입력하고 컴파일 하여 실행해 보앗습니다. ^^* 보통 오느날에 대부분의


전문적인 C 프로그래머는 이런 과정을 거쳐서 C를 배우기 시작했습니다 ^^* 여러분은 앞으로 뛰어난


프로그래머가 될수 있다는 희망을 가지실필요가 있습니다. ^^*


 


 인제 레벨 1 단게를 패스하셧습니다. 첫번재 단게를 뛰어 넘으신거죠.


 


 


 


다음은 예졔 프로그램입니다. 만들고 컴파일하고 링크시켜서 EXE 를 창조해보세요 ^^*


만드시고 무슨프로그램인지도 맞쳐보시구요.


 


...............................................................................................................................................


 


1.(Program.)


 


 


#include <STDIO.H>


 


int radius, area;


 


main()


{


       printf( "Enter radius (i.e. 10): " );


       scanf( "%d", &radius );


       area = (int) (3.14159 * radius * radius);


       printf( "nnArea = %dn", area );


       return 0;


}


 


................................................................................................................................................


 


 


 


2.(Program.)


 


 


#include <stdio.h>


 


int x,y;


 


main()


{


       for ( x = 0; x < 10; x++, printf( "n" ) )


            for ( y = 0; y < 10; y++ )


                printf( "x" );


       return 0;


}


 


...............................................................................................................................................


 


 


3.(Program.)  < 디버깅 연습. 이프로그램엔 에러가 잇어요 ^^* 찾아서 고쳐보세요. > 


 


 


#include


 


main();


{


       printf("Keep Looking!");


       printf("You'll find it!n);


       return0;


}


 


 


 


...............................................................................................................................................


 


 


4.(Program.)  < 마리오왕자가 프로그램 언어를 망쳐놧어요 ㅠ_ㅠ. 고쳐서 마리오 공주를 구해주세요 >


 


 


#include <stdio.h>


 


main();


{


       printf("This is a program with a ");


       do_it("Problem! + MARIO MARIO MARIO! + ");


       return 0;


}


 


 


 


................................................................................................................................................


 


 


5. 단게. < 프로그램 2> 를 다음과 같이 변경해보자.


 


9: printf("%c", 1);


 


 


빠귄후 프로그램 2는 무엇을 보여주나요 ?..


 


9: 는 아홉줄에 잇는 소스를 뜻하는겁니다.


 


 


 


 


 


...............................................................................................................................................


 


 


 


여기 까지 오셔서. 수고하셧습니다. ^^* 마침으로 숙제를 (?) ( 여기가 학교냐 이씨!! ) 드리고갑니다..


 


답들은 뎃글로 올려주세요 ^^*.         점수를(?) 가장 많이 맞치신 학생(?) 은 선물을 ? 후후훗..


 


 


 


기본 문제.


 


1. C 언어를 가장 좋은 프로그래밍 언어라고 할 수 있는 세 가지 이유를 대답해주세요.


2. 컴파일러는 어떤 작업을 수행하나요?


3. 프로그램 개봘 과정 각 단계는 무엇인가요?


4. C 소스 파일에서 사용해야 하는 확장자는 무엇인가요?


5. 창조시티.TXT 는 C 소스 파일에서 사용할수 있는 이름인가요?


6. 컴파일된 프로그램을 실행했지만 예상했던 대로 작동을 하지 않는다면 무엇을 수행해야 할까요?


7. 기계어는 무엇인가요?


8. 링커의 역활은 무엇일까요?


 


 


그럼 오늘도 수고하셧습니다 .^^*


 


 


 


(최고의 프로그래머가 되기 위해 오늘도 열공!!)      (퍽.. 난 게임제작가란말이다.!! )


 


 


                                                                                                                       


                                                                                                                      By. 초코렛(?) 응? 


 


 


 


 


 


 

?

  1. 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법

    Date2018.01.02 CategoryRPG Maker Byzero? Views644
    Read More
  2. [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집

    Date2017.07.14 Category언어/기타 By황금상자 Views702
    Read More
  3. rpg vxa 로 겜만들때 데미지 설정 공식[링크]

    Date2017.06.08 CategoryRPG Maker By준E Views740
    Read More
  4. [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템

    Date2017.03.31 CategoryRPG Maker By준E Views2019
    Read More
  5. JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기

    Date2016.12.24 Category언어/기타 Bytitle: 댓글러lklslel Views851
    Read More
  6. 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요

    Date2016.11.08 Category언어/기타 By마나님이 Views908
    Read More
  7. RPG MV에서 플러그인 오류의 원인에 대하여

    Date2016.07.08 CategoryRPG Maker Bytitle: 댓글러lklslel Views2359
    Read More
  8. RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME)

    Date2016.07.08 CategoryRPG Maker By최저 Views1627
    Read More
  9. 게임의 버전을 짜 보자! - 유의적 버전 2.0.0

    Date2016.06.07 Category언어/기타 ByYanggaeng Views1123
    Read More
  10. 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다!

    Date2016.03.12 CategoryRPG Maker By정궈니 Views2938
    Read More
  11. rpgmv 마우스 지원과 터치 지원이 되니.

    Date2015.10.25 CategoryRPG Maker By팡소리 Views1011
    Read More
  12. RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상.

    Date2015.10.25 CategoryRPG Maker ByHT9MAN Views2246
    Read More
  13. RPG게임 뻔한요소들.

    Date2015.10.05 Category언어/기타 Bytitle: 천무천무 Views1644
    Read More
  14. 자바스크립트와 관련해서 참고할 만한 사이트들

    Date2015.10.04 Category언어/기타 ByMARCO Views921
    Read More
  15. 꿀잼이군요!

    Date2015.05.20 Category언어/기타 By사람님[대회참가] Views873
    Read More
  16. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.06 CategoryRPG Maker Bytitle: 자게이하앵 Views1833
    Read More
  17. [RPG2000/3 팁] 간편한 이벤트 단축키

    Date2015.04.05 CategoryRPG Maker Bytitle: 자게이하앵 Views748
    Read More
  18. [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계

    Date2015.04.02 Category언어/기타 Bytitle: 천무천무 Views636
    Read More
  19. 오다 주웠습니다.

    Date2015.03.30 Category언어/기타 By사람님[대회참가] Views917
    Read More
  20. 무료 이미지 사이트 Pixabay!

    Date2015.03.28 Category언어/기타 By나작소 Views909
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)