'전체보기'에 해당되는 글 133건

  1. 2012.04.16 캐릭터에 동기 부여
  2. 2012.04.16 나에게..
  3. 2012.04.04 제어문 ( Control Statement )
  4. 2012.04.03 표준 입출력 함수
  5. 2012.04.02 연산자 ( Operator )
  6. 2012.03.27 변수 ( Variable )
  7. 2012.03.26 상수 ( Constant )
  8. 2012.03.26 C프로그래램의 구조
  9. 2012.03.25 private file
  10. 2012.03.22 C 프로그래밍
etc
posted by Junction 2012. 4. 16. 23:40

:: 캐릭터에게 동기를 주자! ::
TRPG 게임에서 모든 캐릭터들은 마을에서의 안전한 생활을 포기하고 모험을 찾아나선 '모험가'들입니다. 하지만, 그들은 왜 '모험가'가 되었을까요? 왜 갖가지 위험을 무릅쓰고 이곳저곳을 탐험하려고 하는 것일까요? 이런 질문에 대한 대답으로, 캐릭터들이 모험을 떠나게 되는 몇가지 동기들이 다음에 설명되어 있습니다.


여행에 대한 동경
이 캐릭터는 평범한 생활에 대한 실증을 느끼고 여러가지 새로운 것을 접하며 직접 느껴보기 위해서 여행을 떠나게 된 경우입니다. 이 캐릭터는 먼 이국땅을 여행하면서 갖가지 신기한 물건들, 이상한 동식물들을 구경하고 전혀 새로운 맛의 요리를 맛보는 것을 즐깁니다. 항상 새로운 것에 대한 호기심을 갖고 있습니다.

복수
누군가에 대한 복수를 꿈꾸고 있는 캐릭터입니다. 자신의 가족을 몰살시킨 악한, 자신의 고국을 멸망시킨 제국의 장군, 또는 사랑하는 애인을 빼앗아 간 어떤 남자 등과 같이 복수의 대상은 여러가지가 가능합니다. 이 캐릭터는 복수를 하기 위해 자신의 힘을 키우고, 또 복수하려는 사람에 대한 여러가지 소문과 정보를 모으기 위해 모험을 하게 됩니다.

우정
이 캐릭터는 절친한 친구를 따라서 모험을 하게 된 경우입니다. 절친한 친구는 다른 PC들 중의 한 명이 되겠지요. 만약 상대가 여자라면 우정 대신 사랑 때문에 따라 나섰다고 할 수도 있습니다. 이런 캐릭터는 자신이 직접 나서기 보다는 친구가 하는 일을 옆에서 도와주는 것을 더 좋아합니다.

영웅이 되기 위하여
세상의 온갖 그릇된 점들을 고치기 위해서, 어려움을 겪고 있는 수많은 사람들을 돕기 위해서, 세상을 지배하려는 사악한 존재를 물리치기 위해서 등과 같은 원대하고 영웅적인 목표를 정하고 그것을 실현시키기 위해서 노력하는 캐릭터입니다. 영웅적인 임무를 수향하는 모험에는 적극적으로 나서며, 직접적으로 그런 목표에 관련된 모험이 아닐지라도 더욱 강해지기 위해서, 더 많은 경험을 쌓기 위해서 모험에 동참할 것입니다.

권력을 얻기 위해서
이 캐릭터는 많은 경험을 쌓고 주변 사람들의 인정을 받아서 정치적인 권력을 갖고 싶어합니다. 모험을 통해서 부를 축적하고, 자신의 명성을 높이려고 할 것입니다 이 캐릭터는 산적들에게 잡혀간 귀족을 구출하거나, 마을 사람들을 고블린들의 습격으로부터 보호해 주는 등의 임무를 수행하여 자신의 명성을 놓이고 많은 귀족들, 심지어 국왕에게까지 인정을 맏으려고 노력합니다.

