GEN1031 Computer Programming DOS Window Command Prompt 을 사용하여 Hello World! in C Kichun Lee Department of Industrial Engineering Hanyang Univesity Lecture 1 1
과목 Overview 목적: 본 과목은 C 언어를 통하여 컴퓨터를 이용한 공학적 문제 해결 과정을 학습한다. C 언어의 변수 타입, 제어문, 함수, 포인터, 구조체 등을 학습한다. C 언어와 다른 언어와의 통합의 방법에 대해 배운다. 2
과목 Overview 교재 Engineering Problem Solving with C (4th Edition); Delores M. Etter; Pearson; ISBN 13: 978-0-13-608531-7 C언어 스케치; 강환수, 이동규, 최재승, Infinity Books, ISBN 978-89-92649-62-9 3
과목 Overview Week Content 1 Introduction, Engineering Problem Solving 1. 거의 매주 숙제 T_T; 2. 진도 내용에 대한 숙제 + 간단한 게임 만드는 프로젝트 3. Late Submission은 시간당 10%점수 차감 모범 답안 올라간 후에는 0점 4. 본 과목은 녹화전용으로 진행되며, 보통 1시간 강의와 나머지는 숙제 진행및실습(조교 문의 가능) 조교: 이 2 Simple C Program: Variable, Type 3 Simple C Program: Operator, Input/Ouput 4 Control Structure 5 Data Files 6 Modular Programming with Functions: Function 7 Modular Programming with Functions: Macro, Recursion 8 Midterm Exam 9 Array and Matrices 10 Searching and Sorting 11 Programming with Pointers 12 Programming with Pointers 13 Programming with Structures 14 Introduction to C++/VBA 15 Integration of Programs, Further Topics 16 Final Exam 4
과목 Overview 평가항목 비율 평가항목 비율 출석 5% 퀴즈 0% 과제 20% 중간고사 25% 토론 0% 기말고사 35% 팀프로젝트 14% 학습참여도 1% 1. 출석은 online 출석 체크 + offline 출석 체크(호명 and/or 종이) 2. 과제 출제와 제출은 Hyin을 통하여 3. 팀프로젝트는 간단게임 구현 and/or 프로그램통합 숙제로 진행 4. 학습참여도는 Good 수업 summary와 comment, question 등 대하여 부여 5
과목 Overview: HW0, 다음 시간에 준비해오기 과목: 컴퓨터프로그래밍, 2015 봄 이름: 홍길동 학번: 2015012345 목표: 나는 이 과목에서 무엇을 하고 싶고, 나는 누구이며, 등등등 본인 사진 넣기 3/3(화): 오늘은 C 언어에서 무엇을 배웠다. 이런 것을 생각해보았다. 등등 3/5(목): 오늘은 C 언어에서 무엇을 배웠다. 이런 것을 할 수 있을 거라 생각했다. 이것이 궁금하다. 등등. 이 부분을 본인 내용으로 바꾸고 손으로 적어 오기 이 부분은 매번 수업 마치고 적어서 제출 수업 시간 전에 본인 sheet 찾아가기 6
과목 Overview 컴퓨터프로그래밍을 왜 배워야 하나? 어떻게 하면 컴퓨터프로그래밍을 잘 할 수 있나? 7
Hello World! Program in Windows Microsoft Visual C++ Express 2008(free) 설치 http://www.microsoft.com/express/vc/ Hello World! 프로그램 작성 프로그램을 윈도우에서 컴파일 및 실행 DOS Window Command Prompt을 이용한 간단한 방법으로 실행 IDE 또는 Linux/Unix를 사용하는 것도 가능하다. 8
Hello World! Program in Windows 9
Hello World! Program in Windows 10
Hello World! in DOS Window This black window is called DOS window command prompt 시작 모든 프로그램 Microsoft Visual C++ Express 2008 Visual Studio Tools Visual Studio 2008 Command Prompt 11
Hello World! in DOS Window For Windows 7 12
Hello World! in DOS Window 도스창에 작성 C:\Program Files > Z: Z:\> mkdir myprog Z:\> cd myprog Z:\myprog> notepad hello.c 여러분이 파일을 만들고자 할때, hello 메모장을 이용할 수 있다. 클릭 예(Y)! At home, type cd C:\ 13
Hello World! in DOS Window hello 메모장을 이용 프로그램 작성 및 저장 다음으로, 도스창으로 이용해서 다음 명령어를 작성 Z:\myprog> cl hello.c Z:\myprog> hello Hello World! 14
Exercise: Develop a program that prints your name on the screen 시작 모든 프로그램 Microsoft Visual C++ Express 2008 Visual Studio Tools Visual Studio 2008 Command Prompt C:\Program Files > Z: Z:\> cd myprog At home, type cd C:\ Z:\> mkdir ex1 Z:\> cd ex1 Z:\myprog\ex1> notepad myname.c myname 메모장에 프로그램을 작성 컴파일 및 실행 Z:\myprog\ex1> cl myname.c Z:\myprog\ex1> myname Turgay Korkmaz 15
Save/Print results from the DOS window (black one): 도스창에 작성 Z:\myprog\ex1> notepad output.txt 도스창에서 마우스 우클릭 표시(K)를 선택 출력하길 원하는 결과물을 드래그로 표시 함 Enter 키를 입력 이전에 생성했던 메모장(output.txt)으로 마우스 커서를 이동 앞서 표시했던 영역을 output.txt에 붙여넣기를 실행 메모장에 저장 및 작성 16
See your files in Windows and submit your program C source file(hello.c)과 output.txt 파일을 Hyin을 통해제출 윈도우 탐색기를 열고 다음의 주소값을 Z: myprog or C: myprog 입력 C source file은 마우스 우클릭을 사용 연결 프로그램(H) -> 메모장 17
Test HW 여러분 자신의 소개를 출력하는 프로그램을 작성하세요. 위의 프로그램을 test1.c로 저장하고, 컴파일 및 실행 결과물을 output1.txt에 복사/붙여넣기 test1.c 및 output1.txt 파일을 HYin 을 통해 제출하십시오. 18
/* 추가 연습 문제: 다음 프로그램을 실행시키세요. 어떤 결과를 나타내나요? */ #include <stdio.h> #include <stdlib.h> int main() { double tc; /* temperature in Centigrade */ double tf; /* temperature in Fahrenheit */ /* * Prompt for centigrade temperature */ printf("centigrade 온도를 넣어보세요: "); scanf("%lf", &tc); /* * Convert it to Fahrenheit */ tf = 9.0 * tc / 5.0 + 32.0; printf("%.2f Centigrade 온도는 %.2f Fahrenheit 와 같습니다. n", tc, tf); return 0; /* signal normal end of program */ } 19
윈도우에서 C 프로그램을 컴파일 하기 위해서는, Microsoft Visual Studio or Microsoft Visual C++ 2008 Express IDE(integrated development environment)를 사용할 수 있습니다. 이것은 프로그래머에게 좀 더 종합적인 도구가 될 것입니다. IDE는 source code editor, a compiler, debugger 등으로 구성되어 있습니다. 수업시간에는 프로그램을 작성하고 컴파일 하기 위해 도스창을 이용할 것입니다!! 그러나 만약에 IDE를 사용하는 것에 관심을 가지고 있다면, 여기에 이용방법이 있습니다. 만약에 IDE에 관심이 없다면 이 슬라이드를 넘겨도 좋습니다. 1. 선택 Start -> All Programs -> Microsoft Visual C++ 2008 Express Edition 2. IDE 메뉴에서 File -> New -> Project 3. dialog box 에서 : 선택 - Win32, Win32 Console Application, 프로젝트 이름 입력 (e.g., HW1), 클릭 OK 4. Win32 Application Wizard 나타남. 클릭 Next, 표시/선택 Empty Project, 클릭 Finish 5. IDE 메뉴에서 Project -> Add new item 6. dialog box 에서 : 선택 C++ File, 파일 이름 입력 (e.g., HW1.c), 클릭 Add 7. HW1.c 에 당신의 C 프로그램을 입력/편집. 완료 후 저장 8. 지금 당신은 프로그램을 다음과 같이 컴파일 해야 함 9. IDE 메뉴에서 Build -> Built Solution 10. 컴파일러는 IDE의 새로운 창에 결과물을 보여줌 11. 만약에 어떠한 오류가 있다면 7단계로 이동해서 프로그램을 수정하고 다시 컴파일을 실시 12. 만약에 오류가 없다면, 당신은 다음과 같이 프로그램을 운영할 수 있음 13. IDE 메뉴에서 Debug -> Start without debugging 14. 도스창에서 결과물을 얻을 수 있고 또한, 입력 값을 얻을 수 있음 15. 프로그램을 출력하기 위해, IDE 메뉴에서 File -> Print 20
Hello World! Program in Windows For Windows 7 21
Trouble Shooting VC++ Express IDE를 사용하여 Compile 할 때에 아래와 같은 에러가 발생할수있다 22
Trouble Shooting 23
Trouble Shooting 24
Trouble Shooting 25
Trouble Shooting Similarly, when IDE faces scanf -related error codes: 'scanf': This function or variable may be unsafe.consider using scanf_s instead https://www.youtube.com/watch?v=p5hkz_zi3n0 일반 cmd 창에서 cl.exe 등을 사용할 때에 D: classes ConsoleApplication1 Debug>set PATH=%PATH%;"C: Program Files (x86) Microsoft Visual Studio 12.0 VC bin" obj 파일에서 exe 파일을 만들려고 할 때에 LINK /OUT:MyTest.exe TemperatureConvert.obj 26
Hello World! in Linux (or Cygwin) Similar to DOS Window. If you plan to use Linux, I can give you more instructions. Just ASK. But, if you are not interested in Linux, SKIP this slide! Login to a linux machine SSH Secure Shell (e.g., main212.cs.utsa.edu) main212:> mkdir myprog main212:> cd myprog main212:> pico hello.c Type your program and save it (ctrl-o) Compile and execute your program main212:> gcc hello.c o hello main212:> hello 27
Cygwin_Download https://cygwin.com/install.html - Window환경에서 Linux를 사용 하도록 도와주는 도구 32-bit 64-bit 28
Cygwin_Install (1) 패키지검색 (2) New 항목에서 버전 이름이 표시되게 클릭 패키지 설치 1.Gcc 검색 Devel gcc-ada : GNU Compiler Collection(Ada) gcc-ada : GNU Compiler Collection(C, OpenMP) 2. Vim 검색 Editor gvim : GUI for the Vim text editor - vim : Vi Improved enhanced vi editor - vim-common : Vi Improved 29
Cygwin PATH 내 컴퓨터 마우스 우클릭 -> 고급 -> 환경 변수 경로 추가 1. 시스템 변수 내에 있는 Path 를 선택한 후 편집 버튼을 클릭 2. 변수 값 항목의 가장 앞에 cygwin 이 설치된 경로를 추가 3. C: Program Files cygwin 에 설치가 되어 있다면 C: Program Files cygwin bin; 을 입력 30
Cygwin_C Coding Vi 편집기 저정후종료명령어 $ gcc-version 입력 ## gcc 패키지 설치 확인 $ vim hello.c ## vi편집기를 이용해 hello.c 작성 $ gcc hello.c o hello ## gcc로 빌대해서 hello.exe 실행파일 만들기 $./hello.exe ## hello.exe 실행 31
Cygwin_Vi 문서편집기 명령모드 -vi의 기본모드인 입렵모드에서 esc키를 누른 경우 커서이동, 문자열 수정 등 엔터키를 사용할 필요 없이 각각의 명령에 따라 바로 실행 됨 입력모드 - 내용을 입력할 수 있는 모드 하단에 INSERT-라고 표시되고 명령상태에서 a, i, o키를 누르면 진입 명령어 동작 a 편집모드 진입 : 현재 커서 뒤부터 입력 <-> i i 편집모드 진입 : 현재 커서 앞에서 입력 <-> a h,j,k,l 커서 이동 d 현재 커서의 행 삭제 or 잘라 내기 u 삭제취소 :q 저장 없이 종료 :wq 파일 저장 후 종료 (위와 같음) 32