1 

셈틀꾼 신입생 시험기간 숙제!

Date
2008/04/17 14:50
Author
ApPLe
Categories

시험기간때문에 , 셈틀꾼 A반은 다음주부터 휴강입니다!
하지만 , 역시 아무것도 없으면 섭섭하겠죠 -_-ㅋㅋㅋㅋ
휴강기간은 대략 약 2주 정도 될것인데요, 그동안에 공부 열심히 하셔서 시험치고 , 놀면서...
다음과 같은 숙제를 해와여!

숙제는 술자리 게임인 UP & DOWN 입니다!
병두껑의 숫자를 보고 , 다른사람들이 말하는 숫자보다 큰지 , 작은지 여부를 UP , DOWN으로 말해서
맞추는 사람의 주위 2명이 마시는 극악 -_- 술자리 게임이죠 낄낄.
이번에는 다름아닌 이걸, 만들어 보도록 하겠습니다!


이때까지 이런 규모의 프로그램은 안만들어 보셔서 힘들 겁니다.
그래서 시간은 넉넉하게 약 2주 , 혹은 3주를 드리겠습니다 ~
혼자 만들어도 좋고,

여러명이서 의논해 가면서 만들어도 괜찮습니다!
한번 만들어 보세요!
지금 까지 배운 것 ( 반복문 , 조건문 ... ) 을 전부 사용해 보셔야 할겁니다!

만들다가 잘 모르는 것은 물어봐도 괜찮습니다 ㅋㅋ
소스코드 들고 저 만나러 오면 버그도 잡아드려요 ㅋㅋ

다음은 실제가 제가 만든놈의 실행화면을 그대로 복사해 온 것입니다~
다음과 같이 만들어보세요!!


-bash-3.1$ ./updown.out
**********************************
신나게 UP & DOWN!!! 맞추면 한잔!
**********************************

당신에게 총 10번의 기회가 주어집니다.
그 안에 1-100 사이의 병뚜껑의 숫자를 맞추세요!

컴퓨터가 병뚜껑을 땄습니다!

숫자를 입력? [남은기회 10번] [1에서 100까지] : 103

1에서 100사이만 입력하세요!

숫자를 입력? [남은기회 10번] [1에서 100까지] : 20

UP!!!!

숫자를 입력? [남은기회 9번] [20에서 100까지] : 10

20에서 100사이만 입력하세요!

숫자를 입력? [남은기회 9번] [20에서 100까지] : 40

DOWN!!!!

숫자를 입력? [남은기회 8번] [20에서 40까지] : 33

UP!!!!

숫자를 입력? [남은기회 7번] [33에서 40까지] : 37

******************************
맞췄습니다!!!!!!!
***********************************
-bash-3.1$

ApPLe
2008/04/17 14:50 2008/04/17 14:50
Tag
Trackback
Comments
wife exploited  2008/05/23 04:45  Reply  Delete
너는 위치가 우수한 있는다!
bichon poo  2008/05/23 05:20  Reply  Delete
우수한 디자인!!
teen chat in washington  2008/05/23 05:28  Reply  Delete
많은 감사 위치! 우수한 나는 너의.
com power ranger spd  2008/05/23 06:56  Reply  Delete
좋은 위치는 찾아본 그것 즐겼다!
plastic surgery philadelphia  2008/05/23 07:17  Reply  Delete
좋은 위치는 찾아본 그것 즐겼다!
outside sex story  2008/05/23 07:43  Reply  Delete
우수한과 아주 도움이 되는!
sex muscle  2008/05/24 01:14  Reply  Delete
아주 유용한 정보!
clip sexy sport  2008/05/24 01:19  Reply  Delete
관심을 끌. 너가 좋을 동일할 지점을.
girl guitar products  2008/05/24 01:25  Reply  Delete
위치에 그것을 중대한 일은 좋아했다!
sexy plus size jeans  2008/05/24 01:32  Reply  Delete
좋은 영역! 걸출한 영역!
활의노래  2009/02/06 12:25  Reply  Delete
으악 스팸댓글 =ㅅ=

셈틀꾼 C언어 강의 제 2강.

Date
2008/03/28 15:17
Author
ApPLe
Categories

셈틀꾼 신입생 C언어 강의 제 2강.
반복문 , 반복문 응용

1. 반복문이 뭐임?

일단 , 반복문을 써야 하는 이유부터 설명하도록 하겠습니다. 예를 들어 설명해 보겠습니다.