수행을 위해서
이 캐릭터는 자신의 기술과 능력을 갈고 닦기 위해 모험을 합니다. 즉, 전사라면 자신의 검과 방패를 다루는 기술을 연마하기 위해서, 마법사라면 마법 주문을 더욱 능숙하게 사용할 수 있도록 자기자신을 훈련시키기 위해서 모험을 떠나게 되는 경우입니다. 궁극적인 목표는 왕국 최고의 전사(또는 마법사)가 되는 것일지도 모릅니다.

잃어버린 것을 찾아서
이 캐릭터는 잃어버린 것을 찾기위해 모험을 합니다. 집안의 가보일수도 있고 어떤 지역일 수도 있습니다.(은빛호수, 황금의 도시등) 물건, 신비한 곳등에 대한 정보등이 관련된 일이라면 적극적으로 참여할 것입니다.

어쩔 수 없이
이 캐릭터는 어쩔 수 없이 모험가가 되었습니다. 평범한 생활을 하던중에 갑작스러운 사고 또는 재난으로 모험을 하게 된 경우입니다. 그가 살고 있던 마을이 오크들의 습격으로 완전히 파괴되어 버리거나, 여동생이 사악한 무리들에게 잡혀 갔거나 등과 같은 사건을 계기로, 그 지방에서 오크들을 모두 몰아내서 다시 평화로운 마을을 세우기 위해서 또는 여동생을 되찾아서 다시 평범한 생활을 할 수 있기 위해서 모험을 합니다.

이밖에도 많은 여러가지 모험 동기가 있을 것입니다.
이런 식으로 캐릭터에게 동기를 부여하면 더욱 사실적이고 개성이 강한 캐릭터가 될 것입니다. 그리고 마스터가 새로운 모험 시나리오를 제작할 때 캐릭터들의 모험 동기를 참고하면, 캐릭터들에게 직접적인 연관을 갖는 흥미진진한 모험 이야기를 준비할 수 있을 것입니다. 

'etc' 카테고리의 다른 글

세븐스 스카이  (0) 2012.06.02
룬문자  (0) 2012.04.16
나에게..  (0) 2012.04.16
제어문 ( Control Statement )  (0) 2012.04.04
표준 입출력 함수  (0) 2012.04.03
etc
posted by Junction 2012. 4. 16. 23:37

의지하지 마리 쟁취하라 그리하면 주어질 것이다.

설령 게으름을 피워도 전화만은 꼭 받아라

무슨 일이 있어도 출근하기 전 화장실엔 꼭 들러라

전철을 놓칠 바에야, 일찍 일어나 전철 안에서 자라!!

직장 동료, 특히 여자에게 상냥해져라.

그들의 네트워크는 장난이 아니다

옷차림은 언제나 깔끔하도록 신경 써라

적어도 일주일에 세권 이상 책을 읽어라

회사에 클럽이 있다면 적극적으로 참가해라.

세세한 건 무시해도 상관없으니, 가계부를 써라.

네가 아무리 술이 강하다 할지라도 술은 적당히

지갑에 넣는 신용카드는 한장에 현금은 2만엔을 넘기지 마라

무슨 일을 하든 메모를 해라

연하장은 반드시 보내라

사장이나 부장, 같은 부 사람 전원에게 보내는 게 기본

출근할 때는 크게 「안녕하세요」

돌아갈 때도 크게 「먼저 실례 합니다」

넥타이는 나이에 맞게, 하지만 매는 건 언제나 흐트러짐 없이

쉬는 시간이라도 해이한 태도를 보이지 마라

책상은 언제나 청결하게 유지해라

회사에선 주위 사람, 특히 너의 고용주가

언제나 널 주시하고 있다는 걸 잊지 마라

존경할 수 없는 사람의 말이라도 메모해둬라

농담이 아니다

'etc' 카테고리의 다른 글

룬문자  (0) 2012.04.16
캐릭터에 동기 부여  (0) 2012.04.16
제어문 ( Control Statement )  (0) 2012.04.04
표준 입출력 함수  (0) 2012.04.03
연산자 ( Operator )  (0) 2012.04.02
etc
posted by Junction 2012. 4. 4. 09:31

