Microsoft PowerPoint - gnu-w09-c-chap

Similar documents
<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

untitled

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap-02.pptx

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

OCW_C언어 기초

슬라이드 1

C 프로그램의 기본

OCW_C언어 기초

PowerPoint Presentation

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - chap08-1 [호환 모드]

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

중간고사

Studuino소프트웨어 설치

Microsoft PowerPoint - gnu-w10-c-chap11

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

슬라이드 1

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

Microsoft PowerPoint - Lesson2.pptx

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

C 언어 프로그래밊 과제 풀이

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

슬라이드 1

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - KNK_C01_intro_kor

KNK_C01_intro_kor

Microsoft PowerPoint - [2009] 02.pptx

PowerPoint 프레젠테이션


10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

PowerPoint 프레젠테이션

Microsoft PowerPoint - gnu-w10-c-chap12

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft PowerPoint - chap06-2pointer.ppt

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

슬라이드 1

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

<B1E2BCFAB9AEBCAD5FB9DABAB4B1D45F F F64746F72732E687770>

Microsoft PowerPoint - chap11.ppt [호환 모드]

ABC 2장

쉽게 풀어쓴 C 프로그래밍

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

금오공대 컴퓨터공학전공 강의자료

슬라이드 1

Microsoft PowerPoint - CSharp-10-예외처리

BMP 파일 처리

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Windows 8에서 BioStar 1 설치하기

슬라이드 1

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - Java7.pptx

C 언어와 프로그래밍 개요

Microsoft PowerPoint - chap03-변수와데이터형.pptx

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ch07 - 포인터 pm0415

untitled

윤성우의 열혈 TCP/IP 소켓 프로그래밍

17장 클래스와 메소드

PowerPoint 프레젠테이션

KNK_C02_form_IO_kor

Microsoft PowerPoint - e pptx

윈도우즈프로그래밍(1)

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - 1C언어소개0.PPT

PowerPoint 프레젠테이션

01장

untitled

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint - chap12-고급기능.pptx

쉽게 풀어쓴 C 프로그래밍

02 장 :5 PM 페이지 첫번째프로그램분석 1 장에서작성한 first.c 파일의소스코드를분석해보자. 다음코드는앞서작성한코드와함께 C 언어의기본구성요소들을설명하기위해몇가지요소를추가한상태다. 소스코드

본 강의에 들어가기 전

쉽게 풀어쓴 C 프로그래밍

Flowchart 작성법

JDK이클립스

Transcription:

어서와 C 언어는처음이지 제 1 장

컴퓨터 컴퓨터는생각만큼똑똑한물건이아니다. 컴퓨터는스스로자신이수행할작업을결정할수없다.

프로그램 우리가컴퓨터에게아주자세한명령어를주어야한다. 컴퓨터에게특정한작업을수행하게하는자세한명령어의리스트를프로그램 (program) 이라고한다. 1. 정수를읽는다. 2. 합을계산한다. 3. 합을화면에출력한다.

작성해야하는프로그램 일반적인프로그램은구입하거나다운로드받을수있다. 하지만사업상특수한프로그램이필요한경우에는회사가프로그래머를고용해서사업에필요한소프트웨어를개발하도록한다.

필요한것 컴파일러 (compiler): C프로그램을받아서컴퓨터가읽을수있도록변환하는도구 Code::Blocks(www.codeblocks.org) Microsoft의비주얼스튜디오

Code::Blocks 컴파일러 IDE는통합개발환경 (integrated development environment) 의약자로서하나의소프트웨어에서작성, 수정, 디버깅이가능하다는뜻이다. Code::Blocks에서는 C 또는 C++ 프로그램을작성할수있다.

Code::Blocks 설치

프로그래밍과정 1 프로그램이정확히무엇을해야하는지를결정한다. 2 에디터를사용하여프로그래밍언어명령어들을작성하고저장한다 3 프로그램을컴파일한다. 4 컴파일오류를체크한다. 만약오류가있으면오류를수정하고단계 3으로되돌아간다. 5 프로그램을실행한다.

컴파일러 컴파일러는이런원재료들을최종제품으로바꾸어주는기계와같으며최종제품은바로컴퓨터가이해할수있는실행가능한프로그램이다.

또하나의통합개발환경 비주얼스튜디오 마이크로소프트사의제품 윈도우기반의거의모든형태의응용프로그램제작가능 우리가사용할버전 : 비주얼스튜디오 2013 http://www.microsoft.com/express/download

비주얼스튜디오설치 Express 2013 for Windows Desktop 제품을선택

학습정리 C 컴파일러를다운로드하여컴퓨터에설치한다. C 프로그래밍언어를학습하기위한마음의준비를한다. C가너무복잡하다고걱정할필요는없다. 이책은C 언어를쉽게소화가가능하도록여러조각으로나누었다. 여러분은그저잘따라오면서맛보고즐기면된다!

Q & A

어서와 C 언어는처음이지 제 2 장

