PowerPoint 프레젠테이션

Size: px
Start display at page:

Download "PowerPoint 프레젠테이션"

Transcription

1 Chapter 13 렉스와야크

2 01 렉스와야크 02 렉스와야크의입력파일형식 03 플렉스와바이슨설치방법 04 플렉스사용법 05 바이슨사용법

3 렉스와야크의개념에대해이해할수있다. 렉스의입력파일형식과야크의입력파일형식에대해이해할수있다. 플렉스와바이슨의설치방법에대해이해할수있다. 플렉스사용법에대해이해할수있다. 바이슨사용법에대해이해할수있다.

4 13.1 렉스와야크 프로그래밍언어와컴퓨터구조가다양해짐에따라 n 개의언어를 m 개의기계에구현하려면 n m 개의컴파일러가필요 그런데하나의컴파일러를만들때에도많은시간과노력이들기때문에컴파일러를만드는데도움을주는시스템이필요. 이러한시스템을컴파일러자동화도구라하고컴파일러 - 컴파일러 (compiler-compiler) 또는컴파일러생성기 (compiler generator) 라일컫는다. 어떤입력을주면출력으로컴파일러를자동으로생성해주는컴파일러 - 컴파일러 : PQCC(Production-Quality Compiler Compiler) 팀과 ACK(Amsterdam Compiler Kit) 팀에의해만들려고시도했으나만족할만한결과를얻지는못함. 반면에어휘분석, 구문분석, 코드생성등컴파일러의한단계 (phase) 를자동으로생성해주는번역기제작시스템 (translator writing system) 은실제로제작되었다. 이가운데가장성공적인도구는유닉스 (UNIX) 시스템에서사용되는렉스 (Lex) 와야크 (YACC, Yet Another Compiler Compiler) 이다. 4

5 13.1 렉스와야크 렉스 : 렉스는어휘분석기를자동으로생성해주는어휘분석기생성기 (scanner generator) 1975 년벨연구소의레스크 (Richard Mike Lesk) 와슈미트 (Eric Emerson Schmidt) 가개발 렉스는사용자가정의한토큰에대한표현인정규표현과수행코드를입력받아일반범용언어인 C 로작성된어휘분석기를출력 어휘분석기는입력프로그램에서정규표현에해당하는토큰을찾았을때, 거기에결합된수행코드를수행하여토큰을구분해내는일을한다. 5

6 13.1 렉스와야크 현재사용하고있는 C 언어에서식별자를구분하기위한어휘분석기를만들고싶다 가장먼저해야할일은렉스의입력을만드는것 - 입력형태는 2 절에서자세히설명 식별자에대해서첫자는영문소문자 대문자또는밑줄문자로시작하고, 둘째자부터영문소문자 대문자, 숫자및밑줄문자가온다. 식별자의길이에제한이없다고하면다음과같이간단하게렉스의입력을작성할수있다. Letter [a-za-z_] Digit [0-9] Ident {Letter}({Letter} {Digit})* 이문법을렉스의서술형태에맞게작성하고확장자는 ~.l 로저장 그다음렉스를불러서실행하면출력이생성되는데 lex.yy.c 가어휘분석기 이어휘분석기는 C 언어로작성된프로그램이므로, 실행하기위해컴파일을하고실행하면서테스트프로그램을주면어휘분석기가테스트프로그램에서식별자를구분해낼것이다. 6

7 13.1 렉스와야크 야크 : 야크는구문분석기를자동으로생성해주는구문분석기생성기 (parser generator) 1975 년벨연구소의존슨 (Steve Johnson) 이주축이되어개발한 LALR(1) 구문분석기생성기로, 문법규칙에대한수행코드를 C 언어로기술하도록만들어졌다. [ 그림 13-2] 에야크의역할을나타냈다. 7

8 13.1 렉스와야크 야크를사용하려면야크에대한입력을작성해야한다. 문법을야크의형태에맞게서술하고, 확장자는 ~.y 로저장 그런다음야크를불러실행하면출력이생성된다. 출력중에 y.tab.c 가구문분석기인데, 구문분석기는파싱표와수행코드로구성되고 C 언어로작성되어있다. 따라서컴파일하고테스트프로그램을입력으로주면문법에맞는문장인지아닌지를알려줄것이다. 이구문분석기는 LR 파서이다. 8

