회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 200

캠퍼스 C 강좌_6

펌웨어 & 코딩언어 구매수 0 2007.11.04 23:14:09
판매자 프리미엄 판매 납포인트 무료 평점 0점 / 총 0명 참여

*************************< 캠퍼스 C  강좌 >****************************
[제목] :
[코드] : campusc1-006 (초급)
[교재] : CAMPUS C (초급, Third edition)  [출판사 : 책과스승]
[알림] :이 파일은 "캠퍼스 C"에서 모든 분께 공개한 "초급 강좌"입니다.
        이 [알림]의 내용을  지우지 않는다면 누구에게나 임의로  복사해 줄
        수 있습니다.그러나 이 강좌 내용에  대한 저작권은 "캠퍼스 C"에 있
        습니다.

[연락처] : 605-8662 (서울) ("캠퍼스 C", 도서출판 "책과 스승")
           천리안 : go campusc  
           나우콤 : go lcampc
           하이텔 ID : campusc
**************************<< 목 차 >>**********************************
<1> 세미콜론 ";" 에 대하여 (단문, 복문)
<2> 제어문 : if ,  else if ,   else
<3> while 사용법 (순환문)
<4> do while 사용법(순환문)
*************************< 내용 시작 >*********************************
<1> 세미콜론 ";" 에 대하여 (단문, 복문)
***********************************************************************
        세미콜론에 대해서 정식으로 언급하자.  C 에서는 "문장(statement)"
이란 용어를 쓴다. 즉 다음에서 세미콜론으로 끝난 줄들이 문장이다.
-------------------------------------
#include <stdio.h>

#define PI  3.141592654

int ii,jj=90;

main()
{
      int age ;

      age = 10;
      while( age < 20) {
            printf("No Drink\n");
            age++;
      }
      printf("Beer !");
}
------------------------------------
        초보자들은 세미콜론을 붙이는 자리가  혼동될지도 모르겠다. 일단은
크게 안 붙이는 자리를 기억하기로 하자.
        1) #include 가 있는 줄
        2) #define 이 있는 줄
        3) 함수를 "짤 때" 함수 머리와 몸통 사이
        4) 함수 형태 예약어인 if(),for(), while(), switch(), do 다음

        이 외에는 거의  전부 붙인다고 봐도 좋다.  일반적인 원칙을 적어보
면 다음과 같다.
        -----------------------------------------------------
        세미콜론은 컴파일러에게 있어서 종지부(마침표)와 같다.
        ------------------------------------------------------
        즉 뒤따라오는 글자와 내용적으로  아무 상관없으니까 여기까지 일단
한 묶음으로 해석하라는  뜻이다. 이런 개념에 입각하면 위의 3)  과 4)의 경
우는 이해가 갈 것이다. 예를 들어 다음 문장
                if(a> 0)
                        a = a+ 1; 
        이걸 한국말로 하면 "만일 a 가 0  보다 크면 a 에다 1을 더해라" 이
다. 문장 중에 마침표  찍을 자리가 없다는 걸 알 것이다.  그러나 다음 같이
세미콜론을 중간에 찍으면 의미는 달라진다.
                if(a> 0);               <-- 세미콜론 찍음
                        a = a+ 1; 

한국말로는 다음과 같다
        첫째) " 만일 a 가 0 보다 크면 ... 얘기 끝났음."
        둘째) " a 에다 1을 더해라."
여기서 1은 "무조건"  더하는 것이다. 즉 아무리 들여  짜기를 해도 내용적으
로 다음과 같다.
        if(a> 0);
        a = a+ 1; 
의도가 달라져  있음을 알 것이다.  따라서 세미콜론의 의미만  알면, 어디다
종지부를 찍어야 할지 이해할 수 있을 것이다.

        예전에 블럭(block) { } 를 얘기한 적이  있다. 이 블럭은 문장을 여
러개 묶을 때 쓴다. 이른바 복문이 되면  블럭을 쓴다는 것이다. C 에서도 단
문, 복문이라는 용어를  쓰는데 국어 시간의 그것과 똑같다. ;  이 하나만 있
으면 단문, 여러 개 있으면 복문이다.
***********************************************************************
<2> 제어문 : if ,  else if ,   else
***********************************************************************
        지난 시간에 다른 함수의 몸통  안에서 baby() 형태를 갖는걸 찾아본