첫번째프로그램 짧지만완전한 C 프로그램을살펴보자. #include <stdio.h> int main() { printf(" 코더에게는작은한걸음이지만프로그래머에게는 "); printf(" 거대한도약이다!\n"); return 0; }

프로그램코드입력 프로그램을생성하기위하여 [File] 메뉴를클릭하고 [New] 를선택한다. 다음화면에서 [Empty File] 을선택하여코드를입력한다.

컴파일 파일에위의코드를입력한후에는컴파일해야한다. 컴파일해서실행파일을생성하는것을빌드한다고한다. 화면왼쪽상단의노란색기어모양의 [Build] 아이콘을클릭한다. [Build] 아이콘을클릭하면 Code::Blocks은방금입력한파일을어떤이름으로저장할것인지를먼저물어보는데이때 hello.c라는이름으로저장하자.

실행 [Build] 아이콘오른쪽에있는녹색화살표아이콘을클릭해서프로그램을실행

C 프로그램관찰 많은중괄호 { }, 소괄호 ( ), 백슬래시 (\) 의사용 C 는철자에민감 C 프로그램에서는단어와단어사이에자유롭게공백을넣을수있다. C 에서명령어와함수를입력할때는소문자만을사용해야한다.

함수는프로그램을이루는블록 C 프로그램은여러개의함수로이루어진다 -> 함수는다시여러개의문장들로이루어진다 -> 문장들은순차적으로실행되면서작업을수행한다. 함수

main() 함수 main() 은명령어가아니라함수이다. 함수는하나의작업을수행하는루틴이다. 모든 C 프로그램은항상 main() 함수를포함해야한다. #include <stdio.h> int main() { printf(" 코더에게는작은한걸음이지만프로그래머에게는 "); printf(" 거대한도약이다!\n"); return 0; }

데이터의종류 문자 정수 부동소수점수 ( 실수라고도불린다.)

문자 문자는컴퓨터가표현할수있는하나의글자이다. C의모든문자들은작은따옴표로감싼다. A a 4 % Q! + = ]

문자열 만약한문자이상을지정할필요가있다면큰따옴표를사용해서문자들을감싸면된다. 이것은문자열 (string) 이라고불린다. 다음은 C 문자열이다. C is fun to learn.

숫자 정수 (integer) 가있다. 10 54 0 121 68 752 부동소수점수 (floating-point number) 547.43 0.0 0.44384 9.1923 168.470.22

정수 vs 부동소수점수 정수를사용할것인가아니면부동소수점수를사용할것인가는프로그램이작업하는데이터에달려있다.

마무리예제 /* 문자, 정수, 부동소수점수를사용하는프로그램 */ #include <stdio.h> int main() { printf(" 나는현재 %c 프로그래밍언어를학습하고있다.", 'C'); printf(" 나는지금막 %d장을끝냈다.", 2); printf(" 나는현재 %.1f 퍼센트준비되어있다.", 99.9); printf(" 다음챕터학습을위하여!"); return 0; }

출력결과 나는현재 C 프로그래밍언어를학습하고있다. 나는지금막 2장을끝냈다. 나는현재 99.9 퍼센트준비되어있다. 다음챕터학습을위하여!

Lab 다음과같은실행결과를출력하도록프로그램을작성하여보자. 프로그램에서각종상수값들을 printf() 함수의변환문자를사용하여서출력해본다. 빛의속도는 0.000000km/s입니다. 중력가속도는 9.800000m/s제곱입니다. 나는 20살이고키는 175.500000입니다. 나의이름은김철수입니다. 나는현재 4장까지학습을끝냈습니다. 계속하려면아무키나누르십시오...

Hint 기본적인형식지정자는다음과같은것들이있다.

마무리예제 #include <stdio.h> main() { printf(" 빛의속도는 %fkm/s입니다.", 300000); printf(" 중력가속도는 %fm/s제곱입니다.",9.8); printf(" 나는 %d살이고키는 %f입니다.", 20, 175.5); printf(" 나의이름은 %s입니다."," 김철수 "); printf(" 나는현재 %d장까지학습을끝냈습니다.",4); } return 0;

학습정리 C 함수이름다음에는반드시소괄호를붙여야한다. C 프로그램은여러개의함수로이루어지는데 C 프로그램에서 main() 함수는항상필요하다. C는다른어떤함수들보다 main() 을가장먼저실행한다. 가독성을위하여 C 프로그램에는여분의공백을넣어도된다. 정수가 0이아니면앞에 0을붙이지말자. 문자는반드시작은따옴표로둘러싸야하고문자열은큰따옴표로둘러싸야한다. 정수는소수점을가지지않는수이고부동소수점수는소수점을가진다.

Q & A

어서와 C 언어는처음이지 제 3 장

주석 주석 (comment) 은프로그램에흩어져있는설명글로서프로그램에서도대체어떤것이지금진행되고있는지를설명한다.

