제 목          C 언어 기초부터 \'가르쳐줄게\' 같이 글보면서 할 병아리들 있어?

 C 언어 기초부터 가르쳐줄게. 그냥 넌 인터넷선만 연결되면되.
내가 이걸 왜하냐면 내 9600gt 그래픽카드 A/S 보내야하는대. 심심해서 그래.

어때. 기초부터 아주 풀로 돌려줄게.
너 이것만 마스터하면 C마스터. 아주 폭팔! 어때? 정식으로 C 배우는거야. 이해안되는 것도 있지만
이미지랑 대화하면서 ㄱㄱ 어때 할 병아리 있으면 댓글닳어

아무나 환영 초보자 ,눕 환영

제 목          C 언어 \'TurnHead\' 병아리들도 한달이면 \'넌 프로그램어\'1편
안녕! 병아리들 , 컴겔에서 너희를 가르쳐주는 사람 없고~
컴퓨터 학원에서는 그냥 \'쭉\' 가라 말하고 기본은 바닥을 기는 것을 탈피하여! 정식 C에 입문한 너희들이 자랑스럽삼!


일단 인터넷만 연결되라고 한것은 \'C 무료컴파일러\'가 대략 많기 때문에
가장 쉬운 Pelles C 컴파일러 가지고 할거야.

이건 순수 노가다성이 짙어서 컴퓨터 정식배우는 이들에겐 좋지. 비주얼베이직 하면 안되.
툴바를 많이써서..


Pelles C compiler 주소

http://www.smorgasbordet.com/pellesc /

에서 Main setup 과 에드온을 설치하길 바래! ^^~



너희들이 정식으로 배울것은 \'Mitchell waite , Stephen Prata , Donald Martin\' 이 저술한 책을 바탕으로 할려고해.
벌써부터 우린 정통으로 배우는거야! ^^ 자 기본부터 알아가자!


1. C 를 프로그램어가 좋아하는 이유.

top-down design ) 톱 다운 계획.  구조화된 프로그래밍 , 모듈화 설계를 쉽게 할 수 있어서야.
처음에는 이해가 잘 안될거야. 구조체와 모듈설계. 후반되면 이해가 조금씩 될거야.


1-1. C의 장점은  어디서든 융통적이게 잘돌아가고, 강력한 기능이 많아!
그리고 보통 어셈블리어 (기계어)와 연동되어 미세 조정이 가능해.

그리고 비주얼베이직을 추천안하는 이유는
C의 구조화를 편의라고 해야하나.. 대부분 단순화시켜서  C를 이해한 프로그램어에겐 좋지만
초보들에겐 오히려 독이 되지..


2.  프로그램을 예로들어서 설명할게.

#include<stdio.h>