9 13.2 렉스와야크의입력파일형식 렉스의입력파일형식 렉스는 [ 그림 13-1] 과같이렉스의입력을먼저작성하며입력프로그램은파일확장자가 ~.l 이어야한다. 렉스의입력은다음과같이정의부분 (definition part), 변환규칙부분 (translation rules part), 사용자부프로그램부분 (user subprogram part) 으로구성된다. 각부분은 %% 로구분된다. 정의부분과사용자부프로그램부분은생략할수있지만변환규칙부분은생략이불가능하다. 9

10 13.2 렉스와야크의입력파일형식 정의부분은이름과일련의표현식으로구성되는데, 이름이식별자이고표현식은이름에해당하는정규표현이다. 변환규칙부분은표현식과일련의수행코드로구성된다. 이때표현식은정규표현으로나타내고, 수행코드는표현식을나타낸정규표현과매칭되었을때수행될일련의코드로서 C 언어로작성된다. 사용자부프로그램부분에서는토큰에대한기호표처리루틴 (symbol table handling routine) 등과같이변환규칙부분에서사용되는부프로그램이사용자에의해작성된다. 정의부분은자료구조나변수및상수에대한정의를포함하며, 내용을 %{ 와 %} 사이에기술하면렉스가생성하는 lex.yy.c 의앞부분에그대로삽입된다. 그러나 %{ %} 의외부에서코멘트를사용할때는반드시하나이상의화이트스페이스 (white space)( 스페이스, 탭, 줄바꿈문자 (new line) 등화면상에는나타나지않는문자 ) 로행이시작되어야한다. 10

11 13.2 렉스와야크의입력파일형식 정의부분은다음과같이구성된다. 11

12 13.2 렉스와야크의입력파일형식 변환규칙부분은정규표현과수행코드의쌍으로구성된다. 변환규칙부분의구성은다음과같다. 여기서 %% 는정의부분과변환규칙부분을구분하는구분자이다. 그리고규칙 n 은인식하고자하는토큰을나타내는정규표현이고, 수행 n 은토큰이인식되었을때어휘분석기가처리할수행코드이다. 12

13 13.2 렉스와야크의입력파일형식 [ 예제 13-1] 렉스의입력으로식별자를정의하고식별자가나타나면토큰값리턴하기 렉스의입력으로식별자를정의하고, 식별자가나타나면식별자에대한토큰값을리턴하는입력을작성해보자. 단, 식별자는 C 언어에대한식별자이다. [ 풀이 ] Letter [a-za-z_] Digit [0-9] %% {Letter}({Letter} {Digit})* return tident [ 예제 13-2] 변환규칙부분작성하기 입력문자열에서숫자를만나면 found integer number 를출력하는변환규칙부분을작성해보자. [ 풀이 ] [0-9]+ printf( found integer number\n ); 13

14 13.2 렉스와야크의입력파일형식 변환규칙부분에서토큰을표현하려면정규표현으로패턴을정의해야하는데, 정규표현에는 [ 표 13-1] 과같은메타기호를사용한다. 14

15 13.2 렉스와야크의입력파일형식 다음은메타기호를이용하여자주사용되는예이다. a * b : 문자열 a*b 를나타낸다. 문자열 a*b 는정규표현 a*b 와같다. a\*b : 문자열 a*b 를나타내는정규표현이다. [abc] : a, b, c 중의한문자를나타낸다. [a-z] : 문자 a 부터 z 중하나, 즉소문자를나타낸다. [0-9] : 숫자 0 부터 9 중하나, 즉범위를나타낸다. [^+] : + 를제외한모든문자, 즉여집합을나타낸다. [\t\n] : 공백, 탭, 줄바꿈문자중의하나를나타낸다. [a-za-z][a-za-z0-9]* : 첫자는영문자이고둘째자부터영문자나숫자로구성된문자열이다. a+ : 문자 a 가한번이상반복되는것을나타낸다. ab c : ab 혹은 c 를나타낸다. ^ab : 행의시작에문자열 ab 가나타나는경우에만토큰으로 ab 를처리한다. ab$ : 행의끝에문자열 ab 가나타나는경우에만토큰으로 ab 를처리한다. ab/cd : ab 다음에 cd 가이어서나타날때만 ab 가토큰으로처리된다. 15

16 13.2 렉스와야크의입력파일형식 렉스입력의마지막인사용자부프로그램부분은렉스에서사용될부프로그램을정의하는부분으로렉스에서어떤처리없이그대로렉스의출력인 lex.yy.c 에복사된다. 렉스에서는여러정보를제공하고복잡한기능을수행할수있도록하기위해다양한함수와전역변수를제공한다. 이러한함수와전역변수는 [ 표 13-2] 와같다. 16