if문
if문은 조건에 따라 실행문을 선택하여 프로그램의 실행 순서를 제어하는 문장으로서 다음과 같은 세 가지 형식이 있다.
if문
if( 조건문 ){
    문장
}
if-else문
if(조건문){
    문장
}
else{
    문장
}
nested if문
if(조건문){
    문장
}
else if(조건문){
    문장
}
else{
    문장
}
조건문은 상수 혹은 수식이 기술되며 그 값이 0이 아니면 참(true)이고 0이면 거짓(false)으로 간주한다.
조건문이 참일 경우, 'then'고 ㅏ같은 키워드는 기술하지 않으며 if다음의 문장을 실행하게 된다.
{    }내부의 문장은 한개 혹은 여러개의 실행문이 있을수 있으며 한 개일경우에는 {    }를 생략할 수 있다.

switch문
switch문은 복잡한 형태의 nested if문을 간단히 처리할 수 있는 제어문으로서 일반적인 형식은 다음과 같다.
switch( 판별식 ){
case 상수1:문장1;
[break;]
case 상수2:문장2;
[break;]
case 상수n:문장n;
[break;]
[ default: 문장;]
}
판별식의 값은 정수형 혹은 문자형이어야 하며 판별식의 값이 case문의 상수와 일치하는 곳의 문장을 실행한다.
case문중에 일치하는 상수가 없을 경우 default문의 문장을 실행하게 되며 defaault문이 생략된 경우에는 아무 것도 실행되지 않고 switch문은 종료된다.
case문의 상수는 하나 또는 여러 개를 가질 수 있다.
문장은 하나의 실행문 혹은 {    }없이 여러 개의 실행문을 기술할 수 있다.
break문은 생략할 수 있으며 break문을 만나면 switch문은 종료된다.

while문
while문은 임의의 조건을 만족하는 동안 일련의 문장들을 반복 실행하는 제어문으로서 일반적인 형식은 다음과 같다.
while(조건문){
    문장-1;
    문장-2;
    ...
    문장-n;
}
조건문의 값이 참(true)이면 {    }안에 기술된 일련의 문장들을 실행하고 다시 조건문을 실행하여 반복 실행 여부를 판정한다.
초기에 조건을 만족하지 않는 while문은 실행되지 않는다.
문장은 하나의 실행문이거나 혹은 여러 개의 실행문일 수 있으며, 문장이 하나일 경우에는 {    }를  생략할 수 있다.
while문을 벗어나기 위해서는 조건문을 거짓(false)으로 하는 문장이 존재해야 한다.

do-while문
do-while문은 while문의 변형으로 일반적인 형식은 다음과 같다.
do{
    문장-1;
    문장-2;
    ...
    문장-n;
}while(조건문);
일련의 문장들을 무조건 한 번 실행한 후 조건문의 값이 거짓(false)이면 {    }안에 기술된 일련의 문장들을 다시 실행한다.
문장은 하나 혹은 여러 개의 실행문일 수 있으며 do-while문을 벗어나기 위해서는 조건문을 거짓(false)으로 하는 문장이 존재해야 한다.
while문 끝에는 세미콜론(;)이 있어야 한다.

for문
for문은 반복 횟수를 지정할 수 있는 제어문으로서 일반적인 형식은 다음과 같다.
for(수식1;조건문;수식2){
  문장-1;
    문장-2;
    ...
    문장-n;   
}
수식1에는 반복 변수의 초기값을 조건문은 반복 실행의 조건을 수식2는 반복 변수의 증감값을 각각 기술한다.
수식1에 선언된 반복 변수가 조건문이 만족하면 일련의 문장들을 실행한 수에 수식2의 값을 증감시키고 다시 조건문을 실행함으로써 반복 실행 여부를 판정한다.
{    }의 문장은 하나 혹은 여러 개일 수 있으며 하나일 경우에는 {    }를 생략할 수 있다.
for문의 각 요소(수식1, 조건문, 수식2)는 일부 또는 전부를 생략할 수 있으며 전부를 생략할 경우,
즉 for( ; ; )는 무한 루프(loop)가 된다.