적이 있다. 그때  4개를 외우라고 했는데 이제부터 그것들을  하나씩  이야기
해 보겠다.

      if() {       while() {        for() {       switch() {
      }            }                }             }
 

        이것은  함수처럼   보이지만  함수가   아니라고  했다.   왜냐하면
if,while,for, switch 는  "제어문"에  쓰이는 예약어들이지, 내 맘대로 쓰는
함수 이름이 아니기 때문이다.
     여러 문장들이 블럭안에서 시작되면  자기들끼리 "같은 그룹이라는 표시
로 들여짜기"를 한다는 것을 얘기한 적이 있다.
         지금부터 그것이  실제로 적용되기 시작한다. 중괄호  가 열리면 자
동적으로 들여짜기가 시작되는  것을 잠시 보자. 이것을  자꾸 언급하는 이유
는 사소해 보이는  이 법칙이 실제 프로그램 작성및  분석에서는 아주 중요하
기 때문이다.

main()
{
       int i,j,k;

       i = j + k;
       if( i > 0) {
             k *= i;
             j = k*k;
             if(j >0) {
                    i++;
                    j--;
             }
        }
        k = i%k;
}
        또 단문인  경우도 꼭 들여짜기를 할  것을 권한다. 이것도  비록 한
문장이지만, 어떤 영향을  받고 있다는 가시적인 표현 인  것이다. 즉 아래가
좋은 방법이다.
        ------------------
        if(a > b)
                c = c +d;
        ------------------
아래와 같은 형태는 읽는 사람을 어리둥절케 한다.
        ----------
        if(a > b)
        c = c +d;
        ----------

        이와 같이 단문과  복문에서 들여짜기를 하는 경우는  위에 언급한 4
가지뿐이다.
        if문 사용법에  대해서는 긴 설명이 필요  없을 것 같다.  다음 말을
if문으로 써 보자.

        " 만일 a 가 b 보다 크면 a를 찍고 아니면 b를 찍어라"

C 말로는 다음과 같다.

       if(a > b)
              putch('a');
       else
              putch('b');

        내용적으로는 어려울  것이 없고  표기법에 익숙하기만 하면  되는데
그 모든 경우의 수가 [117쪽] 아래 표에  나와 있다. 앞으로 프로그램을 직접
짜면서 혹시 혼동되는 부분이 있으면 이 "쪽"을 참조하시길 바란다.

        그리고 나중에 큰  프로그램의 분석을 위해서 잠깐  연습해 보자. 지
금 이 정도의 프로그램에는, 아래의  방법을 사용할 필요는 없지만, 프로그램
을 분석할 때는  다음과 같이 시각적으로 프로그램의 각  부분을 확실히 구분
하는 것이 좋은 요령이라는 것을 아시고, 책에  연필로 다음과 같이 네모 box
를 그려보자.
 +-----------------------+
 |  1)  if( a > 0)       |
 |          a = b + c;   |
 +-----------------------+

2) 번의 경우는 다음같이 그린다.
+------------------------+
|   2)  if( a > 0)       |
|           a = b + c;   |
+------------------------+
|       else             |
|           a = b - c;   |
+------------------------+
7) 번의 경우는 다음과 같이 될 것이다.
+---------------------------------+
|   7)  if( a > 0)                |
|         +--------------------+  |
|         | if(a == 0)         |  |
|         |         a = b - c; |  |
|         +--------------------+  |
|         | else               |  |
|         |         a--;       |  |
|         +--------------------+  |
+---------------------------------+
|       else                      |
|            a--;                 |
+---------------------------------+
        저의 의도를 아시리라 믿는다. 사실은  들여짜기한 것이 위에 우리가
그린 box와 동일한  형태를 가지는 것이지만, 이렇게 직접  네모를 그려 놓으
면 더 "확실히"  눈에 들어온다. 이런 분석법은  프로그램이 복잡해질수록 더
진가를 발휘한다. 이런  방법은 사실상 일종의 요령이고  저의 개인적인 방법
이지만 여러분들은 이 연습을 통해 스스로  들여짜기 및 block의 올바른 사용
법에 더 신경을 써야 된다.

        원래 남이  짜 놓은 프로그램을  읽는 것은 귀찮고  짜증스러운 일이