17 13.2 렉스와야크의입력파일형식 토큰값이필요한경우에변수 yytext 의내용을사용하여해결할수있다. 예를들어매칭된문자열을출력할때다음과같이작성한다. [a-z]+ printf( %s, yytext); 이것은입력에서소문자로이뤄진단어를찾으면그단어를 yytext 에저장하고그내용을그대로출력하라는의미이다. 이와동일한기능을하는렉스의함수로 ECHO 가있는데, 다음과같이작성하면똑같은결과를얻을수있다, [a-z]+ ECHO; yytext[yyleng-1] 이라고하면매칭된문자열의마지막문자를출력한다. 렉스의출력인 lex.yy.c 에는스캐너역할을하는함수 yylex( ) 가포함되어있다. 이함수는렉스의입력에서명시한정규표현과일치하는토큰을찾을때까지한문자씩계속읽어들인다. 그리고토큰이매칭되면해당정규표현과결합된수행코드가실행되고, 함수 yylex( ) 의복귀값 return value 이바로토큰번호에해당된다. 또한 yylex( ) 를호출한함수가토큰값을요구할때는외부변수 yytext 의내용을복사하여필요로하는함수에전달한다. 함수 yylex( ) 는입력파일의끝에도달할때까지토큰을생성한다. 파일의끝에도달하면 yylex( ) 는함수 yywrap( ) 를호출한후 0 으로복귀한다. 그러므로모든토큰을처리한후실행할일이더있는경우 yywrap( ) 내에서처리하면된다. 17

18 13.2 렉스와야크의입력파일형식 야크의입력파일형식 야크의입력은문법규칙과각규칙에대한수행코드이며다음과같이선언부분 (declation part), 변환규칙부분 (translation rules part), 사용자프로그램부분 (user program part) 으로구성된다. 각부분은 %% 로구분되는데, % 기호는야크의표현에서에스케이프 (escape) 문자로사용된다. 선언부분은생략할수있으며, 만약사용자프로그램부분이생략되는경우두번째 %% 기호도생략가능하다. 선언부분에서는문법규칙의토큰에대해선언하고변환규칙부분과프로그램부분에서사용될임시변수에대해선언한다. 18

19 13.2 렉스와야크의입력파일형식 시작기호는다음과같이정의한다. %start %{ 와 %} 사이에내용을기술하며, 어휘분석기에서반환되는모든토큰에대한정의를 %token 으로정의한다. 관례적으로모든토큰의이름은대문자로하고토큰이외의다른이름은소문자로한다. 변환규칙부분에서는문법의규칙을정의한다. 변환규칙부분에대한표현은일련의문법규칙으로구성되고, 각규칙은왼쪽부분 (left hand side) 과몸체 (body) 의형태를취한다. 여기서왼쪽부분은논터미널의이름이고, 몸체는문법규칙의오른쪽부분에나오는기호로이름이나상수문자가될수있다. 야크의각규칙에대한수행코드는 C 언어로기술되며, 수행코드는각규칙이감축될때실행된다. 사용자프로그램부분은야크를보조하는 C 루틴으로서오류처리루틴등이첨가된다. 19

20 13.2 렉스와야크의입력파일형식 [ 예제 13-3] 규칙을야크로표현하기 BNF로표현된규칙을야크로표현해보자. <expr> ::= <expr> + <term> [ 풀이 ] 이를야크로표현하면다음과같다. expr : expr + term 사용자는각생성규칙및그생성규칙이파서에의해인식되었을때호출되는수행코드를작성해야한다. 생성규칙에해당하는수행코드를작성해보자. expr : expr + term { printf( addition expr detected \n );}; 야크에서는생성규칙에있는문법기호에대한값을정의할수있도록의사변수 (pseudo variable) 를제공한다. 변수 $1 과 $2 는각각오른쪽부분의첫번째기호와두번째기호의값을의미한다. 생성규칙의왼쪽부분에있는기호는의사변수 $$ 로치환문을통해다른문법규칙에값을전달한다. 다음은의사변수를사용하여수행코드를기술한예이다. expr : expr + term {$$ = $1 + $3} expr - term {$$ = $1 - $3} 20

21 13.2 렉스와야크의입력파일형식 5 장과 6 장에서모호한문법에대한해결방법을다루었는데, 6 장에서는모호한문법을사용하여파싱표에서충돌이발생했을때그충돌을우선순위와결합법칙을이용해서해결했다. 같은방법으로모호한문법에대해야크를통해파싱표를만든다고해도충돌이발생한다. 이를해결하기위해야크에서는우선순위를제공하는데가장낮은우선순위인터미널부터정의하며, 왼쪽결합법칙인경우에는 LEFT 로표기하고오른쪽결합법칙인경우에는 RIGHT 로표기한다. [ 예제 13-4] 야크의입력에서연산순서알아보기 다음과같은야크의입력을보고식 a = c * d - e + f / g 에대한연산순서를알아보자. %right = %left + - %left * / %% expr : expr = expr expr + expr expr - expr expr * expr expr / expr 21