기타 제어문 : break, continue, goto
break문
break문은 for문, while문, do-while문, switch문 내부에서 사용되며 루프(loop)혹은 switch문을 벗어나기 위한 제어문이다. break문을 만나면 즉시 루프(loop) 혹은 switch문을 벗어나서 다음 문장으로 실행 순서를 제어한다.
continue문
continue문은 for문, while문, do-while문 내부에서 사용되며 continue문을 만나면 루프 내부의 나머지 문장들을 실행하지 않고 곧바로 루프(loop)의 시작 부분으로 실행 순서를 제어한다.
goto문
goto문은 제어의 흐름을 강제적으로 지정하는 제어문이다. 레이블명은 문자 혹은 정수로 표현된다. goto문을 만나게 되면 지정된 레이블명으로 실행 순서가 옮겨간다. 프로그램 작성시 goto문을 자주 사용하게 되면 실행 순서가 갑자기 변경되기 때문에 이해하기가 어렵게 되어 바람직하지 못하다.
goto 레이블명;
...
레이블명:

'etc' 카테고리의 다른 글

캐릭터에 동기 부여  (0) 2012.04.16
나에게..  (0) 2012.04.16
표준 입출력 함수  (0) 2012.04.03
연산자 ( Operator )  (0) 2012.04.02
변수 ( Variable )  (0) 2012.03.27
etc
posted by Junction 2012. 4. 3. 11:12

출력함수
프로그램 내부의 데이타를 표준 출력 장치(화면)로 출력시키기 위한 라이브러리 함수로서 
printf(), putch(), put()가 있다.

printf()함수
printf( "제어부", 출력 매개 변수 );
변환문자

 변환 문자

기   능 

%d 

부호 있는 10진수 정수형으로 변환 

%u 

부호 없는 10진수 정수형으로 변환 

%f 

부호 있는 10진수 실수형으로 변환 

%e 

부호 없는 10진수 실수형으로 변환 

%g 

e와  f중 짧은 형으로 변환 

%o 

부호 없는 8진수 정수형으로 변환 

%x 

부호 없는 16진수 정수형으로 변환 

%c 

문자형으로 변환 

%s 

문자열 형으로 변환 


전체 자릿수 지정을 위한 기호

 기호

기능 

+
-
0
숫자
숫자 

데이타의 부호를 표시
데이타를 왼쪽에 맞추어 정렬
왼쪽 빈칸을 '0'으로 채움
전체 자릿수
소수점 이하 자릿수

ESCAPE문자열의 기능

ESCAPE문자열 

 기능

\n
\t
\b
\\ 

다음 줄의 처음으로 커서 이동
탭 크기만큼 커서 이동
앞 문자를 지우고 그곳으로 커서 이동
'\'자체를 출력


putch()함수
putch() 함수는 프로그램 내부에서 한 개의 문자 데이타를 표준 출력 장치로 출력하는 기능을 제공하는 함수이다.

puts()함수
puts() 함수는 프로그램 내부에서 한 개의 문자열 데이타를 표준 출력 장치로 출력하는 기능을 제공하는 함수이다.


입력 함수

표준 입력 장치(키보드)로부터 데이타를 프로그램 내부로 입력시키기 위한 라이브러리 함수로서 
scanf(), getch(), gets()가 있다.

scanf() 함수
scanf() 함수는 표준 입력 장치(키보드)로부터 데이타를 주어진 형태( formatted form)로 변환하여 프로그램 내부로 입력시키는 기능을 제공하는 함수이다.
scanf( "제어부", 입력 매개 변수 );

getch() 함수
getch() 함수는 표준 입력 장치로부터 한 개의 문자 데이타를 입력하는 기능을 제공하는 함수이다.

gets() 함수
gets() 함수는 표준 입력 장치로부터 한 줄의 문자열 데이타를 입력하는 기능을 제공하는 함수이다.
즉 EnterKey 가 입력될 때까지 문자열 데이타를 읽어들인다.