main()
{
    int x;

    x=1;
    printf(\"I Enter the C\");
    printf(\"Thx C\");
}


자 우린 눈으로 보면서 한다.
Pellesc 를 실행시켜봐! 그러면 처음화면에 빌드를 하라고 하지. 어서하렴~ㅎㅎ
빌드를 다 하면 클로즈해봐. 그러면 퍼런 화면이 뜰거야. 이제 거기가 너희들이 소스를 치고 저장하는거지
위에 그대로 해봐.

아마 이미지가 보일거야.
위에서 링크될거고. 위에대로 쳤다면

어떤 글자를 치면 퍼런색, 어떤건 다른색~ 이게될거야.
색이 변한다는것은 이미정해진 약속된 명령어야.

자! 일단 다쳤다면 매뉴에서

Project -> Build File -> win32 con~ 하면! 만들어질거야!
가끔 만들어지고 화면이 \'사라지는 경우가 있는대\' 옆에보면 Source File 아래
***.C 가 있을거야. 그건 너희가 저장한 이름에 소스파일을 말하는거지. 그걸 누르면 다시 짠하고 나타나

그리고 밑에보면 \'오류\'와 미싱보고가 있어.
2번째 그림에 나오니 잘보도록~


프로그램이 만들어졌으면 한번 봐야겠지?
> 화살표 모양이 있는걸 눈치챘을거야.
익스큐트! 파란색 화살표 말고 그 옆에걸 눌러봐.

그러면 검은색 콘솔화면에

I Enter The CThx C 라고 붙어서 나올거야.

오호~ 이제 아웃풋이 보이니 이걸 분해해볼까?


다시 소스를 보자!

#include<stdio.h>

main()
{
    int x;

    x=1;
    printf(\"I Enter the C\");
    printf(\"Thx C\");
}


----
자! #include<stdio.h> 가 보이지?
#include 는 포함시키겠다 / 불러오겠다는 명령어야.
소스에 맨위에 있고 .H 가 있는걸 불러오면 \'헤드 파일\' 혹은 \'헤더 파일\'을 불러오겠다는 거징!

즉! C에서 미리 약속된 식들을 가져오겠다는거야.
STDIO 는 스탠다드 인풋 아웃풋의 약자야. 즉 표준입출력 .H 해드파일을 가져오겠다는 거지.

자!

#include<stdio.h>      

여기에서 너희들이 궁금해하는게 있을거야.
h 파일이 뭐구! STDIO 를 왜 불러오는걸까?

자! 2가지 정의를 보면 이해가 조금은 될거야.

1.프로그램은 명령어의 집합이다.
2.C언어는 \'함수\'들의 집합이다.

그럼 2가지를 종합해서 보자면!

#include<stdio.h>

프로그램에게 \'#include\' 포함시켜라! 라고 명령하지.
프로그램은 무엇을 포함시킬까요? 라고 대답하겠지. 난 \'<stdio.h>\' 표준입출력 함수인 stdio.h 해드파일을 가져와!
라고 명령한거야. 프로그램은 명령을 시키는것을 우선으로하고 \'그뒤에\' 무엇을 정해주는걸로 끝나~

자 다시 소스를 보자

#include<stdio.h>

main()
{
    int x;

    x=1;
    printf(\"I Enter the C\");
    printf(\"Thx C\");
}



main() 이 보이지?
main()은 함수의 시작을 알리는거야.  1+1=2 이다. 라는 식들을 혹은
#include 같은 명령어들로 불러온 것들을 도마위에 넣고 마구 요리하는 단계를 표시하는거야.

언제나 실질 명령어의 시작은 Main() 안에 들어가

main()
{
에서 { 은 모든 함수들의 시작을 말해 . } 은 함수들의 끝을 말하지.
구조체라고 했지?  바로 이런거야.


Main()
          -> printf()
          ->printf()


즉 메인이라는 {}를 사용하는 객체가 있어. 그안에 객체안에 ()으로 끝나는 함수들을 포함시키는거지.
나중되면 {} 를 사용하는 객체들을 연달아 쓸건대. 주의해야할 점은.

구조를 정확하게 매겨줘야한다는거야~ 그건 뒤에 편에서 하자!
자!

#include<stdio.h>

main()
{
    int x;

    x=1;
    printf(\"I Enter the C\");
    printf(\"Thx C\");
}


소스에서

int x;

이것은 무엇일까? 바로 Stdio.h  표준입출력 장치에서 가져온 명령어야.
int 는 정수를 뜻해.  정수란? 숫자를 말하지. 소수점이 없는거말이야~


C에서는 저장 공간을 정해줘야해.
예를들어서

1,4 를 집어넣고 싶어.
그러면

int a,x;
a=1;
x=4;

이렇게 선언해주면 a 에 저장공간엔 =1 이 들어가구.
x에는 4가 들어가지!


소스를 보게되면 printf() 함수를 보게 될거야.
이건 화면상에서 출력하는 함수야 . 화면에 글자들을 보이게하지.

printf 함수니깐
(  ) 안에 명령을 집어넣어야해.

규칙은 이거야.
(\"       \");     (로 시작해서 \" 로 내가 쓸것을 정하고 \" 로 닫고 ) 로 끝내기.
즉 구조체에 순서대로 딱딱 닫은거지. 여기에서 너가원하는 글자를 써봐.
아마 한글은 안될걸..;


그리고 main() 에 객체가 } 로 닫아주면
간단한 소스가 완성이 되지.


여기에서 누군가는 눈치챘겠는대

;  를 설명안한거야.
; (세미콜론)은  명령어가 끝났다는것을 의미해
무슨말이냐면

Main()  에는 ; 안붙지?
구조체에서 ; 을 붙는건 명령어밖에 없어.

printf(\" \" );  <-- 에는 ; 가 붙고
int x; 에도 붙지.

한글로 풀어서 설명하자면

Main()  -> 함수를 시작하겠다.

int x;     정수를 값을 가지게 해라. 어디에 말입니까~?  X에  네 ;  네 를 ; 로  이해하면되~
printf(\"  \");   화면상에 출력해라 무엇을 말입니까 ? \"   \" 안에 있는것들 네   ;  알았지?



자!
프로그램을 돌려봤으면
이상할거야. 줄이 딱딱붙어있구 걱정하지말도록~

각함수에는 명령어들이 있어.
무엇이냐면! 여러가지이지~
대표적이게 printf  함수는

줄바꾸기 \\n 이 있어. 백슬러쉬 n 으로 표시될거야.
예를들어서

printf(\"\\n hi \\n\");  이라면

모니터상에서는 제일 윗줄에서 \'\\n\' 때문에 한칸뛰고
그 다음줄에 hi 가 쳐지고  다시 \'\\n\' 때문에 한칸 내려가서 다음 명령을 기다려.

한번 해봐~


또 하나.

Int x;

는 정수를 넣는다고 했어. 여기에선 여러가지 응용이 되는대.
예를들어서

int x, y;

 , 콤마 연산자로 int x;   int y; 를 해줄것을 한줄에 넣을 수 있지.
다만 한줄에 ,  콤마 연산자는 같은 데이타형 즉 int 면 다같이 int 여야해~


int x, y ;

x = 1;  이라고 정했지?

y= x*2;

라고 하면 어떻게 될까?
x 에는 1의 값이 있고 , y = x * 2 야.
x 곱하기 2. 즉 1곱하기 2는 =2가 되지.  

이럴때 x는 \'직접연산자\' y는 \'간접연산자\'가 되는거야.
직,간접이 무슨말이냐면.

x는 그 값이 정의되있어서 변동이 없어.
다만 y는 x를 포함하는 간접연산자이기 때문에 x가 변하면 y도 자동으로 변하지.


자 예제 소스를 한번 볼까?

#include<stdio.h>

main()
{
  int x,y,z;
 
x =3;
y =x*3;
z =(((x*x)*3)/3)*2;

printf(\"I am x %d\",x);
printf(\"\\n I am y %d\",y);
printf(\"\\n I am z %d\\n\",z);

}


자 여기에서 너희들이 궁금해할것은

%d 가 뭐지?  \" ,  는 뭘까 일거야.
간단해. %d 는 정수를 화면상에 출력하는거야.
프린트 F 함수는 너의 타자를 보여주기도 하지만 화면상에 결과값들을 보여주기도해.
%d는 정수값을 출력하는 거야.

그리고 언제나 명령을 받는거랬지?

printf(\"I am x %d\",x);

화면상 출력해라! \" \" 안의것을! I am x 를 출력합니다
%d <- 이 실수의 주소는 무엇이지요? \" , x   콤마연산자뒤에 x 이다. x로 정의된것을 찾아서 넣어라.
네! ;  <ㅡ 요걸로 끝나는거야.


즉 프린트에프에 명령은 \"    \" 에서 끝나지만. %d 같은 주소를 찾아가라는 힌트는
,  콤마연산자뒤에 x 같이 특정주소를 넣는거야.


예를 들어

printf(\"i am x y %d%d\",x,y);

%d가 2개가 됬지?
그러면 2개의 주소를 가르쳐줘야지. 앞에 순서대로
x,y를 찾아가라는거야.   ,  콤마 연산자를 꼭 기억하라구~



int x ;

x= ~~~ 에서

+ , - ,* ,/  등 많이 할 수 있어 \\ 는 나머지를 표현하는거야.
그리고 중괄호는 없어.
무슨 말이냐면

    (((1+1) +2)+3);

이라면   

   구조체에서
    (1+1)
   (          +2)
   (               +3)

즉 3단구조로 되어있는거야.
이걸 주의해야만해~



자 여기까지 읽은 병아리들아~
가르쳐준건

printf(\" \"); 의 간단한 것과
int 의 선언.

#include<stdio.h> 같은  남들이 들으면 \'픽\' 웃을만한 거야.
그러나 너희들은 지금쯤 흥미좀 생기겠지. 그래서 나오는! 응용 문제.


이걸 화면상에 출력해봐

Welcome C , my name newbies
Today 6 mon 23 days
I Enter the C!

Thx TurnHead


! 자 2편부터는 좀더 세밀해지니.
일단 요거부터 해보렴~




    
제 목          Turn Head \'나도 초보 프로그램어!\' 2편 -구조체
 ^^ 1편에서 매우 겉할기 식으로 \'학원식\'  실습위주로 나갔어.
그러나 언제나 이론살짝 -> 실습 -> 본격적 이론이 이해하기 쉽지.
1편은 가벼운 어체와 간단한 소스들로 알아보지만 2편은 어렵게나가.

홀수는  이론살짝 / 실습 이라면 짝수는  그걸 이론적으로 강하게 하는거지.


---------구조체에 대해서 할게!
여기서부터는 설명이 매우 진부하고 어렵지만 꼭 이해하고 가야해.


#incldue<stdio.h>

헤드파일을 가져온다는 명령어를 집어넣어서 그걸 불러오는거야.
즉 #include  포함해라! 명령을 하고  컴퓨터가 물어와 무엇을 말입니까 <stdio.h>를 가져와!
라고 하는거지. 즉 명령과 컴퓨터 물음사이에는 ( 이던 , 이던 \" 이던 그것을 나누는 부분이 있어. 자세히 캐치해봐~


main()   <- 모든 함수들의 시작을 의미해
{   <- 함수 본체 즉 body의 시작을 말하지.


int x;  <-  변수를 선언하는 문장이야. 즉 X의 =1 넣을건가 2를 넣을건가 모르지.
               변수를 넣기위해 저장장소를 정의하는것이 int 야. 이것도 명령이기 때문에  ;  세미콜론으로 끝나.

x = 3;  <- 이것은 변수선언문장에서 x 라는 변수를 사용하여 이 변수가 3이라는 즉 정수형임을 나타내는 거지
               이것을 치환문 이라고 해.

printf(\"Hello!!! C\");    <- 이건 기본적인 화면출력상 함수를 뜻해.  자세한 설명은 용어 설명하면서 할게


C는 구조체라고 했지. 본격적인 구조체를 그려보자.


C 프로그램
          ->  #include<stdio.h> <- 선행처리기 명령, 즉 헤더파일 불러오기
         ㅣ
          -> main()         함수의 시작
                     ㄴ -->  문         main을 제일 처음 부르는 거지!
         ㅣ
          -> 함수 A()    
                     ㄴ--> 문     함수A에선 우리는 Printf() 함수를 사용했어. 함수 하나당 한개의 객체를 가져
                               ㄴ--->
                                         선언
                                         치환
                                         함수      문의 5형식인대, 이것을 키워드 데이터 연산자라 불러,
                                         제어      즉 문은 함수들이 문장들로 되어있다라는것을 말하는거야.
                                         널null

x=1;
printf(\"Hello C %d\",x);

이것을 예로들자면 %d 정수값에 x를 집어넣으라고 했지?
그러면 프로그램이 읽는것은 이런순서야.

       printf(\"hello C %d\",x);

1. 프린트에프함수 호출 \"  \" 안에 문장 실행.
2. %d 의 값을 찾을 수 없다.
3. %d () 안에 지정자를 찾아보자. x가 있다.
4,x가 무엇이지?
5. x=1 로 정의되어 있다.
6. x=1 이다.
7. printf(\"hello c %d(1)\",x);  %d를 1로 교환하자.

이렇게 돌아가는거지

%d를 변환지정자라고 불러.


#include<stdio.h>
은 표준입출력 장치라고 하는걸 말했지? 그러나 이것은 \'문\'이 아니야.
#은 언제나 선행처리기 라고 불려.

선행처리기. 무엇이냐면 Main() 함수를 들어가기전에 먼저 처리되는것들을 말하지.
대부분 #define , #include 등이 초반에는 잘쓰이지 처음 접하는 사람들이라면.
즉 main() 구조체가 실행되기전 먼저 선행적으로 조건들이 정의되는것을 # 이라 부르고 이것을 선행처리기 라고
해~


그리고 \'함수\'들은 \'모듈\'을 의미하는대 이것은 나중에 자세히 설명할게.

; 은  \'네\' 라고 이해하면 된다고 했지?
왜 냐면!   ; 은 C에서 독립된 하나의 \'문\' 을 나타내는거야.
대표적 예를 들자면

Pascal 에서는 ; 은 문과 문을 구별하지만
C 에서는 문의 일종이지.

즉  Pascal   A ; B  라는것이 되.
하지만 C엣는 A; B; 각각에 하나씩 해줘야하지.
문은 위에서 가볍게 그림으로 설명했지?


변수 명칭의 선택!

변수들을 선언할때 명칭에 대해서 주의해야할 점을 설명할게.
$Z^* 등 특수문자가 앞에올 수 없어, 숫자 역시 못와. - 마이너스도 못와.
\' 쉼표도 못오지.

다만 _ (언더바)는 올 수 있어.

_바는  라이브러리 루틴 , 이라하는대  간단하게
_ 로 시작하는 명칭을 사용하는것이지.


변수를 선언하는 이유는 정확한 \'명령\' 수행을 위한 최적에 \'길들\'을 설정하는거야.
산으로 가라고 했는대. 산이 어디인지 정의해주지 않으면 프로그램은 ?? 을 할뿐이야.



x= 1;

즉! 지정문은  컴퓨터에 x 라는 저장공간을 배당하게 해줘.
우리가 명령한거지. 요걸 치환연산자라 했지? x=1 즉! x를 1로 치환하는 것!이야
예를 들어 printf(\" \") 에 대해서 같이 설명하자


printf(\"I newbie! %d\",x);


라고 하면 위에 구조체 그림에서 Main() 으로부터 함수 printf()에 전달되는 부분을 실행하는거야.
즉 프린트 F () 안에 있는것들을 실행하는건대. 이런정보들을 \'인수\' 혹은 \'인자\' 라고 불러.

프린트 F는 ( ) 안에 \"  \" 들 즉 단말 (terminal) 사이에 있는 무엇이던간에 다 찍어서 내보내.
다만! %d처럼 뒤에 값을 정의해주지 않으면 null 상태 (공백) 상태가 되어버려.
그걸 유의해~


printf(\"\\n I newbie\");

이것에서 \\n 은 화면상 한줄을 띈다고 했지?
\\n 이 문장앞에 있으니 가장 먼저 한줄을 띄고 I newbie가 화면상 출력되는거야.
\\n 은  새로운 줄을 실행하라는 명령어 즉 키보드에 \'엔터\' 의 효과인대.

이것을 newline character 즉 개행문자 라고 해..
용어가 많이 어렵지? -_-; 정통으로 배울려면 용어가 좀 힘둘엉.. ㅠ.ㅠ

그러면 한칸을 지우거나 공백을 많이 띄게 하는 문자들의 명령어는 뭘까?
바로

\\t   이거야. TAB이지.
\\b 는 백스페이스.

즉 개행문자들은 \\ 백슬러쉬로 시작되. 이걸 ESC 문자열의 한예라고하지.
개행문자는 ESC 문자열에 한 예야.
구조적으로 이해하자면

ESC 문자열
       ㄴ 개행문자 (\\)  가포함되어 있는거야.


printf 에서 F 는 내가 유독 좀 크게섰지?
프린트F~ 라고 말이야. 대부분 F로 끝나는것들은 펑숀~즉 함수라고 오해하는 사람들이 많은대
노노~ 오노~야.

F의 줄임말은 Formatted 즉 형식화된 문장들이지.
다음에 배울 각종 함수 F 들에 F는 형식화된 즉 지정된 문장들임을 꼭 기억해둬~


다시 한번 프로그램의 구조체에 대해서 훝어보자.


#include<stdio.h>     <- 선행처리기 명령어
main()                                 <-- 인자를 가진 함수의 이름! (인자가 없을수도 있어)

---------
이 두부분을 함수의 머릿부분 즉 header, 헤드 라고 불러.

본체 body 는 main()
{ <-- 여기서부터 시작해.

int x;                                           <ㅡ 선언문
x= 1;                                         <ㅡ치환문 (지정문)
printf(\"%d newbies\")                                          <ㅡㅡ함수문

이걸 body 라고 하지.


자 그러면 소스로 분석해보자


main()
{
   int good,goods;                                          <-- 변수 명칭 선택하는거야

                                                                                 <--사용자의 공간, 사용공간을 등을 표시하는거야/
  goods=2;
 good=6*goods;                                               <--이건 한줄당 공간.
printf(\"The %d good in %d goods! \\n\",good,goods);
}


즉 프로그램을 남들이 해독하기 쉽게 할려면
변수 선언을 남들도 딱 소스를 보면 알게
공간좀 크게 띄우고
한명령어 끝나면 한줄띄고 하는게 파악하기도 쉽고 분석하기도 쉽징!


그리고

int x ,y ;

즉  ,  콤마 연산자를 이용해 두 변수를 연속적으로 정의할 수 있어.
즉 콤마 연산자를 계속붙이면 콤마연산자 +1 이 변수의 갯수지

int x,y,z,s,r,t,a,d,er,g,h ;

이렇게 선언해도 연속적 정의를 할 수 있게되는거야.
이걸 구조체로 하면

int   x;
 ㄴ  y;
 ㄴ  z;
 ㄴ  s;
  ....

등이지.

자! ...^^ 좀만 더 나가자.


데이터형 (수형 , Type)의 대해서 말할거야..ㅎㄷㄷ 하지.
뭐 학원에서는 넵 이거예여 10분이면 끝날게 저렇게 ㅎㄷㄷ 하다니..

자!

int 는 정수 1, 2 ,3,4 요런것을 했다면
새롭게 등장한 Data 수형 Float 은 실수를 하는거야. 소수점

정말 미안한대.. 어려운말 써가면서 할게

int 는 정수이고
float 은 부동소수점을 말하는거야

int  , float 은 수형에 대표적 계통이라 해!


Main()
{
  float weight,value;                                       <ㅡ 이건 콤마 를 사용하여 변수들을 연속적으로 정의한거야.
                                                                               즉 부동소수변수 2개를 선언한거지.
weight=42.4229;
value=1234.555;                                                                 <-- 부동소수변수 2개의 값을 지정해줬어
                                                                                                                     즉 치환이라는거지.

printf(\" weight!! ? %f\",weight);


여기에서 눈의 띄는건 %f 일거야.
이것은 %d 와는 다른 %f 즉 실수를 표현하는거야.
무슨 말이냐면

float 부동소수변수가 42.4229의 값을 가지고 있다고 해도
%d 로 하면 소수점은 다없어지고 42만 출력되고
%f 로 하면 소수점까지 다나오는거지.

그걸 주의하면되!


Int ,Float을 배웠으니
Printf 에 동생 Scanf 도 배워볼까~?

scanf 는  키보드로 음 숫자나 뭐 여러가지를 입력받아서
저장장소에 \'다이렉트\'로 입력시키는 방법을 말해.

즉 다이렉트 정의이지. 뒤에붙은 F는 뭔지 설명했지? ㅎ


예제를 한번 보자.


main()
{
         int x;
        
   scanf(\"%d\",&x);
   printf(\"i want =%d\",x);

}

scanf 도 함수야. 그래서 ( ) 안에 \" \" 명령을 실행하지.
구조체로 설명하자면

scanf
     ㄴ (\"%d\")
              ㄴ %d ? -> &x
                    l
         ㅡ ㅡㅡ
        ㄴ(\"x\")

이거야.
즉 \" \" 안에 검색해보고, 특정값이 없다하면
()안에 찾아보는거야. 힌트를. 힌트가 있다면 그것으로 치환하는거지.


int =x
x=1; 에서  x=1; 을 치환이라고 했지?
scanf는
& 문자를 붙여 다이렉트로 치환시키는거야.


scanf 에서 주의할점은

scanf ( \"  %d\",&x);

, 콤마와 & 이거야. 유의해.
&의 뜻은 다이렉트 치환을 의미한다고 보면되.


^^--- 힘들지? 오늘은 좀만 더할게. 정수와 부동소수점 부터.


정수와 ,부동소수점에서  부동소수점이 뭐져!
이거 안배웠음! 이라고 하면 먼저

비트 ,바이트 , 워드를 해야해.
비트는 0,1 을 나타내고 혹은 온 ,오프로 말해.

비트를 정의하면

비티는 컴퓨터 메모리의 기본적 요소
바이트는 비트들이 모인것이야.

8비트가 모이면 바이트라 해.
8비트는 2에 8승 즉 256인대.
영어권들의 문자가 256이지. 아스키 문자코드~등등 코드들의 한계치를
몇바이트 인가요? 라고 말할때 요걸 알아두면 상식이야..


워드는 잘 모르는사람들이 많은대
워드가 뭐죵? 하는 사람들이 많아. 워드는 컴퓨터 설계할 때 결정되는 메모리 단위야. <- 요거 중요하다..

후~

그러면

정수부터 정수는 integer  라고해.


4+2+1=7 요건 정수..
그냥 우리들이 아는 숫자를 생각하면 되는기야~


Float 즉 부동소수점 숫자는 (floating point number) 라고 해.

2.75~ 3.14  3.16E7 등 소수점을 말하는건대.

3.16 x 10 (7승)은..
7승은 지수라고 말하는건 알지..

부동소수점에서 하나의 숫자를 지수랑 가수부로 나눠서 저장해.


7.00 = 7 로 저장하고 있구
각기 따로 저장시키는거지.

그래서 Float 으로 정의를 했어도 %d 가 나와도 오류가 안뜨는게
지수부와 가수부로 정의해서 그러는거양

마지막으로 pi 즉 파이에 부동소수점을 설명하고 2편 이론장을 요기서 엔드 시키고
3편 실습편에서 좀더 쉽게 보자궁~


+         ㅣ        314159                ㅣ 1
= 부호      ----가수부 --------      --=지수부
+                 .314159    x 10          -> 3.14159

이런식으로 정의되는거야
ㅣ 은칸을 나누는거지.

즉 Float 이 %d 정수값에도 반응하는것은
지수부와 가수부를 나눠서 연동계산되기 때문에 그런것이다!

Float 은 부동소수점 변수이다.

데이타 수형 즉 Data type 의 양대산맥 Int ,Float은 꼭 알고가자!
이게 2편에 마지막이지.

1편은 좀더 부드럽게 실습위주로 했다면
2편은 정말 힘들었지?

읽으면서..\'젠장..ㅡㅡ\' 이렇게 이야기하는 사람도많고
뭐이리 간단한것을 계속파해쳐라고 하는사람도 있지만

기초는 정말 중요해..

뉴비들~ 어서 읽어보고 이해하렴~

제 목          C 언어 \'TurnHead\' 병아리들도 한달이면 \'넌 프로그램어\'3편
안녕하십니까? 머리가 돌아간 Turn Head의 `C 언어 \'TurnHead\' 병아리들도 한달이면 \'넌 프로그램어\'\' 제 2편입니다.


이번에는 1,2편 내용 정리와 구조체 심화합습,if문을 배웁니다.

Int x=2,y=6,z=*y;
x=y*z;
우리 병아리들이 궁금해할걸 설명하겠습니다. z=*y는y의 주소를 z에 저장하라는 뜻입니다.
z라는 포인터 변수의 값을 읽어서 십진수 값을 그대로 y뒤에 갖다붙이라는 뜻입니다.
따라서 x는 66이 됩니다.

        Main()
{
Printf(\"Asdf.\");
Printf(\"\\n\");
}
Main함수에 구조체를 정의하고 그걸 실행하는겁니다.
자 국어 시간에 배웠듯이 첫 단락 첫줄은 한칸 들여쓰기 아시죠?
그리고 \\n은 무조건 앞에 해야합니다.
이제 PellesC에서 실행해보셍요 ^^

이번회에서배울내용
자 구조체 선언
                Class A
        {
Int i;
        };

이렇게 하고
                Main()
        {
Class A a;  #이럴게 변수 정의
#자이제 값에 접근하겠습니다.
a→i=7; #i값을7로설정
# 참 쉽죠? 포인터를 통한 접근도 방법은 같습니다. 우리의 Pelles C가 다 알아서 처리해주거든요. ^^
Class A &b=*a; #포인터선언, a의 레파란스 대입
b→i=4;
        } #함수 구조체 종료


자 이제 if를 배웁니다 편의상 함수 본체는 생략합니다
        If(A;B)
{

}
A가 0인경우 아래 구조체 를 실것 같은대

했을리가 있나. 주석첨부에서 떨어졌을텐데 뭐..이거 황당하네




-------------------------------------------------------------------------------------------------------
다시보는 TrunHead(not TurnHead) 님의 개념글들