22 13.2 렉스와야크의입력파일형식 [ 풀이 ] 식 a = c * d - e + f / g 에대한야크의입력을보면연산자우선순위는 = < +, - < *, / 의순이며, = 은오른쪽결합법칙을취하고 +, -, *, / 는왼쪽결합법칙을취한다. 그러므로괄호를이용하여표기하면다음과같다. (a = (((c * d) - e) + (f / g))) 22

23 13.3 플렉스와바이슨설치방법 렉스와야크는유닉스시스템의유틸리티로개발되었고, 유용성이확인되면서선의솔라리스나리눅스와같은유닉스계열의운영체제를비롯해마이크로소프트의윈도등다른운영체제에도이식되어사용되었다. 리눅스와같은운영체제의경우렉스와야크의 GNU(Gnu s Not Unix) 버전인플렉스 (Flex) 와바이슨 (Bison) 을사용할수있다. 윈도에서는 PCLex와 PCYacc도사용되지만현재사용하는방법중유닉스계열운영체제와가장유사하게사용할수있는것은역시플렉스와바이슨이다. 윈도상에서시그윈 (Cygwin) 시스템과같이유닉스계열운영체제와유사한환경을사용한다면처음설치할때플렉스와바이슨을선택하여사용하는것이좋다. 만약시그윈시스템과같이유닉스계열운영체제와유사한환경전체의설치가필요없는경우에는 GNU C 컴파일러 (gcc) 와플렉스, 바이슨만을윈도에설치하면된다. 다음과같은순서로윈도에 GNU C 컴파일러 (gcc) 와플렉스, 바이슨을설치한다. 단, GNU C 컴파일러, 플렉스, 바이슨의설치순서는바뀌어도무관하다. 23

24 13.3 플렉스와바이슨설치방법 1 GNU C 컴파일러를설치한다. GNU C 컴파일러를설치하는방법중하나는무료 C/C++ 프로그램용통합개발환경 (IDE) 인블러드셰드 (Bloodshed) 사의 Dev-C++ 를설치하는것이다 ( 에서내려받는다 ). 원래 Dev-C++ 는 GNU C 컴파일러를기본으로하여그위에사용자편의를위한통합개발환경인터페이스를덮어씌운것이다. Dev-C++ 를설치할때는설치폴더에이르기까지경로명에공백이없어야한다. 설치가끝나면그디렉터리아래에 bin 이라는하위디렉터리가만들어지고, 그안에 GNU C 컴파일러 (gcc.exe) 와 C++ 컴파일러 (g++.exe) 가설치된다. 2 플렉스와바이슨을설치한다. 플렉스는 에서내려받아설치한다. 설치는매우간단하다. Dev-C++ 와마찬가지로경로명에공백이없도록해야하며보통은 C:\GnuWin32 에설치한다. 바이슨은 에서내려받아같은방법으로설치한다. 역시경로명에공백이없도록해야하며, 일반적으로플렉스와함께 C:\GnuWin32 에설치한다. 24

25 13.3 플렉스와바이슨설치방법 3 시스템속성에서환경변수중 PATH 변수의값에경로를추가한다. GNU C 컴파일러, 플렉스, 바이슨의설치를마치면시스템속성에서환경시스템의환경변수중 PATH 변수의값에 GNU C 컴파일러와플렉스, 바이슨의실행파일이있는경로를추가한다. 예를들어 PATH 변수가있으면 C:\Dev-Cpp\bin; C:\GnuWin32\bin 을추가하고, PATH 변수가없다면새롭게등록한다. 4 제대로설치되었는지확인한다. GNU C 컴파일러와플렉스, 바이슨이제대로설치되었는지확인하기위해명령프롬프트창을연다. 명령프롬프트는 [ 모든프로그램 ] [ 보조프로그램 ] [ 명령프롬프트 ] 메뉴를선택하여실행하거나실행창에서 cmd.exe 를입력하여바로실행시킨다. 이창에서 flex-version 을입력하여설치된플렉스의버전을확인하고, bison-version 을입력하여설치된바이슨의버전을확인한다. 마지막으로 gcc-version 을입력하여설치된 GNU C 컴파일러의버전을확인한다. 이과정에서버전이모두나타난다면문제없이제대로깔린것이다. 25