'etc' 카테고리의 다른 글

나에게..  (0) 2012.04.16
제어문 ( Control Statement )  (0) 2012.04.04
연산자 ( Operator )  (0) 2012.04.02
변수 ( Variable )  (0) 2012.03.27
상수 ( Constant )  (0) 2012.03.26
etc
posted by Junction 2012. 4. 2. 11:21


모든 연산(operation)은 연산자(operator)와 피연산자(operand)로 구성되며 일반 적으로 하나의 연산자와 두 개의 피연산자로 구성되는 이항 연산이 보통이다.
C언어에서 연산자는 기본적으로 산술 연산자, 관계연산자, 논리 연산자가 있으며 특벽히 다른 언어에서 볼 수 없는 단항 연산자 혹은 삼항 연산자 등 다양한 연산자가 있다.

산술 연산자( +,-,*,/,% )
산술 연산자에는 사칙연산을 위한 덧셈,(+) 뺄셈(-), 곱셈(*), 나눗셈(/) 연산자와 나머지 값을 구하는 잉여 연산자(%)가 있다.

관계 연산자
관계 연산자는 두 피연산자 사이의 대소 관계를 비교하여 참(true) 혹은 거짓(false)으로 판정하는 연산자로서 다음과 같은 것들이 있다. 판정 결과가 참이면 1, 거짓이면 0의 값을 갖게 된다.
== : 같다.
!=  : 같지 않다.
>  : 크다.
>= : 크거나 같다.
<  : 작다.
<= : 작거나 같다.

논리 연산자
논리 연산자는 두 개의 피연산자 사이 혹은 한 개의 피연산자에 대하여 논리적으로 연산을 해서 참(true)혹은 거짓(false)으로 판정하는 연산자로서 다음과 같은 것들이 있다. 판정 결과가 참이면 1, 거짓이면 0의 값을 갖게 된다.
&& : 바이트 단위의 AND 연산
||  : 바이트 단위의 OR 연산
!    : 바이트 단위의 NOT 연산

기타 연산자
증가 연산자와 감소 연산자(++,--)
증가 연산자와 감소 연산자는 변수의 값에 1을 증가 혹은 감소하여 그 값을 변수에 대입하는 연산자로서 연산자를 변수의 앞과 뒤에 사용할 경우에는 그 의미상에  차이가 있다. 즉, 변수 앞에 연산자를 사용하면 그 변수에 먼저 1을 더하거나 빼게 되며, 변수 뒤에 사용하면 그 변수를 사용한 후 1을 더하거나 빼게 된다.
산술 치환 연산자( +=, -=, *=, /=, %= )
산술 치환 연산자는 산술 연산자와 치환 연산자를 결합시킨 것으로 좌변과 우변의 피산자에 대해 산술 연산을 수행한 후  그 결과값을 좌변의 피연산자에 치환하는 연산자이다.
비트 연산자( &, |, ^, ~, <<, >> )
비트 연산자는 비트 단위로 논리 연산을 수행하는 연산자로서 다음과 같은 것이 있다.
& : 비트 단위의 AND연산
| : 비트 단위의 OR연산
^ : 비트 단위의 XOR연산
~: 비트 단위의 1의 보수
<<: 비트 단위의 왼쪽 이동
>>: 비트 단위의 오른쪽 이동
비트 연산을 수행할 때  다음과 같은 과정으로 진행된다.
1. 이동 연산의 경우 숫자의 부호를 나타내는 가장 왼쪽 비트는 이동되지 않는다.
2. 왼쪽으로 이동(<<)할 경우, 오른쪽 끝의 빈자리는 0으로 채워진다.
3. 오른쪽으로 이동(>>)할 경우, 왼쪽 끝의 빈 자리는 부호와 같은 비트(양수는 0, 음수는 1) 로 채워진다.
삼항 연산자(? : )
삼한 연산자는 세 개의 피연산자를 갖는다. 첫번째 피연산자는 조건을 나타낸다.
만약 이 조건이 참(true)이면 두번째 피연산자를 선택하고, 거짓(false)이면 세번째 피연산자를 선택한다.
콤마 연산자(,)
콤마 연산자는 여러 개의 연산식을 연결하여 하나의 문장으로 사용할 수 있도록 한다. 이때 콤마로 분리된 연산식은 앞에서부터 차례대로 연산되며 이 문장의 결과 값은 마지막 연산의 값이 된다.
sizeof 연산자
sizeof 연산자는 데이타의 크기를 바이트 수로 나타내 주는 연산자이다.