만약 "안녕하세요" 라는 글을 10번 출력한다고 생각해봅시다. 그러면 , 앞에서 배운 printf()를 써서 출력해야 하지요.
 
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );
printf ( "안녕하세요!\n" );

..이렇게 하는건 솔직히 귀찮습니다. 똑같은걸 10번이나 써야 한다니!
그런데, C언어 및 기타 다른 프로그래밍 언어에서 제공하는 반복문을 쓰면, 단순한 구문으로 간단히 출력할 수 있습니다.
한마디로 , 반복문은 , 프로그래머가 여러번 해야 할 작업을 , 간단한 로직(logic)으로 쉽고 간단하게 구현하게 해 주는 구문입니다.

2. C언어의 반복문

C언어에서도 반복문이 있습니다. 그 중에는 for문 , while문 등등이 있지만, 여기서는 가장 자주 쓰이는 for문부터 알아보도록 하지요.

일단 , for문을 쓰기위해서는 int형 변수가 하나 필요합니다. ( 관용적으로 변수명으로는 i , j 가 많이 쓰입니다. )

일단 int형 변수 i를 선언해 보도록 하겠습니다.

int i ;

 그리고 위에서 말한 , "안녕하세요"를 10번 출력하는 것을 동일하게 for문을 사용하여 구현해 보도록 하겠습니다.

for ( i = 0 ; i < 10 ; i++ )
{
    
printf ( "안녕하세요!\n" );
}

이렇게 하면 놀랍게도 , 위에서는 printf()를 10번이나 써야 했던 것을 , 이 간단한 구문으로 똑같은 결과를 낼 수 있습니다!

자세히 for문을 뜯어보도록 하겠습니다.
저기서 , i 가 0부터 시작해서, 10 미만 , 그러니까 9가될 때까지 for문의 중괄호 ' { } ' 안에 있는 내용을 계속 반복해서 실행시킵니다.

한번 실행될 때마다 오른쪽의 ' i++ ' 이라는 구문 때문에 i는 1씩 증가하게 되며 , 결국 , for 문 중간의 ' i < 10 ' 이라는 조건을 만족하게 되면 , for문을 빠져나가게 됩니다.


3. 반복문 응용

반복문은 , 위에서 소개한, 정해진 갯수만큼 똑같은 작업을 반복시키는 것 외에 , 더 멋진 기능을 수행할 수 있습니다!

반복문 내에서 돌아가는 i값을 잘 이용하면 , 여러 가지를 할 수 있습니다.

예를 들어보겠습니다.

만약 , 1에서 100까지 더하는 프로그램을 만든다고 생각한다면,
다음과 같은 코드로 쓸 수 있을 것입니다.
일단, 총 더해진 결과값을 저장하는 변수인 res와 , 반복문을 위한 변수 i 를 선언합시다.

( res는 0으로 초기화 해야합니다. 왜 그런지는 수업시간에 설명하도록 하겠습니다! )

int i ;
int res = 0 ;

그리고 , 위에서 알아본 반복문을 써봅시다.

for ( i = 1 ; i <= 100 ; i++ )
{
    res = res + i ;
}

여기서 , i 는 맨처음에 1로 초기화되며, 100이 될때까지 i 는 1씩 증가하며 for문의 중괄호 안에있는 res에 값을 더해주게 됩니다.

( res = res + i ; 여기서 res에는 우변의 res + i 가 계산되어 저장되기 때문입니다. 제 1강에서 =의 용법을 참조하세요. )

그 외에 , 반복문에서는 i 의 값이 늘어나는 것 외에 , 감소하는것도 가능합니다.
만약 , 100부터 시작하여 한 번 for문을 도는데 1씩 감소하게 해서 0까지 가게 하려면 , 다음과 같이 하면 됩니다.

for ( i = 100 ; i >= 0 ; i-- )
{
}


4. while문은 뭐임?

C언어에는 while문 외에도 다양한 반복문들이 있습니다. 그중의 하나가 while문입니다!
for문과는 큰 차이가 있는데요, 일단, while문이 어떻게 생겨먹었나를 보도록 하겠습니다.
일단 , int형 변수 i 를 선언합니다.

int i = 1;

그리고 , 다음과 같이 쓴다면 , 위에서 구현해보았던 "안녕하세요"를 10번 출력하는 프로그램이 됩니다.

while ( i <= 10 )
{
     printf ( "안녕하세요!\n" );
    
i ++;
}