26 13.3 플렉스와바이슨설치방법 5 플렉스와바이슨이필요로하는라이브러리파일을 GNU C 컴파일러디렉터리에복사 한다. 마지막으로플렉스와바이슨이필요로하는라이브러리파일을 GNU C 컴파일러디렉터리에복사한다. 플렉스와바이슨이설치된디렉터리인 C:\GnuWin32 에는여러하위디렉터리가있다. 그중 lib 속에 libfl.a 와 liby.a 가포함되어있는데이것들은각각플렉스와바이슨의라이브러리아카이브 (archive) 파일이다. 이것들을 GNU C 컴파일러의라이브러리디렉터리인 C:\Dev-Cpp\lib 에복사한다. 플렉스입력파일의이름을확장자가 l 인 test.l 이라하고바이슨입력파일의이름을확장자가 y 인 test.y 라고하면플렉스와바이슨을사용하는일반적인형태는다음과같다. C:\Users\ex> flex test.l C:\Users\ex> bison test.y 26

27 13.4 플렉스사용법 [ 예제 13-5] 플렉스를이용하여글자개수, 단어개수, 문장개수를계산하는어휘분석기 플렉스를이용하여글자의개수 ( 빈칸도하나의글자로계산 ), 단어의개수, 문장의개수를계산하는어휘분석기를만들어보자. [ 풀이 ] 1. 플렉스의입력파일을만든다. 입력파일의이름은 WordCount.l 이라고하자. %{ /* word count */ unsigned charcount=0, wordcount=0, linecount=1; %} word [^ \t\n]+ eol \n %% {word} {wordcount++; charcount+=yyleng; printf("word : %s\n", yytext);} {eol} {charcount++; linecount++;}. charcount++; %% main() { yylex(); printf("number of character : %d \n", charcount); printf("number of word : %d \n", wordcount); printf("number of line %d \n", linecount); } 27

28 13.4 플렉스사용법 2. 실행순서 실행하고자하는테스트파일은다음과같은 datafile2.txt 이다. The token descriptions that lex uses are known as regular expressions, extended versions of the familiar patterns used by the grep and egrep commands. A lex lexer is almost always faster than a lexer that you might write in C by hand. 맨먼저다음을실행한다. C:\ > flex WordCount.l C:\ > gcc -o WordCount lex.yy.c -lfl C:\ > WordCount < datafile2.txt 3. 실행결과 다음도스화면은실행순서와실행결과를보여주는데 235 개의문자, 42 개의단어, 1 개의행이나타난다. 28

29 13.4 플렉스사용법 29