'etc' 카테고리의 다른 글

제어문 ( Control Statement )  (0) 2012.04.04
표준 입출력 함수  (0) 2012.04.03
변수 ( Variable )  (0) 2012.03.27
상수 ( Constant )  (0) 2012.03.26
C프로그래램의 구조  (0) 2012.03.26
etc
posted by Junction 2012. 3. 27. 10:16

변수는 프로그램이 실행되는 동안 에 변할 수 있는 값으로서 기억 장소의 주소를 의미하며 프로그램이 실행되는 과정에서 변수에 상수값이 기억된다. 따라서 프로그램에서 사용되는 모든 변수는 기억될 상수와 동일한 형으로 선언되어야 한다. 이때 그 변수에 기억된 상수값을 참조할 수 있는 범위를 그 변수의 유효 범위라고 한다.

내부 변수와 외부 변수
함수 내부에서 선언된 변수를 내부 변수( internal variable )라고 하며 함수 외부에서 선언된 변수를 외부 변수(  external variable )라고 한다. 내부 변수의 유효 범위는 지역적(local)으로서 그 변수가 선언된 함수 혹은 블록 내부에서만 참조할 수 있지만 외부 변수의 유효 범위는 전역적(global)이기 때문에 프로그램 어느 곳에도 참조할 수 있다. 특별히 다른 화일에 선언된 외부 변수를 참조할 경우와 같은 화일 내에서 아직 선언되지 않은 외부 변수를 참조할 경우에는 반드시 extern 선언자와 함께 선언되어야 한다.

자동 변수
자동 변수란 프로그램이 실행되는 동안 변수가 기억 장소를 함수내에서만 사용되는 변수로 다음과 같은 특징을 갖고 있다.
auto 선언자와 함께 선언되며 생략할 수도 있다.
함수 혹은 블록 내부에서 선언되기 때문에 유효 범위는 지역적이다.
변수에 대한 기억 장소는 선언된 함수 혹은 블록이 실행될 때 스택 영역에 확보되기 때문에 그 함수 혹은 블록의 실행이 끝나면 자동적으로 소멸된다.

정적 변수
정적 변수란 프로그램이 실행되는 동안 변수가 기억 장소에 존재하는 항구적인 변수로 다음과 같은 특징을 갖고 있다.
static 선언자와 함께 선언된다.
유효 범위는 지역적임며 외부 변수를 정적 변수로 선언할 경우 변수의 유효범위가 축소되어 다른 화일에서는 참조할 수 없게 된다.
변수에 대한 기억 장소는 프로그램이 실행될 때 데이타 영역에 확보되기 때문에 프로그램의 실행이 끝날 때에 비로소 소멸된다.
변수를 선언할 때 초기값을 부여하면 프로그램이 실행될 때, 단 한 번만 초기화가 이루어진다.

레지스터 변수
레지스터 변수는 자동 변수와 그 기능은 같으나 단지 제한된 조건내에서 변수의 속도가 빠르게 실행되고, 다음과 같은 특징을 갖고 있다.
register 선언자와 함께 선언된다.
변수에 대한 기억 장소로서 CPU 내부의 레지스터를 사용하기 때문에 처리속도가 빨라진다.
사용할 수 있는 레지스터의 한계를 벗어나면 자동 변수로 간주된다.
레지스터의 크기는 1워드이므로 문자형, 정수형 및 포인터형에만 사용되며 적용 범위는 자동 변수나 함수의 매개 변수로 제한된다.