for문과 비슷하게 , while문에서 괄호안의 ( i <= 10 )은 , " i가 10 보다 적을때는, 계속 while문 안을 돌아라. " 라는 의미가 됩니다.
그리고 여기서 , 하단에 있는 i++을 눈여겨 봅시다.

위에서 설명했다시피 , i++은 , i 의 값을 하나 증가시켜주는 역할을 합니다
그렇다면 , while문에서 하단의 i++ 이라는 구문을 빼 버리면 어떻게 될까요?

while문을 돌아서 다시 ( i <= 10 ) 이라는 구문을 만나게 되더라도 , i가 증가하지 않기 때문에 , 결국 계속 while문을 돌게 되버립니다

그러면 당연히 화면은 "안녕하세요" 라는 글자로 가득차버립니다. 요런 상태를 "무한루프" 라고 합니다.

 for문과 다른점을 정리해 보겠습니다.

1. 값을 while문 밖에서 초기화 해주어야 합니다.

2. 값을 증가시키는 것도 for문처럼 자동으로 처리해주지 않고, 안에서 처리해주어야 합니다. 즉, 무한으로 계속 while문을 돌릴수 있습니다.


ApPLe
2008/03/28 15:17 2008/03/28 15:17
Tag
Trackback
Comments
video panties breasts  2008/05/23 05:01  Reply  Delete
너는 위치를차가운 만들었다!
girls paintball clothing  2008/05/23 07:19  Reply  Delete
중대한 축하!경이롭 위치 위치!
girl bikini japan  2008/05/23 07:43  Reply  Delete
우수한 위치! 많은 감사.
nude pictures of actresses  2008/05/24 00:55  Reply  Delete
걸출한 블로그!
tiffany tower video gallery  2008/05/24 00:55  Reply  Delete
좋은 영역! 걸출한 영역!
celebrity message boards  2008/05/24 01:03  Reply  Delete
좋은 영역! 걸출한 영역!
best orgasm  2008/05/24 01:11  Reply  Delete
많은 감사 위치! 우수한 나는 너의.

셈틀꾼 C언어 강의 제 1강.

Date
2008/03/22 21:24
Author
ApPLe
Categories

셈틀꾼 신입생 C언어 강의 제 1강.
변수,상수,연산자,printf(),scanf()


1. 프로그래밍 언어를 쓰는 이유

컴퓨터는 바보입니다. 0과 1밖에 모르지요.
그래서 컴퓨터에게 일을 시키기 위해서는 1과 0만을 찍어서 일을 시켜야 하는데, 그건 너무 고되고 지루한 작업이라서, 기계어와 사람, 중간단계에서 보완해주는 그 무언가가 필요했습니다.
그것이 바로 프로그래밍 언어와 컴파일러 (Compiler)입니다!

기계어보다는 훨씬 쉽고 간결한 프로그래밍언어로 사람이 프로그램을 작성하면 컴파일러가 기계어로 바꿔줍니다.
그래서, 사람이 쉽게 컴퓨터를 조작하기 위해, 프로그래밍 언어를 배워야 하는 것입니다.


2. 변수?

변수란, 간단히 말해, 자료를 담는 그릇입니다. 물통에 사이다 , 콜라, 물 등을 담을 수 있듯이 , 변수에도 여러 가지 숫자와 문자 등등을 담을 수 있습니다.


3. 자료형이란?

액체중에도 사이다 , 콜라 , 물 , 소주 등등이 있듯이 , 변수에도 종류가 있습니다.
그 예를 들자면 정수형 변수 는 int형 변수라고 하고, 문자형 변수는 char형, 실수형 변수는 double형 , 혹은 float형 변수라고 합니다.


4. 변수 선언 방법?

변수선언을 하기 위해서는 다음의 양식을 따릅니다.

[자료형] <변수명>;

만약 정수형 숫자를 담기 위한 정수형 변수를 선언하기 위해서는 다음과 같이 하면 됩니다.

int a;

여기서 int는 정수형 변수를 나타내는 키워드이고, a가 변수명이 됩니다.


5. 연산자?

수학에서는 등식에 사용되곤 하는 기호 '=' 가 양 변이 같다는 기호로 사용되곤 합니다. 예를들면,

x + 4 = 7

여기서, 양변이 같으므로 x는 3이 됩니다.
그러나 , C언어는 다릅니다!
예를들어,

c = a + b ;