30 13.5 바이슨사용법 [ 예제 13-7] 플렉스와바이슨을이용하여파싱표와구문분석기만들기 다음문법에대해바이슨을이용하여 SLR 파싱표와구문분석기를만들어보자. 이문법은 [ 예제 6-30] 에서 SLR 방법으로, [ 예제 6-34] 에서 CLR 방법으로, [ 예제 6-38] 에서 LALR 방법으로파싱표를만들었다. S L = R S R L *R L id R L [ 풀이 ] 1. 플렉스입력파일작성 ( 파일명 : TT.L) %{ #include "y.tab.h %} letter [A-Za-z] digit [0-9] id {letter}({letter} {digit})* %% /* 토큰정의규칙 */ "=" return(yytext[0]); "*" return(yytext[0]); {id} return(id); 30

31 13.5 바이슨사용법 2. 바이슨입력파일작성 ( 파일명 : TT.Y) %{ %} %token ID %% S:L '=' R R; L:'*'R ID; R:L; %% main() { if(yyparse()==0) { printf("the Parsing Complete \n"); } else { printf("syntax error \n"); } } 31

32 13.5 바이슨사용법 3 실행순서 C:\ > flex tt.l /* lex.yy.c 어휘분석기생성과정 */ C:\ > bison -yd -v tt.y C:\ > gcc -o tt lex.yy.c y.tab.c -lfl ly 32

33 13.5 바이슨사용법 4. 파싱표 33

34 13.5 바이슨사용법 34

3장 어휘분석

3장 어휘분석 Video & Image VIPL Processing Lab. Compiler Construction 한국방송통신대학교컴퓨터과학과출석수업 제 2012-2 공학박사김명진 (HCI & 지능형로봇연구소 ) 숭실대학교연구교수 컴파일러교재구성 2장 : 형식언어와오토마타 3장 : 어휘분석 4장 : Contex-free 언어와푸시다운오토마타 5장 : 구문분석 2 어휘분석

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

lex-yacc-tutorial.hwp

lex-yacc-tutorial.hwp 컴파일러 구성을 위한 대표적 소프트웨어 도구인 Lex(또는 Flex)와 Yacc(또는 Bison) 입문: Windows 환경에서 김도형(성신여자대학교 IT학부) 0. 소개 (1) Lex와 Yacc은 무엇인가? 컴파일러의 구성을 도와주는 대표적인 소프트웨어 도구들이다. 원래 UNIX의 산실인 벨 연구소(AT&T Bell Laboratories)에서 UNIX 시스템의

More information

商用

商用 商用 %{ /* * line numbering 1 */ int lineno = 1 % \n { lineno++ ECHO ^.*$ printf("%d\t%s", lineno, yytext) $ lex ln1.l $ gcc -o ln1 lex.yy.c -ll day := (1461*y) div 4 + (153*m+2) div 5 + d if a then c :=

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

자연언어처리

자연언어처리 제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List

More information

EA0015: 컴파일러

EA0015: 컴파일러 4 Flex 무엇을공부하나? " 어휘분석기 (lexical analyzer 혹은 scanner)" 는다음과같은과정을거쳐서프로그램된다. 1 토큰정의, 2 정규식으로표현, 3 NFA로변환, 4 DFA로변환, 5 프로그램작성 위과정은앞장에서배운바와같이기계적으로이루어질수있다. "Flex(Fast Lexical Analyzer)" 는컴파일러개발자를위하여위과정을자동으로처리해주는도구이다.

More information

PowerPoint Presentation

PowerPoint Presentation Lecture 01: Compiler Overview Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2019 강의정보 교과목명 : 컴파일러 개설학과 : 컴퓨터공학과 4학년 학점및시수 : 3학점 3시간 강의시간 :

More information

(3) Windows 운영체제에 GNU C 컴파일러와 Flex, Bison 설치하기 적용된 Windows 운영체제는 32비트용 Windows 7이나, 다른버전에서도유사할것으로본다. 먼저 GNU C 컴파일러를설치한다. 이것을설치하는편한방법중하나가유명한무료 C/C++ 프로

(3) Windows 운영체제에 GNU C 컴파일러와 Flex, Bison 설치하기 적용된 Windows 운영체제는 32비트용 Windows 7이나, 다른버전에서도유사할것으로본다. 먼저 GNU C 컴파일러를설치한다. 이것을설치하는편한방법중하나가유명한무료 C/C++ 프로 컴파일러구성을위한대표적소프트웨어도구인 Lex( 또는 Flex) 와 Yacc( 또는 Bison) 입문 : Windows 환경에서 김도형 ( 성신여자대학교 IT 학부 ) 0. 소개 (1) Lex 와 Yacc 은무엇인가? 컴파일러의구성을도와주는대표적인소프트웨어도구들이다. 원래 UNIX의산실인벨연구소 (AT&T Bell Laboratories) 에서 UNIX 시스템의유틸리티

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

슬라이드 1

슬라이드 1 3 장. 선행자료 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2019-1 st 프로그래밍입문 (1) 2 목차 1.1 문자와어휘원소 1.2 구문법칙 1.3 주석 1.4 키워드 (Keyword) 1.5 식별자 (Identifier) 1.6 상수 (Integer,

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4> 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 통합개발환경 통합개발환경 (IDE: integrated development environment) 에디터 + 컴파일러 + 디버거 Visual C++: 이클립스 (eclipse): Dev-C++: 마이크로소프트제작 오픈소스프로젝트 오픈소스프로젝트 통합개발환경의종류 비주얼 C++(Visual C++)

More information

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

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

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

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.

More information

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

C 언어와 프로그래밍 개요

C 언어와 프로그래밍 개요 2019-1 st 프로그래밍입문 (1) 2 장. C 프로그램기본 박종혁교수 서울과학기술대학교컴퓨터공학과 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 주석 (Comment)

More information

슬라이드 1

슬라이드 1 2 장. 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2018-1 st 프로그래밍입문 (1) 2 목차 2.1 문자와어휘원소 2.2 구문법칙 2.3 주석 2.4 키워드 (Keyword) 2.5 식별자 (Identifier) 2.6 상수 (Integer,

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

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

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - Regular Expresssions.ppt

Microsoft PowerPoint - Regular Expresssions.ppt Oracle Regular Expressions 완전정복 오동규수석컨설턴트 1 오라클정규식이란? 강력한 Text 분석도구로서 Like 의한계를극복함. 유닉스의정규식과같음. Pattern-Matching-Rule 다양한메타문자제공. 2 Regular Expressions 정규식기본 Syntax. 함수사용법. 정규식고급 Syntax. 11g New Features

More information

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

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

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 C 언어개요 Jo, Heeseung 이장의내용 C 언어소개간단한 C 프로그램명령줄프로그래밍 C 프로그램의이해 2 C 언어소개 C 언어유래 1972 년 Dennis Ritchie 가설계함 UNIX 운영체제개발에사용됨 C 언어에직접영향을준언어들 Algol CPL BCPL B C C 언어의특징 구조화된언어로서모듈별설계가가능 높은이식성 - 다양한하드웨어에서사용가능

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W Research & Technique Apache Tomcat RCE 취약점 (CVE-2019-0232) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE-2019-0232 취약점은 Windows 시스템의 Apache Tomcat 서버에서 enablecmdlinearguments

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 02 간단한컴파일러의구조 01 컴파일러의논리적구조 02 컴파일러의물리적구조 컴파일러의논리적구조를이해할수있다. 간단한컴파일러의예를통하여컴파일러의전체구조를이해할수있다. 컴파일러의물리적구조를이해할수있다. 영어를한글로번역 4 문장이어떤요소로구성되어있는지파악하기위해문장에사용된단어를검사. 그래서이문장에는 I, am, a, boy 라는네가지단어가사용된것을알아내는데이를어휘분석이라한다.

More information

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

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 : ios 3.0 이상 - 콘텐츠형식 : MP4 (H264,AAC ), MP3 * 디바이스별해상도,

More information

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - chap-02.pptx 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

1. 27 (token descriptions) (regular expressions), grep egrep.. C. 1),., C (expressions), (statements), (declarations), (blocks) (procedures). (parsing

1. 27 (token descriptions) (regular expressions), grep egrep.. C. 1),., C (expressions), (statements), (declarations), (blocks) (procedures). (parsing (lex) (yacc). (object code) C. (unit).. C,,,,. ( ) (lexical analysis) (lexing). C (routine). (lexical analyzer) (lexer) (scanner). (lex specification). 1. 27 (token descriptions) (regular expressions),

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 UNIX 및실습 7 장. 파일과디렉토리검색하기 1 학습목표 파일의내용을검색하는방법을익힌다. 조건에맞는파일과디렉토리를찾는방법을익힌다. 명령이있는위치를찾는방법을익힌다. 2 01. 파일내용검색 - grep global regular expression print 지정한파일에특정문자열 ( 패턴 ) 이들어있는지검색 패턴 문자, 문자열, 문장, 정규표현식 (regular

More information

Microsoft PowerPoint - 제5장-스택의응용.pptx

Microsoft PowerPoint - 제5장-스택의응용.pptx 제 5 강의. 스택과큐의응용 학습목차 1. 후위표기법 2. 스택을이용한후위표기법변환 3. 스택을이용한후위표기법의계산 1 1. 후위표기법 ( 정의 ) 후위표기법 (postfix notation) : 후위표기법은연산자를피연산자의뒤에놓는방법이다. 스택의응용의예이며수식의계산은계산기에서나컴퓨터프로그래밍을할때자주나타난다. x = a/b-c+d*e-a*c 다음의수식을사람이계산한다고할때계산하는과정을살펴보자.

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070> /* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

Microsoft PowerPoint - chap-02.pptx

Microsoft PowerPoint - chap-02.pptx 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 컴퓨터프로그래밍기초 프로그램작성과정 에디터 (editer) 컴파일러 (compiler) 링커 (linker) 로더 (loader) 소스파일 test.c 오브젝트파일 test.obj 실행파일 test.exe 통합개발환경 (IDE) 컴퓨터프로그래밍기초 2 프로그램작성단계 편집 (edit) 에디터를이용하여원하는작업의내용을기술하여소스코드작성

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

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

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap06-5 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.

More information

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

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

More information

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt AMESim Install Routine and License Manager Tel : +82-31-608-0434 Fax : +82-31-608-0439 E-mail :support@shinho-systems.co.kr http://www.shinho-systems.co.kr Ssangyong IT Twin Tower 702, Sandaewon-dong,

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

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

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

ABC 2장

ABC 2장 3 장 C 프로그램을이루는구성요소 김명호 내용 주석문 토큰 키워드 식별자 상수 문자열상수 구두자 1 구문 Syntax 올바른프로그램을만들수있게하는규칙 컴파일러 C 프로그램이구문에맞는지검사 오류가있다면, 오류메시지출력 오류가없다면, 목적코드생성 전처리기 컴파일러이전에호출 2 컴파일러 컴파일과정 C 프로그램 토큰으로분리 토큰을목적코드로변환 토큰종류 : 키워드,

More information

Keil Flexlm 라이선스 설명서

Keil Flexlm 라이선스 설명서 Copyright 2013 EMThink. All rights reserved. Date: 13 年 8 月 14 日 목차 라이선스서버의 HOSTID 찾기...3 라이선스파일만들기...5 라이선스서버프로그램다운로드하기...5 라이선스서버프로그램설치하기...6 라이선스파일수정하기...6 라이선스서버프로그램시작하기...7 라이선스서버프로그램종료하기...9 Page

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 20 장패키지 이번장에서학습할내용 패키지의개념 패키지로묶는방법 패키지사용 기본패키지 유틸리티패키지 패키지는연관된클래스들을묶는기법입니다. 패키지란? 패키지 (package) : 클래스들을묶은것 자바라이브러리도패키지로구성 ( 예 ) java.net 패키지 네트워크관련라이브러리 그림 20-1. 패키지의개념 예제 패키지생성하기 Q: 만약패키지문을사용하지않은경우에는어떻게되는가?

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

경우생략이가능하다 첫번째절은정의절 (definition section) 이라하며최종프로그램에포함하고자하는 C 프로그램의내용을삽입하는기능을담당한다. 선언 (declaration) 이나정의 (definition) 가포함된다. 그러나최종파일안에반드시포함되어야하는헤더파일이존재

경우생략이가능하다 첫번째절은정의절 (definition section) 이라하며최종프로그램에포함하고자하는 C 프로그램의내용을삽입하는기능을담당한다. 선언 (declaration) 이나정의 (definition) 가포함된다. 그러나최종파일안에반드시포함되어야하는헤더파일이존재 LEX 와 YACC 작성자 : americanojh E-MAIL : americano@korea.ac.kr 1. LEX 가. LEx 소개컴파일러구성을도와주는대표적인소프트웨어도구로써일정한구조에따라입력된내용을변환하는프로그램을만드는데유용하게쓰인다. 입력파일에서일정한패턴을찾아내는간단한텍스트검색프로그램에서소스프로그램을최적화된목적코드 (object code) 로변형하는

More information

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

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

슬라이드 1

슬라이드 1 1 장. C 의개요 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2017-1 st 프로그래밍입문 (1) 2 C 의개요 C-Language 란? 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 구조적인언어, 강력한기능,

More information

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

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 15 고급프로그램을 만들기위한 C... 1. main( ) 함수의숨겨진이야기 2. 헤더파일 3. 전처리문과예약어 1. main( ) 함수의숨겨진이야기 main( ) 함수의매개변수 [ 기본 14-1] main( ) 함수에매개변수를사용한예 1 01 #include 02 03 int main(int argc, char* argv[])

More information

Microsoft PowerPoint UNIX Shell.ppt

Microsoft PowerPoint UNIX Shell.ppt 컴퓨터특강 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 Shell? Shell이란명령어해석기 (Command Processor or Command Interpreter): 사용자가입력하는명령을읽고해석하는프로그램프로그래밍언어 : Shell이해석할수있는스크립트 (shell script) 라는프로그램을작성유닉스를사용하는데있어주요한인터페이스 Page 2 1 Shell

More information

@ p a g e c o n te n tt y p e = " te x t/ h tm l;c h a rs e t= u tf- 8 " fo r (in t i= 0 ; i< = 1 0 ; i+ + ) { o u t.p rin tln (" H e llo W o rld " + i + " < b r/> " ); = re s u lt + re s u lts u m ()

More information

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer 개발환경구축 부산대학교정보컴퓨터공학부 김종덕 (kimjd@pusan.ac.kr) 강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Reference의준비

More information

PowerPoint Presentation

PowerPoint Presentation 5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap-03.pptx 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 컴퓨터프로그래밍기초 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C프로그램을이루는구성요소들을살펴봅니다. 컴퓨터프로그래밍기초 2 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (I) Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17 Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

KNK_C02_form_IO_kor

KNK_C02_form_IO_kor Formatted Input/Output adopted from KNK C Programming : A Modern Approach The printf Function (1/3) printf 함수는출력될문자열과해당문자열에포함되어야할값들로구성되어있음 printf(format_string, expr1, expr2, ); 출력될문자열은일반글자들과 % 로시작되는형식지정자가포함될수있음

More information