'etc' 카테고리의 다른 글

표준 입출력 함수  (0) 2012.04.03
연산자 ( Operator )  (0) 2012.04.02
상수 ( Constant )  (0) 2012.03.26
C프로그래램의 구조  (0) 2012.03.26
private file  (0) 2012.03.25
etc
posted by Junction 2012. 3. 26. 19:54

상수는 프로그램이 실행되는 동안에 변하지 않는 값을 의미하며 정수형 상수, 실수형 상수, 문자형 상수가있다.

정수형 상수
부호(+,-)와 숫자(8진수, 10진수, 16진수)로 표시하며
8진수는 숫자 '0' , 16진수는 '0x' 혹은 '0X'로 시작하여 표시한다.
출력결과는 10진수 %d, 8진수 %o, 16진수 %x로 표현한다.

정수형 상수는 보통 2바이트의 기억 장소가 할당
부호를 가질 경우에 -2^15 (-32768) ~ 2^15 -1(32767)의 숫자 표현이 가능하다.
정수형 상수와 관계되는 변수형에는 int 외에 short, long 및 unsigned가 있는데short, unsigned는 2바이트, int, long은 4바이트가 할당 된다.

--------------------------------------------------------------------------------------------
실수형 상수
실수형 상수를 표시하는 방법에는 소수점을 이용한 방법과 지수를 이용한 방법이 있다.
실수형 상수와 관계되는 변수형에는 float, double, long double이 있으면 4바이트, 8바이트, 10바이트의 기억 장소가 각각 할당된다.

--------------------------------------------------------------------------------------------
문자 및 문자열 상수
하나의 문자로 구성된 문자형 상수를 표현할 경우 단일 인용 부호(' ')사이에 하나의 문자로 표시
여러 개의 문자로 구성된 문자열 상수를 표현할 경우에는 이중 인용 부호(" ") 사이에 여러 개의 문자를 표시한다.
이때 문자 한 자를 출력 하려고 하면 %c를 문자열을 출력하고자 하면 %s로 형태를 표현한다.
문자형 상수와 관련되는 변수형에는 char가 있으며 1바이트의 기억 장소가 할당된다.


'etc' 카테고리의 다른 글

연산자 ( Operator )  (0) 2012.04.02
변수 ( Variable )  (0) 2012.03.27
C프로그래램의 구조  (0) 2012.03.26
private file  (0) 2012.03.25
C 프로그래밍  (0) 2012.03.22
etc
posted by Junction 2012. 3. 26. 18:15

C프로그램의 구조는 header부, main() 함수부 및 기타 함수부로 구성되며
모든 프로그램은 반드시 main() 함수를 가지고 있어야 한다.

header부에는 프로그램 전역에서 사용될 라이브러리, 매크로, 함수명의 타입 등을 선언한다.

main() 함수부에서 { }는 프로그램의 시작과 끝을 각각 나타내고 모든 실행문은 이 { } 내에 기술된다.

기타 함수부에는 main() 함수에서 호출되는 함수들이 기술된다. 또한 모든 변수의 선언은 함수의 외부와 내부에서 기술할 수 있으며 기술되는 위치에 따라 변수의 유효 범위가 제한된다.

'etc' 카테고리의 다른 글

변수 ( Variable )  (0) 2012.03.27
상수 ( Constant )  (0) 2012.03.26
private file  (0) 2012.03.25
C 프로그래밍  (0) 2012.03.22
OS  (0) 2012.03.21
etc
posted by Junction 2012. 3. 25. 19:31

'etc' 카테고리의 다른 글

상수 ( Constant )  (0) 2012.03.26
C프로그래램의 구조  (0) 2012.03.26
C 프로그래밍  (0) 2012.03.22
OS  (0) 2012.03.21
C언어의 역사와 특징  (0) 2012.03.21
etc
posted by Junction 2012. 3. 22. 08:43