라고 한다면, 양변이 같다는 것이 아니라 , 우변의 a + b를 계산하여 좌변의 c에 대입하는 대입연산자로 쓰입니다!
그 외 연산자로는 + , - , * , / 같은 산술연산자와 , && , || 같은 논리연산자 , 그리고 & , | 같은 비트연산자 등이 있는데, 자세한 것은 실습시간에 설명하도록 하겠습니다.


6. 그럼 상수는 뭐임?

변수는 , 계속 변수에 저장된 값을 바꿀 수 있습니다. 예를들면

int a;
a = 10;
a = 15;
a = 29;

이런 식으로요. 그러나, 상수는 한번 값을 넣고 나면 , 그다음부터 값을 변경하기가 불가능합니다!
예를 보겠습니다. 일단 상수를 선언하는 방법을 보도록 하겠습니다.

const [자료형] <상수명> =  초기값;

예를 보도록 하겠습니다. 원주율의 기호인 파이는 무리수로 , 3.14159... 이런식으로 계속되는 수입니다.
상수로 선언을 한다면 이렇게 되겠지요.


const double pi = 3.14159;

여기서 const는 상수선언을 위한 키워드이고 , double은 자료형 , pi는 변수명이 되겠습니다.
그리고 , 상수를 선언하고 바로 3.14159로 상수 초기화를 해주었습니다.

이렇게, 원주율처럼 이미 정해져 있는 수를 프로그래머가 임의로 바꿀 걱정이 없어지도록 하기 위해 사용하는 것이 바로 상수!입니다.
만약 다음 예처럼 , 선언되어있는 상수를 변경하려 한다면 어떻게 될까요?

const double pi = 3.14159 ;
pi = 3 ;

이렇게 한다면 , 컴파일러에서는 구문에러로 처리합니다. 즉 , 프로그램이 실행되지 않습니다.
정리하자면 , 프로그래머가 임의로 바꿀 걱정이 있는 , 이미 정해진 수를 상수로 선언하고 씁니다. 기억해두시기 바랍니다.


7. printf ();

이때까지 , 변수를 선언하고 , 연산하는것까지는 좋았지만, 이대로는 화면에 아무 것도 표시되지 않습니다.
그래서, 변수를 화면에 보여주는 명령어가 필요하게 됩니다. 그것이 바로 printf ();입니다.
printf (); 의 용법은 다음과 같습니다.

printf ( "형식지정" , 변수1 , 변수2 .... ) ;

여기서 형식지정이란, 변수들을 화면에 표시하기 위한 일종의 규약입니다.
예를 들어, a라는 int형 변수와 , b라는 int형 변수를 화면에 표시하기 위해서는 , 다음과 같이 해야 합니다.

printf ( "%d %d" , a , b ) ;

이 경우에는 첫 번째 %d 에는 a가 , 두 번째 %d에는 b가 찍히게 됩니다.
그 외 , 형식지정에는 char 형 변수를 위한 %c , double형 변수를 위한 %f , 문자열을 위한 %s 등등이 있습니다.
그 외에도 , 그냥 글자를 출력할 수도 있습니다. 예를 볼까요?

printf ( "셈틀꾼!" ) ;

이것을 실행하면 , 화면에 '셈틀꾼' 이라는 글자가 찍힙니다.
둘다 섞을 수도 있습니다.
위의 int형 변수 a와 b를 출력하는 예제를 조금 바꾸어 보겠습니다.
만약 int형 변수 a 는 3 , b는 9라고 하면,

printf ( "변수A의 값은 %d , 변수 B의 값은 %d"  , a , b ) ;

이렇게 하면 , 화면에는 '변수A의 값은 3 , 변수 B의 값은 9' 이렇게 찍히게 됩니다.
그 외 , 형식지정자에는 \n , \t 같은것들도 있습니다.
이것은 실습시간에 설명하도록 하겠습니다.

ApPLe
2008/03/22 21:24 2008/03/22 21:24
Tag
Trackback
Comments
husband breast feeding  2008/05/23 04:36  Reply  Delete
우수한 위치! 많은 감사.
nude natural models  2008/05/23 05:02  Reply  Delete
너는 아름다운 웹사이트가 있는다!
celebrity s  2008/05/23 08:01  Reply  Delete
너는 아름다운 웹사이트가 있는다!
gerard licking mikey  2008/05/24 00:14  Reply  Delete
관심을 끌. 너가 좋을 동일할 지점을.
sexy gay black thug  2008/05/24 00:18  Reply  Delete
관심을 끌. 너가 좋을 동일할 지점을.
dancer female  2008/05/24 00:22  Reply  Delete
저에서 유사한 역사는 이었다.
1