다. 그래서 보통은 분석할 때 눈에 핏발이  좀 서는 법인데 어떤 초보자가 들
여짜기를 잘못해 놓으면 입에서 당장 욕이 나온다.
"어떤  xx 가 이렇게 짜놨어. 이걸 돈주고 배웠어 ! 한심한...."
        이건 내가 하는 욕이 아니고 왕년에  내가 들었던 욕이다. 나도 이제
는 이 욕을 써먹으려고 호시탐탐 노리고  있으니까 주의하시고, 또 그래도 신
대세의 조류에 맞게  자기 개성껏 들여 짜기를 하실  분들은 저에게 배웠다는
말씀은 삼가 해 주시길 부탁 드린다.

<숙제> 나머지 경우도 위와 같이 box를 쳐보세요

if의 표현 법칙은 의외로 간단하다.

     1) "if" , "else if" , "else"의  조합이다.단 if만 존재할 수는 있어도 
        else if ,else 만 존재하지는 못한다.(상식)
     2) 복문에서는 { } 를 써서 블럭화 한다.
     3) 중첩(nesting)이  가능하다 즉 if  또는 else 안에서  또 독립적으로
                if,else를 시작할 수 있다.
     4) 머리 부분만 봤을 때 [117쪽] 위부분의 표현은 전부 다 옳다.

        [117쪽]의 표현들에서도 보다시피   if()의 소괄호 사이  ( ) 안에서
는 무슨 짓을 해도 상관없다. 다만 그  결과가 "0"(거짓) 인가 "0 이외의 값"
(참)인가 하는 사실만 분명히 알 수 있으면  된다.(중요), 이 부분에 형광 펜
으로 표시해 두세요). 이 "참", "거짓"의  문제는 if() 문에만 해당하는 것이
아니고, C에서 "조건"을 따지는 모든 문제에 해당한다.

        if의 몸통 문제를 보면, 단문에서 { }  를 해주어도 상관은 없다. 그
러나 { } 를  사용할 자리에 생략을 하는 것은 당연히 error 다.  이런 건 상
식이라고 생각하는데 어떻게 생각하시는지 모르겠다. 간단한 예를 보면,

         < 단문 >                    < 복문 >
       if( a > 3)                  if( a > 3 ) {
            a = v + c;                   a = c + v;
                                         a = d + c;
                                   }

위는 다 옳은 문장이다.그러나 다음을 보자

       if( a > 3) {                 if( a > 3 )
            a = b + c;                    putch('a');
       }                                  putch('b');

여기서 왼쪽은 맞다. 그러나 오른쪽은  틀린다. 위 오른쪽의 의도는 들여짜기
로 보아 "만일 a가 3 보다 크면 글자  a 와 글자 b를 찍어라" 이다.그러나 아
무리 들여짜기를 같이 해주었다고 해도  컴파일러는 그것을 상관치 않고 자기
문법에 맞게 아래와 같이 해석한다.
                                     if( a > 3)
                                           putch('a');
                                     putch('b');
즉 "조건이 맞으면 a를 찍는다. 그러나 b는 무조건 찍는다".
의도가 많이 달라져 있음을 알 것이다.  따라서 아주 단순한 경우가 아니라면
무조건 {  } 를 쓰는 편이  좋다. 따라서 앞으로 여러분께서도  if(), for(),
while(), switch()만 보시면 "{ }" 부터 찾으려고 하는 습관이 필요하다.

        보통 if() 문에서  큰 문제거리가 되는 것은, 위와  같은 "표현법 자
체"가 아니다.  이런 건 여러분도  금새 익숙해 질  수 있을  것이고, 사실은
"문제의 논리적인 분석"이  더 어려운 문제다. 말을 이해할 수  없는 것이 더
큰 문제인 것 같은데 직접 예를 들자.
        지난 시간에 내  드린 숙제를 여러분들이 충실히  하셨는지 모르겠는
데, is...() 함수들이 "yes" 라고 대답하는  경우는 교재에 나온 대로 다음과
같다.

        isalnum() : A - Z, a - z, 0 - 9
        isalpha() : A - Z, a - z
        isdigit() : 0 - 9
        isgraph() : 0x21 - 0x7e
        islower() : a - z
        isprint() : 0x20 - 0x7e
        isupper() : A - Z
        isxdigit() : A - F, a - f, 0 - 9

        isascii() : 0x00 - 0x7f
        isspace() : 0x09 - 0x0d, 0x20
        iscntrl(): 0x00 - 0x1f, 0x7f

