본문 바로가기

전체 글

(678)
변수와 연산자 #include int main(void) { int a; a = 10; int b; b = 10; printf("%d %d",a,b); return 0; } 이런 내용의 소스코드가 있는데.. 이게 컴파일 에러가 납니다. 이유인 즉슨, 변수의 선언이 잘못 되었기 때문입니다. 자바에서는 이런경우에는 문제가 없드라구요.. 변수는 언제 선언하더라도 상관이 없습니다만.. 절차지향 프로그래밍인 C 프로그래밍 에서는 변수의 선언이 항상 초반에 선언이 되어야 합니다. 따라서 선언과 초기화가 따로 따로 되어 있는 위의 소스코드는 에러가 납니다. 해결 방법은 묶어서 선언하고, 묶어서 초기화해야합니다. #include int main(void) { int a; int b; a = 10; b = 10; printf("%d ..
연습문제 풀기 연습문제 2-2 문제 1) 다음과 같은 출력 결과를 보일 수 있도록 프로그램을 작성해 보자. 단 등장하는 숫자는 문자열 속에 직접 집어 넣지 말고 %d 서식 문자를 이용하여 출력하도록 하자. 저의 이름은 남한산입니다. 저의 나이는 24살이고요. 제가 사는 번지수는 463-832번지 입니다. 문제 2) 다음과 같은 출력 결과를 보일 수 있도록 프로그램을 작성해 보자. 이번에도 역시 등장하는 숫자는 문자열 속에 직접 넣지 말고, %d 서식 문자를 이용해서 출력하기 바란다. 2 x 3 = 6 2 x 4 = 8 이 소스코드를 만들려고 한 프로젝트 내에서 두 개의 c 파일을 생성했는데 이런 오류 메세지가 뜨더군요. 그렇죠 -ㅅ-;; 멍청하게 main 메소드를 두번 선언한겁니다? 근데 생각해보면 서로 다른 파일 내..
Hello World, Java로 비교하는 C의 소스코드 분석 이 현란한 웨스턴 스타일의 소스코드를 보세요.. -ㅅ-;; (뻥입니다;; 그런거 없습니다), 음.. 우선 자바의 소스코드를 살펴보도록 하겠습니다. 일단 패키지명이 보이는군요.. helloWorld 라는 패키지에 속해 있는 클래스이구, 세번째 줄에 있는건 클래스를 선언해주는겁니다. public은 접근제어자이구요.. 누구나 다 접근이 가능한 클래스이다.. 라고 볼 수 있겠죠. 다음으로 메소드가 출현합니다. static 메소드이고.. 반환값은 없고.. String 매개변수를 갖고 메소드 명은 main 이고.. 마찬가지로 public.. System 클래스의 out이라는 객체의 println 이라는 메소드를 호출한다는 의미를 가지고 있습니다. 그럼 이 C 소스코드는 뭘까요!! 둘다 실행결과는 똑같이 Hello ..
프로그램의 완성 과정 이전에 프로그램의 완성 과정에 대해서는 한번도 생각해보지 않았었는데.. 책에는 이런 내용이 있더라구요.. Link 시킨다(실행 파일을 생성한다) 라는 과정을 거쳐야 한다고.. 책에 나와있는 순서도를 Visio로 한번 그려보았습니다. 1. 프로그램 작성 이건 일반적으로 코딩을 의미하는 거겠죠.. Java, C++/C 어떤 프로그래밍 언어가 되었던 간에 이 과정을 동일 할 겁니다. 저 마다의 문법을 사용하여 어떠한 프로그램이 수행해야 할 프로세스들을 작성하는 거겠지요. 2. 컴파일 (Compile) 해당 언어의 컴파일러가 작성된 프로그램에 대해서 문법상의 이상이 없는지 확인을 한 후에, 컴퓨터가 이해할 수 있는 기계어로 변환하게 됩니다. 이상이 생기는 경우에는 프로그램 소스 코드를 수정을 해야겠죠..? 이 ..
C 언어를 시작하며 - Visual C++ 시작 책을 펴고 나면 프로그래밍 언어가 무엇인가에 대한 고찰이 나옵니다.. 한마디로 얘기하자면, 사람의 언어와 유사한 셈이죠. 그리고 C 언어라는게 왜 C언어냐.. 고 말하면 -ㅅ-;; B언어가 있대요... 그래서 B언어 다음 세대의 고급 언어가 C언어가 된거라고 하네요 ㅎㅎ 좀 말장난 같았는데 사실이라니 'ㅡ';;; 일단 C 프로그래밍을 하기 위해서는 그에 맞는 개발 툴을 사용하게 되는데 이전에 자바할때 처럼 메모장을 쓰기도 하고.. 이클립스같은 IDE 툴을 사용하기도 하는데, 책에서는 Visual C++ 을 사용해서 책을 전개해 나가기 시작합니다. 일단 Visual C++ 이라는 프로그램을 먼저 알아야 C를 배워야 된다는 전제가 되었습니다. 일단 이클립스때 처럼 차근차근 사용하면서 배워보도록 해야겠습니다...
C 프로그래밍을 공부하기로 했습니다. 지난번에 방학 계획을 세우면서 약속을 했듯이.. C 프로그래밍을 찬찬히 시작해 볼까 합니다 ^^ 확실히 어렵고 힘들것이라고 생각은 듭니다만.. 뭐 꼭 그렇게 힘들게 생각하지 않아도 될 것 같네요. 결국은 배우게 될텐데 어렵다고 미루는건 옳지 못합니다. 지난번에 사두고 아주 잠깐 보던.. 책이라서.. 빨리 후딱 보고 해야겠따는 생각이 듭니다. ㅎㅎ 쑥스럽습니다.. -_-;; 음.. 매주 월요일날 3~4개 챕터씩 진도가 나갈거구.. 물론 소스코드와.. 실행 결과들을 포함하여 블로그에 포스팅 하는것을 원칙으로.. 블로그를 방문하시는 분들과 저 스스로에게 검사를 받도록 하겠습니다 ^ㅡ') 이번 방학이 굉장히 중요한것 같습니다.. 열심히 해야지요..
Command Pattern ③ 정리 식당을 예를 들어서 커맨드 패턴을 정의 해봤습니다. 'ㅡ';; 미친놈 소리 하질지 모르겠지만.. 재미있지 않나요;;? 컴퓨터라는 것은 사람의 일상을 벗어나지 않는것 같습니다. 제 아무리 컴퓨터라도.. 어쩔수 없는게지요 -ㅅ-.. 사실 사람 머리에서 나온 컴퓨터가 뭐 지 혼자서 하는게 있겠습니까;; ㅋㅋ 여튼.. -ㅅ-;; 커맨드 패턴을 한마디로 정의하면.. 이렇다고 하네요.. 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을 수도 있습니다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업 취소 기능도 지원 가능합니다. 머 뻔드러지게 이야기는 했지만.. -ㅅ-; 쉽게 말하면, execute() 메소드를 호출하므로서 모..
Command Pattern ② Implements Command Pattern 음.. 실제로 음료를 주문한다고 생각하고 소스코드를 한번 작성해 봤습니다. -ㅅ- 개념적으로 설명하면 공부도 안될뿐 더러;; 제대로 해야겠다는 생각이 듭니다.. 사실 이 패턴 공부하면서 ㅠㅠ 잘 모르겠어요.. 갑자기 안하던 공부를 할려니까 머리가 막 아프로 그러네요 -ㅅ- ㅋㅋㅋㅋㅋ 일단 다이어 그램을 그렸습니다. 'ㅡ';; Amondo 로 그렸습니다. 음료를 주문하는 절차를 가진 커맨드 패턴 예제 소스를 만들었는데요.. 먼저 음료라는 추상클래스가 있고 소주, 맥주, 사이다, 콜라 있습니다 -ㅅ-;; 더 추가 하면 되겠죠.. order() 라는 메소드를 오버라이드 해서... 뭐 시켰습니다 라는 메세지가 뜨도록 해놨구요.. Command 인터페이스와 Command 객체인 BeverageOnCommand 라..