주석의종류 주석은 /* 로시작하여서 */ 로종료한다. 주석은여러줄에걸칠수있다. 주석은프로그램안에어디든지들어갈수있다. /* 이것은 2 개의줄에걸치는주석이다.*/ /* 이것은한줄주석이다.*/ for (i=0;i<25;i++)/* 0 에서 25 까지카운트한다.*/

프로그램유지보수 프로그램유지보수 (maintenance) 는숨겨진버그를찾아내어없애고, 바뀌어가는환경에따라거기에맞춰서프로그램을바꾸어가는과정이때주석이있다면, 프로그램을빠르게읽을수있고, 따라서변경해야하는곳을빠르게찾을수있다.

주의사항 주석은 C 명령어가아니다. 컴파일러는프로그램안의모든주석을무시한다. 주석은사람을위한것이고, 주석의외부에있는프로그래밍문장이컴퓨터를위한것이다.

주석을붙인예제 /* C 완전초보자가이드의첫번째코드리스팅 1994 년부터새로운프로그래머들을교육하고있음!*/ /* 딘밀러 */ /* 파일이름 Chapter3ex1.c */ /* 명절선물에들어가는돈의합계 */ #include <stdio.h> main() { int gift1, gift2, gift3, gift4, gift5; /* 비용을저장하는변수들 */ int total; /* 합계를저장하는변수 */ /* 각선물의비용을묻는다.*/ printf(" 엄마를위하여얼마나돈을쓸것인가요?"); scanf(" %d", &gift1);

주석을붙인예제 scanf(" %d", &gift2); printf(" 동생을위하여얼마나돈을쓸것인가요?"); scanf(" %d", &gift3); printf(" 형을위하여얼마나돈을쓸것인가요?"); scanf(" %d", &gift4); printf(" 가장좋아하는 C 프로그래밍저자를 "); printf(" 위하여얼마나돈을쓸것인가요?"); scanf(" %d", &gift5); /* 선물에쓰이는비용의합계를계산한다.*/ total = gift1 + gift2 + gift3 + gift4 + gift5; } printf(" 선물비용의합계는 $%d 입니다.", total); return 0; /* 프로그램을종료한다.*/

여백추가하기 여백 (white space) 은화면상으로는표시되지않지만가독성을위해서는소스코드에추가되는스페이스나빈줄을뜻한다. 여백을이용하여서가독성을높이는것이중요하다. #include <stdio.h> main() { float a, b; printf(" 보너스를얼마나받았습니까?"); scanf(" %f", &a); b =.85 * a; printf(" 만약 15% 를자선단체에기부하더라도당신은아직 %.2f 를가지고있습니다.", b);return 0; }

여백추가하기 #include <stdio.h> main() { float a, b; printf(" 보너스를얼마나받았습니까?"); scanf(" %f", &a); } b =.85 * a; printf(" 만약 15% 를자선단체에기부하더라도당신은 "); printf(" 아직 %.2f 을가지고있습니다.", b); return 0;

주석의두번째형태 // 새로운주석을가지고있는다른예제 #include <stdio.h> main() { printf(" 나는이새로운주석을좋아합니다."); // 간단한문장 }

Lab: 주석을추가해보자 #include <stdio.h> main() { printf(" 빛의속도는 %fkm/s 입니다.", 300000); printf(" 중력가속도는 %fm/s 제곱입니다.", 9.8); printf(" 나는 %d 살이고키는 %f 입니다.", 20, 175.5); printf(" 나의이름은 %s 입니다.", " 김철수 "); printf(" 나는현재 %d 장까지학습을끝냈습니다.", 4); } return 0;

Solution /* * 파일이름 : comment.c * 작성자 : 김철수 * 작성날짜 : 2015.1.10 */ #include <stdio.h> // 해더프로그램포함 main() // 메인프로그램 // 실수는 %f 를사용하여서출력한다. 소수점 6 자리까지출력된다. printf(" 빛의속도는 %fkm/s 입니다.", 300000); // 실수는 %f 를사용하여서출력한다. 소수점 6 자리까지출력된다. printf(" 중력가속도는 %fm/s 제곱입니다.",9.8); // 정수는 %d 를사용하여서출력한다. printf(" 나는 %d 살이고키는 %f 입니다.", 20, 175.5); // 문자열은 %s 를사용하여서출력한다. printf(" 나의이름은 %s 입니다.", " 김철수 "); // 정수는 %d 를사용하여서출력한다. printf(" 나는현재 %d 장까지학습을끝냈습니다.",4); return 0;

학습정리 프로그래밍의 3가지규칙은주석, 주석, 주석이다. 많은주석으로코드를명확히하자. 여러줄주석에는 /* 로시작하여 */ 로종료되는주석을사용한다. /* 와 */ 사이의모든것은주석으로취급된다. 한줄주석에는 // 을사용할수있다. C는그지점부터줄의끝까지를주석으로취급한다. 여백과줄바꿈, 들여쓰기를이용하여서프로그램을읽기쉽게만든다.

Q & A