즉, 위의 함수들은  "한 바이트" 즉, 256  각형 주사위 중의 한  숫자가 어느
속성에 속하는가 하는 것을 분류하는  함수들이다. 영어 의미 그대로 "아스키
코드냐 ?"를 " isascii() ? "로 묻고 있는 것이다.

        이제 한 글자  0x00 을 예를 들어보자. 이것은 위의  함수중 어느 것
에 속하는가 ? 해당하는 함수를 전부 찾는  프로그램은 아래와 같다. 이 문제
를 해결하려면 오늘 배운 if() 만 있으면 충분하다.
-----------------------------------------
main()
{
        char ch = 0x00;

        clrscr();
        if( ch < 0x7f)
                printf(" isascii() --> Yes\n");

        if( ch < 0x20) {
                printf(" iscntrl() --> Yes\n");
                if( ch >= 0x09 && ch <= 0x0d ) {
                        printf(" isspace() --> Yes\n");
                }
        } else {
        +------------------------------+
        |       < 이 부분이 숙제 임>   |
        +------------------------------+
        }
------------------------------------------
위에서 가장 큰 분류는
        1. isascii()인가를 확인하는것 이다.
        2. 둘째는 iscntrl() 과 그렇지 않은 부분으로 나누는 것이다.

여기서 0x00을 확인  해 보려면 위의 프로그램으로 충분하다는  것을 알 것이
다.

<숙제>
위의 box 부분을  완성해서 0x30 이 어느 is..() 함수중  어느 것들에 해당하
는지 확인해 볼 수 있는 프로그램을 작성해 보세요.

        위에서 어려운 말로 했던 "문제의  논리적인 분석" 이란게 이렇다.문
제를 얼마나 간결하게  정리를 해서 쉽게 if()문으로 구현할  수 있는가 하는
것이 문제지, if()문을 쓰는 표현법이  어렵다는 말이 아니다.이런 문제는 제
가 가르쳐 드릴  만한 문제가 아니다. 여러분의 참신한 머리가  더 잘 하시리
라고 믿는다.

예를 하나 더 들면 if 구문에서 꼭 끼는 게 성적 분류 프로그램이다.

< 숙제>
아래의 프로그램을 좀더 세분하여 점수가
        90  - 100 사이 이면  'A'
        80  - 89 사이 이면  'B'
        70  - 79 사이 이면  'C'
        60  - 69 사이 이면  'D'
        0   - 59 사이 이면  'F'
가 되도록 고쳐 보라.
-------------------------
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

char str[10];
int     score;
main()
{

        clrscr();

        while(1) {
                 printf(" Type your score( 0 for EXIT) : ");
                 gets(str);
                 score = atoi(str);
                if(score == 0)                            /* exit */
                        return;

                if(score >= 90 && score <= 100)    /*  A check  */
                        printf("Grade 'A'\n");
                else if(score >= 80 && score <= 89) /*<-- 아래 <문>  */
                        printf("Grade 'B'\n");
                else {
                        printf(" Wrong score \n");
                        putch(0x07);
                }

        }
}
--------------------------
<문> 위에  표시한 부분에서 else  if(score >= 80  ...) 의 "else  if" 대신
(else 를 생략하고) "if"만 써서 if(score >=  80 ...) 라고 쓰면 프로그램은
어떻게 달라지는가 ? 어떤 방법이 더 좋다고 생각되는가 ?
***********************************************************************
<3> while 사용법 (순환문)
***********************************************************************
        이것도 약방의  감초 같은 것이다.  뜻은 영어 그대로  "조건이 맞는
동안..".이다. 언뜻 들으면  if 와 비슷한 것 같으나,  지금부터는 소위 말하
는 loop(순환문)이다. if는 조건이 맞거나 안  맞거나 한번 쭉 지나가면 그만
이지만 여기서는 조건을  만족시키지 못하면 평생 거기서  갇혀 살아야 한다.
아무리 빠삐용 같은 탈출 의지가 있어도 허사다.
        완전한 사용  법은 [122쪽] 상단의  표이다. 이제 이  사용예를 직접
보자  " age 가 20 보다 작은 한 No Drink " 라고 찍는 프로그램이다.
---------------------------------
main()
{
      int age ;

      age = 10;
      while( age < 20)
            printf("No Drink\n");
}
----------------------------------

위를 실행 시켜  보면 어떤 결과가 나타날  걸로 생각하는가 ? 현재  나이 10
살이다. 어떤 영화처럼 이 아이는 안 자란다. 계속 No Drink 다. 또 보자

---------------------------------
main()
{
      int age ;

      age = 10;
      while( age < 20) {
            printf("No Drink\n");
            age++;
      }
      printf("Beer !");
}
---------------------------------
        복문이 되면서 {  } 를 사용한 걸 보라. 그리고  여기서는 애가 자란
다. 처음부터 살펴보면,  나이는 10살부터 시작한다. 조건을  따진다 "20살이
안되었나  ?",  "참" 이다.  그러면  while()의  영향력 내로  들어와서  "No
Drink"를 찍는다.
        이걸 찍는데 일년이 걸린 모양이다 한  살 올려 주었다. 그리고 다시
올라가서 while(age <  20)을 따진다. 또 처음의  과정을 반복한다.이것이 if
와 다른 점이다. 이와 같이 while 문  안에서 조건을 만족시키는 한(즉 20 살
이 안되면)계속 돈다.  내 생각엔 이래서 "프로그램이 돈다"  고 얘기하는 것
같다. 그리고 문제가  조금 더 복잡해지면 사람도 같이 따라서  도는 수가 있
다.

<문> "No Drink"를 몇 번 찍나요 ?

20 살이 되면 while( age < 20)  조건에 맞지 않는다. 따라서 while()을 빠져
서 while 영향권을  벗어난 블럭 {}의 아래로 내려간다. 그러면  "Beer !" 한
잔 마실 수 있다.

위 예에서 보면,정상적인 while() 문에서는 3  부분이 완비 되야 자기가 원하
는 일을 할 수가 있다는 것을 알 것이다(중요). 자세히 살펴보면,
        -----------------------------------------------------------
        1. while() 전에  나이가 초기화 되야 한다. : age = 10
        2. 조건을 따져 봐야 한다.                 : while( age < 20)
        3. 나이를 올려 줘야 한다.                 : age++;
        ------------------------------------------------------------
천천히 음미해 봐야 한다.다음을 또 보자

       while(1)                          while(100)
             putch('\a');                     putch('a');

        위 프로그램은  어떤 결과를 나타내는가  ? C에서는 이런  조건 문을
따질 때 0 이면 '거짓'  그 외의  숫자는 전부 참으로 취급한다.통상 1 이 대
표적으로 '참'을 나타낸다.  따라서 위와 같은 경우는  조건을 따지지도 않고
무조건 "참" 이다. 별일이 없는 한 평생  그 안에서 돌아야 한다. 이런걸 "무
한 루프(loop)" 라고 한다 .

<문제 1> 1 부터 100 까지 더하는 프로그램을 짜 보면 ?
<문제 2> 다음  프로그램의 결과를 머리 속에서 찍어  보고, 화면으로도 찍어
        보세요. 결과가 똑 같습니까 ?

main()
{
        int     i = 1;

        clrscr();
        while( i <= 24) {

                if( i < 10) {
                        printf("%d\n", i);
                } else if( i >= 10 && i < 20) {
                        printf("%d\n", i*10);
                } else if( i >= 20) {
                        printf("%d\n", i*100);
                }
                i++;
        }
        getch();
}

<참고> [123쪽] (예제 2)번에서 "%d" 를 "%ld"로 바꿔서 찍어야 정확함.
***********************************************************************
<4> do while 사용법 (순환문)
***********************************************************************
        do-  while문의 완전한  사용  예가  [125쪽]에 나와  있다.  형태는
while과 유사하다   그러나 이 문장이 while문 과 다른  점은, 프로그램이 일
단은 do 를 거치고 내려와서 밑에 있는  while 과 비교한다는 것이다. 따라서
이 문장은 처음 내려오는 동안에 무조건 한  살을 더 먹을 수 있다는 것이다.
그 차이밖에  없다. 그리고 실제로 많이  쓰이지는 않지만 쓰면  표현이 아주
간단하게 되는 경우가 있다.

<문제> do while문을 써서 1 부터 100 까지 더하는 프로그램을 짜 보세요.
<문제> 위의 while() 사용법의 <문제2> 를 do  while() 으로 고쳐 써 보세요
<문제> [125쪽]의 (예제 1)이 while과  do-while문의 차이를 선명하게 보여줍
        니다.이 문제를 직접 풀어보세요.(소스는 따로 제공된 파일에 있음)
****************************< 끝마치며 >******************************
수고 하셨습니다.
***********************************************************************

 


profile
외뿔공룡 2008.10.11 12:17
자료 감사합니다.
profile
버닝비 2009.09.22 15:41
좋은 자료 감사합니다.
profile
한틀 2009.11.02 11:15
좋은 자료 감사합니다.화이팅~!
profile
스마일러 2009.12.29 17:57
왜 결과값이 안나오징....ㅠㅠ;; 컴파일해서 실행하니까....ㅠㅠ;;
profile
용정 2010.01.15 13:21
좋은쟈로 감사합니다.
profile
안다솜 2010.02.03 13:47
감사합니다.
profile
KillingS 2010.05.23 15:37
감사해요~~
profile
jlee377 2010.07.28 14:06
좋은자료 감사합니다^^
profile
시나브로69 2017.06.24 15:43
좋은 자료 감사합니다.
search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
100 펌웨어 & 코딩언어 캠퍼스 C 강좌_19 [5] 무료 프리미엄 2007-11-15 0 936
99 펌웨어 & 코딩언어 캠퍼스 C 강좌_18 [3] 무료 프리미엄 2007-11-15 0 964
98 펌웨어 & 코딩언어 캠퍼스 C 강좌_17 [3] 무료 프리미엄 2007-11-07 0 877
97 펌웨어 & 코딩언어 캠퍼스 C 강좌_16 [3] 무료 프리미엄 2007-11-07 0 1247
96 펌웨어 & 코딩언어 캠퍼스 C 강좌_15 [4] 무료 프리미엄 2007-11-07 0 998
95 펌웨어 & 코딩언어 캠퍼스 C 강좌_14 [2] 무료 프리미엄 2007-11-05 0 966
94 펌웨어 & 코딩언어 캠퍼스 C 강좌_13 [2] 무료 프리미엄 2007-11-05 0 1053
93 펌웨어 & 코딩언어 캠퍼스 C 강좌_12 [4] 무료 프리미엄 2007-11-05 0 1008
92 펌웨어 & 코딩언어 캠퍼스 C 강좌_11 [3] 무료 프리미엄 2007-11-05 0 1020
91 펌웨어 & 코딩언어 캠퍼스 C 강좌_10 [4] 무료 프리미엄 2007-11-04 0 1069
90 펌웨어 & 코딩언어 캠퍼스 C 강좌_9 [6] 무료 프리미엄 2007-11-04 0 1309
89 펌웨어 & 코딩언어 캠퍼스 C 강좌_8 [7] 무료 프리미엄 2007-11-04 0 1294
88 펌웨어 & 코딩언어 캠퍼스 C 강좌_7 [9] 무료 프리미엄 2007-11-04 0 1101
» 펌웨어 & 코딩언어 캠퍼스 C 강좌_6 [9] 무료 프리미엄 2007-11-04 0 1356
86 펌웨어 & 코딩언어 캠퍼스 C 강좌_5 [10] 무료 프리미엄 2007-11-04 0 1456
85 펌웨어 & 코딩언어 캠퍼스 C 강좌_4 [11] 무료 프리미엄 2007-11-04 0 1587
84 펌웨어 & 코딩언어 캠퍼스 C 강좌_3 [10] 무료 프리미엄 2007-11-04 0 1308
83 펌웨어 & 코딩언어 캠퍼스 C 강좌 _2 [17] 무료 프리미엄 2007-11-04 0 1396
82 펌웨어 & 코딩언어 캠퍼스 C 강좌 _1 [28] 무료 프리미엄 2007-11-04 0 2233
81 펌웨어 & 코딩언어 아스키표(ASCII TABLE) [4] 무료 나니오 2007-10-13 0 1634
  • 나는 갈매기
    - 테레시코바
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.