VS2010를 실행시켰을때의 모습이다.

*여담이지만 프로그래머는 최신 툴이 나오면 바로 갈아타지 않고 한단계 전 버전을 쓴다고 한다.
최신버전이라도 혹시 모를 버그가 있을수 있기 때문이라고 하던데 본인은 잘 모르겠다.

처음시작하는 것이기 때문에 New Project를 선택하기로 하자.
 선택을 하면 다음과 같은 화면이 뜨게 된다.

본인은 이미 한번정도는 사용했기 때문에 약간 화면이 다를 수도 있다.
여기서 선택해야 하는것은 왼쪽에 Visual C++를 펼쳐서 Win32를 선택해주면
중간에 Win32 Console Application과 Win32 Project 두개가 보인다.

Win32 Console Application를 선택해주고 아래쪽에 Name에 이름과 Location에 파일을 저장할 경로를 선택하고 OK를 눌러준다.


OK를 누르면 이와같은 화면이 뜬다.
Win32 Application Wizard가 뜬다. ( test123은 앞에서 Name에 test123을 적었기 때문이다. )
여기서 Wizard란?
다른 프로그램의 실행 or 작업 등을 도와주는 프로그램을 말한다.

이 화면에선 그냥 잘왔다고만 하고 아무것도 없다. Next를 선택해 다음으로 넘어가보자!


뭔가 체크해야 할것이 많다? 하지만 걱정마라.

Application type에선 Console을 선택해주고 Additional options에선 Empty project를 체크해주고
 Finish를 누르기만 하면 된다.
Empty project를 체크 안하면 어느정도 코드가 적혀있는데 사람에 따라 오히려 불편할수도 있기 때문에 빈공간에서 작업을 해보자.

Finish를 누르면 이와 같이 나온다.
여기서 solution explorer를 선택해서 창을 옮길수 있으니 맘에 들도록 창을 배치시킬수 있다.
source file폴더를 우클릭하여 Add -> New Item 혹은 ctrl+shift+A를 눌러 파일을 만들어 보도록 하자.

또다른 창이 나왔다 여기선 파일형식을 선택할수 있는데 우리가 하는건 C프로그래밍이니
C++ File를 선택하고 Name에 이름을 적고 Add를 누르자.


뭔가 달라진것이 보인다.
main이라는 파일이 생겼고 뭔가를 적을수 있는 부분이 생겼다.
저곳에는 사용자가 직접 CODE를 작성하는 곳이다.
CODE를 작성해보도록 하자.

CODE를 작성했다.
#include <stdio.h>

void main(void)
{
printf("Hello World \n");
}
그냥 봐도 뭔가 느낌이 온다. 일단 컴퓨터가 알아먹을수 있도록 compile을 하도록 하자.

다 적은후에 메뉴에서 build를 선택해 compile을 찾아서 하거나 단축키(ctrl+F7)를 이용하면 된다.

Output창에 뭔가가 떴다
쭉읽어 내려가다 보면
Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped
빌드 1성공이라고 보기 좋게 나온다 여기서 실패가 나오게 되면 소스코드에 오류가 있다는 뜻이다.
지금은 아직 그렇다할게 없으니 이런게 있다고 알아두면 좋겠다.

compile성공도 했고, 이제 실행을 시켜보도록 하자.
메뉴에서 Debug->Start Without debugging을 선택하자 단축키(ctrl+F5)

이 창이 뜨게 되면 그냥 Yes를 선택해주도록 하자. compile시 실패가 뜨지 않았다면 안떠도 상관 없다.

창이 하나 뜨면서 'Hello World'라는 문장이 보인다.
우리는 지금 프로그램을 하나 만들었다. 비록 단순하게 'Hello World'라는 문장이 나올뿐이지만 말이다. 

'etc' 카테고리의 다른 글

C프로그래램의 구조  (0) 2012.03.26
private file  (0) 2012.03.25
OS  (0) 2012.03.21
C언어의 역사와 특징  (0) 2012.03.21
C언어란?  (0) 2012.03.20