C 언어기초[040913]_C의 개요.hwp

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "C 언어기초[040913]_C의 개요.hwp"

Transcription

1 1. C 의개요 이장에서는 C 언어로작성된프로그램의구성요소와형식들에대하여간단히설명한 다. 프로그램을이루는구성요소들은상호간에아주밀접한관계를맺고있어프로그램동 작에영향을미칠수있다. 먼저 C 언어의핵심적인몇가지특징들의이해를위하여간략 히설명한다 C 프로그램의구성요소및특징 - 프로그램의구조 C 프로그램은아래 List 1-1 의구조을갖는다. #include <HeaderFileName> #include HeaderFileName 외부변수의선언 ; -----> semicolon(;) 은문자의끝을알림 main() -----> main 함수의시작 ( 프로그램시작 ) 내부변수의선언 ; statement sequence; -----> 함수내의문장들 ( 실행문 ) function_name( 변수들 ); -----> 함수의실행 ( 부프로그램실행 ) -----> main 함수의끝 ( 프로그램종료 ) function-name( 인수들 ) -----> 함수이름 ( semicolon 을붙이지않음 ) -----> 함수의시작 내부인수의선언 ; -----> 선언문 statement sequence;-----> 함수내의문장들 ( 실행문 ) -----> 함수의끝 < List 1-1 > C 프로그램의구조

2 List 1-1 의 C 프로그램에서보는바와같이프로그램은 1 개이상의함수 (function) 로구성되 며, 각함수는 1 개이상의문장 (statement) 으로이루어진다. 함수는이름을갖고있으며 프로그램의다른부분에서호출될수있다. 그러나 main() 함수는프로그램내에서단한번 만호출이되어야하며다른함수는부프로그램의역할을수행한다. 즉 C 프로그램은 List 1-1 에서보는바와같이함수 main() 의 으로프로그램의시작을 으로프로그램의끝 을나타내고, 문장들은 과 내에포함되어야한다. 또한 C 언어의문장은 ; ( 세미콜론 ) 으로끝나며, 한줄에두개이상의문장을쓸수있다. 문장에서사용되어지는변수, 상 수등등의선언과관계되어지는것은문장이쓰여지기전에선언되어야한다. 이러한변수 의선언은함수내의선언과함수밗의선언이구별되어진다. 이것은변수의사용영역의 유효범위를나타낸다. 즉일반적인변수는함수 main() 밗에서선언될경우는프로그램의 어느곳에서나사용이가능하고함수 main() 그리고부프로그램으로서의함수내에서선언될 경우는불리어진함수내에서만선언된변수는사용이가능하다. 상수, 데이터형, 그리고 함수의이름들은영어대문자 A ~ Z, 소문자 a ~ z, 그리고밑줄 (_) 로시작가능하다. 나 머지부분은문자, 숫자 ( 0 ~ 9 ), 밑줄 (_) 만을사용한다. 그리고 C 언어는다른언어 Fortran, BASIC 등의언어와달리대문자와소문자를구별한다. 즉 index, Index, 그리고 INDEX 는모두구별된다. 이들은에디터 (editor) 의특성에따라다르지만, 일반적으로처음 32 개문자만의미가갖는다. 표준라이브러리의함수들의프로토타입 (prototype) 이저장된파일을헤드화일 (header file) 이라하며이들함수들은목적화일 (*.obj) 로제공되며, 헤드화일은 #include 지시어와 함께사용된다. 필요에따라헤더파일에함수의프로토타입뿐만아니라함수프로그램 을포함시킬수있으며이를읽어서프로그램에삽입한다. 지시어 #include 는프로그램이 컴파일이루어지기전에선행처리 (preprocessing) 된다. 표준라이브러리 (standard library) 는모든 C 컴파일러에서제공하는기본함수들의집합을일반적으로얘기하며, 표준라이브러리는입출력, 스트링조작, 수학계산등을처리하기위한함수이다. 이를위하여 ANSI C 표준은모든 C 컴파일러에서제공할기본라이브러리함수들을규정하고있다. List 1-1에서의공백 (space) 는무시한다. C언어로작성된프로그램에서의함수는프로그램의골격을이루며이는블록 (block) 의구조를갖는다. 문장들은대부분연산을수행하는프로그램의일부분으로함수에포함된다.

3 윗의내용을요약하면다음과같다. 함수에서 시작을과 끝을나타내고, 문장들은 과 내에포함되어야한다. 모든 C 문장은세미콜론 (;) 으로끝나며, 한줄에두개이상의문장을쓸수있다. 상수, 데이터형, 변수, 그리고함수의이름들 : (Identifiers) - 문자 (A ~ Z 또는 a ~ z) 또는밑줄 (_) 로시작 - 나머지는문자, 숫자 ( 0 ~ 9 ), 밑줄 (_) 만을사용 - 대문자와소문자를구별한다.( 예 : index, Index, 그리고 INDEX는모두구별된다.) - 처음 32개문자만의미가있음 ( 일반적인경우 ) 표준라이브러리 (standard library) 는모든 C 컴파일러에서제공하는기본함수들의집합 을이야기하며, 이는입출력, 스트링조작, 수학계산등을처리하는함수들이다. 이를 위하여 ANSI C 표준은모든 C 컴파일러에서제공할기본라이브러리함수들을규정하고 있다. 표준라이브러리의함수들의원형이저장된파일을헤드화일 (header file) 이라하며, #include 지시어와함께사용된다. 함수들의프로그램은목적파일로제공된다. 필요에 따라헤더화일을읽어서프로그램에삽입하기도한다. #include 지시어는선행처리 (preprocessing) 된다. C 언어는공백 (space) 을무시한다.

4 C 프로그램의작성과동작에있어필요한여러가지요소에대하여간단히이야기하자. 우리가컴퓨터의사용에있어가장먼저필요한것은입력과출력장치일것이다. 아무리 고성능의컴퓨터라하더라도지금의현재의상태를알수가없으면컴퓨터의이용에아주 큰어려움이있을것이다. 그러므로컴퓨터는현재의수행되고있는상황을사용자가알 수있도록출력하는것이아주중요할것이다. 현재의수행되고있는상황을알수있는 장치가모니터 (monitor) 일것이다. 컴퓨터에게가장쉽게명령을내리는장치가키보드 (keyboard) 일것이다. 컴퓨터의자료를결과물또는제출물로출력하는장치가프린터일 것이다. 프로그램은위와같은요소을포함하는입출력요소, 데이터요소, 연산요소, 조건부 요소, 반복요소, 부프로그램으로이루어진다. 표 1-1 은프로그램의기능적인요소그리고 표 1-2 는프로그램의구조적인요소에대하여간단히설명하고있다. < 표. 1-1> 프로그램의기능적인요소. 출력요소데이터요소연산요소입력요소조건부요소반복요소부프로그램 ( 서브루틴 ) Monitor, HDD(file), Printer, 수 ( 정수, 실수 ), 문자, 문자열, address를포함하는상수, 변수그리고 structure 덧셈, 나눗셈, 비교 Keyboard, HDD(file), Mouse, Scanner, Camera 지정된조건이 참 일때만명령어집합을실행지정된수만큼혹은조건이 참 일동안, 명령어집합을실행분리되어명명된명령어집합으로, 그이름이불리어지면프로그램의어디에서건실행이될수있다. < 표 1-2> 프로그램의구조적요소. 1. 프로그램의최소단위는함수이다. ( 가장간단한프로그램은? ) 2. 기능적요소는하나이상의함수로구성되거나, 한개이상의문장 (statement) 로이루어진다. 3. 모든프로그램은한개이상의함수 (function) 집합이며, 함수는한개이상의문장 (statement) 으로이루어진다. 4. main( ) 함수가맨먼저실행되는함수이며, 여러개의함수들은 main() 함수내에포함된다.

5 1.2 변수선언과값의치환 C 언어에서의변수의선언은 Basic 등다른컴퓨터언어와달리사용하기전에모든변수를 선언하여컴파일러에게어떤변수형이사용되었는가를알려준다. 아래는변수에대하여간 략히정리하였다. 변수 (variable) : 임의값을저장할수있는기억장소. 변수형을저장할임의값의형태를의미한다. 변수이름 - 문자 (A ~ Z 또는 a ~ z) 또는밑줄 (_) 로시작 - 나머지는문자, 숫자 ( 0 ~ 9 ), 밑줄 (_) 만을사용 - 대문자와소문자를구별한다. - 처음 32개문자만의미가있음 ( 일반적인경우 ) - 키워드를사용할수없음 - 변수의사용법 변수는사용전에반드시선언되어야한다. 선언형식 : type var-name ; 변수의선언위치 : 함수의외부 ----> 전역 (global) 변수 함수의내부 ----> 지역 (local) 변수 여러개의변수들을동시에선언가능하다. 예 ) float x, y, z; 치환문 (assignment statement) : 변수에값을저장하는실행문. 형식 : var-name = expression ; expression은상수, 변수, 식등이될수있다. 상수 (constant) : 고정된값을나타냄여러가지상수형 ( 문자, 정수, 실수, 배정도실수 ) 이있다. 예 ) 'A', 'x', 100, 변수의선언단계에서초기값을부여할수도있다. 형식 : type var-name = 초기값 ;

6 1.3 출력요소 출력정보는프로그램에서아주중요한요소이다. 출력은보통 monitor screen, 기억장치 (HD, FD) 인 I/O port( serial port, print port) 로작성된자료를보내어사용자가원하는출 력임을확인하고, 이를정보화할수있도록출력의형식을변화시킬수있다. 이절에서 는가장일반적인출력함수인 printf() 함수와다른출력함수에대하여간단히공부한다. printf() stdout(monitor screen) 에 format 에의한출력을행한다. 형식 printf( <format string> [, < argument 1>, < argument 2>...] ); format string : 출력되는데이터의형식지정자 argument : 인수 함수 printf 는인수들을받아들여, format string 으로주어진 format 문자열에포함되는각 각의포맷지정에적용되어, stdout 로 formatted 데이터를출력한다. 인수의수와포맷 지정의수는반드시같아야한다. /* printf example */ #include <stdio.h> #include <string.h> #define I 555 #define R 5.5 int main(void) int i,j,k,l; char buf[7]; char *prefix = buf; char tp[20]; printf("prefix 6d 6o 8x 10.2e 10.2f\n"); strcpy(prefix,"%"); for (i = 0; i < 2; i++) for (j = 0; j < 2; j++) for (k = 0; k < 2; k++) for (l = 0; l < 2; l++)

7 if (i==0) strcat(prefix,"-"); if (j==0) strcat(prefix,"+"); if (k==0) strcat(prefix,"#"); if (l==0) strcat(prefix,"0"); printf("%5s ",prefix); strcpy(tp,prefix); strcat(tp,"6d "); printf(tp,i); strcpy(tp,""); strcpy(tp,prefix); strcat(tp,"6o "); printf(tp,i); strcpy(tp,""); strcpy(tp,prefix); strcat(tp,"8x "); printf(tp,i); strcpy(tp,""); return 0; strcpy(tp,prefix); strcat(tp,"10.2e "); printf(tp,r); strcpy(tp,prefix); strcat(tp,"10.2f "); printf(tp,r); printf(" \n"); strcpy(prefix,"%"); < List. 1-2> 함수 printf() 의예제프로그램과결과.

8 puts() 화면 (stdout) 에스트림으로문자열을출력한다. 서식 : #include <stdio.h> int puts(s); 인수 : char *s 출력하는문자열 기능 : puts 는널로끝나는문자열을표준출력 stream stdout 에복사하고 새로운라인문자를추가한다. putchar() 화면 (stdout) 에 1 문자를출력한다. 서식 : #include <stdio.h> int putchar(c); 인수 : int c 출력하는문자 기능 : putchar 는 putch(c, stdout) 로정의된매크로 (macro) 이다. /* PUTS.C: This program uses puts to write a string to stdout. */ #include <stdio.h> void main( void ) puts( "Hello world from puts!" ); Output Hello world from puts! < List 1-3> 함수 puts() 예제프로그램과결과.

9 1.4 데이터요소 프로그램을작성할때, 프로그래머 (programmer) 는몇종류의데이터를사용하여작업한 다. 이들은대부분기본적인 4 가지의데이터형에속한다. 정수, 부동소수, 문자, 그리고 포인터 (pointer) 이다. 기본데이터형 : < 표. 1-3> C 의기본테이터형. 데이터형 의미 키워드 character 문자데이터 char integer 정수 int float 실수 float double 배정도실수 double void 값이없음 void 정수는 16bits, 2bytes 즉 1word로이루어져있으며양의정수 unsigned int 표현에서는 16 bits의모든 bit가수를표현하는데이용이되나 signed int에서는 16bits 가운데 MSB(Most Significant Bit) 는정수의음, 양을표현하는부호 (sign) 를위하여이용이된다. 16bits의정수는유효값의크기가그다지크지가않아유효자리수의확장을위하여 long int 32bits로표현한다. unsigned int 양의정수 - 16bits long int 유효자리수확장 ( 배정도정수 ) - 32 bits 실수는자연계의값을표현할수있는형식이나할당된 bit 수에따른유효자리수가변화 하게된다. 이는 32bits 로이루어진부동소수 (float) 는 8bits 의지수부분과 24bits 의가수부 분으로이루어져있으며, 유효자리수의확장을위하여 64bits 로이루어진 double 을이용하 기도한다. unsigned float 양의실수 - 32 bits double 유효자리수확장 ( 배정도실수 ) - 64 bits

10 문자 (character) 는영문자, 숫자, 특수문자 (%, &, *...) 등을나타내며이는컴퓨터로표현 할수있는가장기본적인형태의문자를의미하며, 이는 7bits 로이루어진 ASCII 코드를 근간으로하여 1bit 가추가된 8bits 를 1 문자로표현한다. 그러므로영문의문자코드의 MSB 는항상 0 을나타난다. 그러나한글의표현에서는 1 문자가 2bytes(16bits) 로이루 어지며 MSB 는 1 로표현하여영문과한글을구별하게된다. unsigned char : 문자 - 8 bits ( ASCII code - 7 bits ) 문자열는문자의의미있는표현은단어, 문장으로표현이되어야한다. 이러한연속되어 지는문자들의집합을문자열 (char string) 이라한다. 이러한문자열을이용하기위하여문 자배열또는포인터 (pointer) 를이용하기도한다. 문자열정의법 : 문자배열또는문자포인터 main() char msg[30]; strcpy(msg,"hello, world"); puts(msg); <List. 1-4> 배열을이용한문자열출력프로그램. main() char *msg; msg="hello, world"; puts(msg); <List. 1-5> 포인터을이용한문자열출력프로그램.

11 1.5 연산요소 연산은컴퓨터가가장잘할수있는일이며가장기본적인기능이다. 이러한컴퓨터의 탁월한연산능력은컴퓨터의성능향상을이끌어왔으며, 음식압축, 영상압축, 음식인식, 그 리고영상인식등등의고수준의알고리즘의연구및개발은컴퓨터에의한다양하고복잡한 문제해결능력을갖도록변화시키고있다. 컴퓨터는데이터를프로그램의사용가능한연산자를사용하여처리할것이다. 이러한 연산에사용되는중요연산자에대하여간단히살펴보자. 대입연산자가장기본적인연산자로 ratio = a / b; ch=getch(); 와같은우측항의값을좌측항으로의대입이다. 이는일반적인문장의한형태이며, 대입의연산자로는단일등호 ( = ) 로나타낸다. 즉등호우측에있는값이좌측의변수에대입된다. tmp = a = b; 와같은문장이표현될수있다. 이런경우의연산순서가중요할것이다. 연산의 순서는우측항에서좌츠항으로수행되어진다. 그결과변수 b 의값이변수 a 의값으 로대입되고난후, 변수 a 의값이변수 tmp 의값으로대입된다. 변수 b, a, tmp 는모두같은값을가지게된다. 단일연산자와이항연산자 ( 산술연산자 ) C언어는 2진산술연산자를지원하며, 단일연산을지원한다. C에서는단일뺄셈연산 c = ( a + (-b) ) 또는 c = ( a + (+b) ) 를지원하는데, 이것은 2의보수 를수행한다. 연산자 의미 + 덧셈 (addition) - 뺄셈 (subtraction) * 곱셈 (multiplication) / 나눗셈 (Division) % 나머지 (modulus)

12 증가 (++) 와감소 (--) C 는다른언어와다른특수한단일연산자와이항연산자를갖는다. 가장잘알려진 단일연산자 (unary) 는증가 (++) 와감소 (--) 이다. 이는 a = a + 1; => a++; a = a - 1; => a--; 좌측항의식을우측항의단일연산자로대체할수있다. 컴퓨터의수행능력에있어서도 향상된결과를얻을수있다. 이단일연산자는간단하고도강력한연산자이지만프로그램 작성전에수행에대한정확한이해가필요하다. add = a+ b++; add = a+ ++b; 윗두식의차이에대하여간단히설명하면다음과같다. 첫번째식은, 변수 a 의값과변 수 b 의값을더하여변수 add 에저장한후, 변수 b 의값을 1 만큼증가시키는프로그램이 다. 두번째식은, 변수 b 의값을 1 만큼증가시킨후, 변수 a 의값과변수 b 의값을더한 결과를변수 add에대입한다. 즉문장 b++; 는프로그램수행후변수 b의값을 1만큼증가시키고, 문장 ++b; 는프로그램수행전변수 b의값을 1만큼증가시킨후문장을수행한다. 아래의프로그램을수행시킨후결과를이해하도록하자. #include <stdio.h> void main(void) int char a, b, add; *format; format = " a = %d, b = %d, add = %d \n"; a=3; b=5; add = a + b; printf(format, a, b, add); add = a++ + b; printf(format, a, b, add); add = ++a + b; printf(format, a, b, add); add = --a + b; printf(format, a, b, add); add = a-- + b; printf(format, a, b, add); add = a + b; printf(format, a, b, add); <List. 1-6> 전치증감과후치증감예제프로그램.

13 관계연산자 관계연산자는조건문에서사용되며, 같은데이터형의두값을비교하는것으로, 그비교 값이 참 인가 거짓 인가에따라다른결과를주어진다. 비교결과는논리값으로표현되 며 거짓 으로판정될때는결과값을 0 을발생시키고, 참 일경우결과값은 1 을발 생시킨다. 연산자 의미 > 보다크다 >= 보다크거나같다. < 보다작다. <= 보다작거나같다. == 같다.!= 같지않다. 논리연산자 논리연산자는조건문에서사용되며주로프로그램의분기와관련된관계연산자의결과와 함께사용된다. 연산자 && 의미 AND OR! NOT 비트단위연산자 한다. 비트단위연산자는논리연산자와는달리비교또는해당되는비트에대한연산을수행 연산자 의미 << bitwise shift left >> bitwise shift right & bitwise AND bitwise OR

14 ^ ~ bitwise XOR bitwise NOT 결합된연산자 C 언어에서는여러개의연산자를갖는수식을쓸때, 간단한형식을변환하여사용할수 있도록한다. 대입연산자를단일, 이항, 증가, 감소, 그리고비트단위연산자들과결합할 수있다. 변수 = 변수 연산자 식 ; -----> 변수 연산자 = 식 ; a = a + b; -----> a + = b; a = a * b; -----> a * = b; a = a << b; -----> a <<= b; a = a & b; -----> a &= b; a = a % b; -----> a %= b; 어드레스연산자 C는두개의어드레스연산자를지원한다. 이는 address-of" 연산자 (&) 와 indirection" 연산자 (*) 이다. & 연산자는주어진변수의어드레스를되돌려준다. * 연산자는어드레스에간직된값을되돌려준다. void main() int sum; char *msg; sum = 5 + 3; msg = " Hello, there \n"; printf(" sum = %d &sum = %p \n", sum, &sum ); printf(" msg = %c &msg = %p \n", *msg, msg ); <List. 1-7> 어드레스연산자예제프로그램.

15 1.6 입력요소 C 언어에서는몇가지의입력함수를제공하고있다. 이들은파일, 입력문자열, 또는키 보드로부터입력을받는다. 이러한입력함수에대하여공부한다. scanf( ) 함수 : 값을키보드에서입력받기위한표준함수 서식 : #include <stdio.h> scanf ( format string, addr, addr, ) ; 인수 : format string 입력받을데이터의형식지정자 addr 결과을저장하는변수의주소를지정 기능 : scanf 는필드를연속적으로읽고, 한번에한문자씩 stdin 스트림에서 읽는다. 그런다음각각의필드는 format이가리키는 format 문자열에서 scanf에보내지는 format 지정에따라 format 된다. scanf는 format에뒤따라오는함수의어드레스에 format 된것을저장한다. 입력필드의어드레스와 format 지정자의수는같아야한다. scanf("%d %d", &a, &b) ; 두개의 10진정수를변수에입력 변수들의주소를지정 입력받을데이터의형식지정자 %d : 정수 %f : 부동소숫점 %s : 문자열 Whitespace ( 의미상의공백 ) 두개의 %d 형식명령어간의 whitespace은다음과같은의미가있다. Whitespace는공백, 탭, 그리고줄바꿈의조합이다. 두값들사이에는필요한만큼의 whitespace가올수있으며공백대신콤마로분리할수있다. scanf("%d,%d", &a, &b)

16 gets() 키보드 (stdin) 에서문자열을입력한다. 서 식 : #include <stdio.h> char *gets(s) 인 수 : char *s; 입력한문자열을저장하는영역의포인터. 기 능 : gets는표준입력스트림키보드 (stdin) 에서, carriage return으로끝나는문자열을 s에저장한다. Carriage return은 s에서널문자 (0) 로대치된다. scanf와는달리, gets는공백문자 (spaces, tabs) 를포함하는문자열을입력하는것을허락한다. /* GETS.C */ #include <stdio.h> void main( void ) char line[81]; printf( "Input a string: " ); gets( line ); printf( "The line entered was: %s\n", line ); Output Input a string: Hello! The line entered was: Hello! <List. 1-8> 함수 gets() 예제프로그램과결과.

17 getch() 키보드로문자를입력하며, 화면에 echoback 은안된다. 서 식 : #include <conio.h> int getch(); 인 수 : None 기 능 : getch는화면에 echoback은하지않고, console로부터직접 1문자를입력받는다. getch는키보드 (stdin) 를사용한다. #include <conio.h> main() int i; while((i=getch())!= '\007') /* press : Ctrl-G */ putch(i); <List. 1-9> 함수 getch() 예제프로그램과결과.

18 1.7 조건부요소 조건부요소에서는관계연산자와논리연산자를이용하여조건명령문의 참 과 거짓 을 판별하여 참 일경우결과는 1 을발생시키고 거짓 일경우결과로 0 을발생시킨다. 이렇게참과거짓일경우에따라적절한함수또는문장을수행하도록한다. 일반적인조 건문은 if 문을이야기하며 for, while, do~while 반복문에서조건에따른반복이이루어지므 로조건문이포함된형태를가진다. 아래에서는명령문 if 에대하여간단히설명한다. if 명령문 if ( value or condition ) statement1; else statement2; 1) - value 또는 condition의값이 1 ( 참 ) 이경우 statement1 이실행 - value 또는 condition의값이 0 ( 거짓 ) 일경우 statement2 가실행 - else statement2 부분은생략가능 2) - 명령문 1개이상을실행하고자할때는, 합성명령문을사용 - 합성명령문은다음과같이구성된다 // block의시작 statement_1 ; statement_# ; // semicolon 으로끝나는몇개의문장 // block 의끝 다음은 if 문이사용된몇개의문장들의차이점에대하여알아보자. if ( i > 0 ) y = x / i; else x = i; y = f( x ); <List. 1-10> if~else 문의예제프로그램.

19 List 프로그램의 y = x/i; 문장은 i의값이 0보다클경우에수행된다. 만약 i의값이 0보다작거나같으면 i의값은 x에치환되고함수 f(x) 가수행되어반환값은변수 y에대입된다. if~else 문에서문장그룹과복잡한문의구조를명확하게하기위하여중괄호를이용하면프로그램의수행에많은도움이될것이다. 중괄호가없다면컴파일러의수행은에매모호한결과를낳을수있다. if ( i > 0 ) /* Without braces */ if ( j > i ) x = j; else x = i; <List. 1-10> if 문내에 if~else 문의예제프로그램. 외부의 if문은 else부분이없는문장이다. else 구문은내부의 if문에대한 else 구문이다. 만약, 외부의 if문에서 i의값이 0보다작거나같으면내부 if~else문은수행이되지않는다. 즉어떠한값도변수 x에주어지지않는다. 외부의 if문에서 i의값이 0보다크면, 내부의 if~else 문을수행한다. 이때, 변수 j의값고 i의값을비교하여, j의값이크면, 변수 x에 j의값을대입하고그렇지않으면변수 x에 i의값을넣으라는프로그램이다. if ( i > 0 ) /* With braces */ if ( j > i ) x = j; else x = i; <List. 1-11> if~else 문내의 if 문의예제프로그램. List 프로그램과 List 프로그램의중괄호가없는경우와비교하여보자. 이예 제에서는내부 if 문의주위에중괄호를가지고있다. 이경우 else 구문은외부 if 문의짝이 된다. 만약 i 의값이 0 보다크면내부 if 문을수행하고그렇지않으면변수 x 에 i 의값을대 입한다.

20 1.8 반복요소 프로그램에서명령문을반복하여실행할경우반복을위한명령어를사용한다. 반복을 위한명령어에는기본적으로세가지종류가있으며, 이들은조건문이포함이된상태이다. 조건에따른반복의횟수를결정하게된다. - while loop - for loop - do while loop while loop 형식 1) while( value or condition) statement ; 2) while( value or condition) statement1 ; statement2 ; 설명 (value or condition ) " 참 이면 statement 실행, 거짓 이면 while loop 끝냄 while ( i >= 0 ) string1[i] = string2[i]; i--; <List. 1-12> while문의예제프로그램. List 프로그램은배열 string2의값을배열 string1에대입한다. 만약 i의값이 0보다크거나같으면, 배열 string2의 i번째의값 string2[i] 을배열 string1의 i번째의값 string1[i] 으로대입하고 i의값을 1 감소시킨다. i의값이 0보다작아질때, while문의수행은종료될것이다.

21 for loop 형식 1) for( 식1 ; 식2 ; 식3 ) statement ; 2) for( 식1 ; 식2 ; 식3 ) statement1 ; statement2 ; 설명 : 식1 보통 index variable에대한지정식2 loop 계속을위한테스트식3 보통 index variable에대한변경 - 식들은생략할수있지만, semicolon(;) 은있어야한다. 이문장, for( ;; ); 은무한루프를만드는전형적인방법이다. 이무한루프를빠져나오기위하여 break 문, goto 문또는 return 문을이용할수있다. List 프로그램은배열 line 의내에스페이 스 ( ) 와탭 ( \t') 문자를헤아리고배열 line 내의탭문자를스페이스문자로대체한다. 먼저, 변수 i, space, 그리고 tab 을 0 의값으로초기화한다. i 의값과상수 MAX 와비교하여 i 의 값이 MAX 보다작으면 for 문내의문장들이수행이된다. 배열 line[i] 의값에따라각각의 if 문이수행될수있다. i 의값이상수 MAX 보다작은한계속반복하여 for 문내의문장들 이수행된다. for ( i = space = tab = 0; i < MAX; i++ ) if ( line[i] == ' ' ) space++; if ( line[i] == '\t' ) tab++; line[i] = ' '; <List. 1-13> for 문의예제프로그램.

22 do while loop 형식 1) do statement while( value or condition ); 2) do statement1 ; statement2 ; while ( value or condition ); 설명 : 1) 적어도한번은실행 2) (value or condition) 이 참 인동안실행 List 프로그램은 do~while 문장의예프로그램이다. 이 do~while 문장에서는, 변 수 x의초기값에관계없이, 두개의문장 y = f( x ); 과 x--; 이수행된다. 그리고난후, x의값이 0보다큰지를조사한다. 만약 x의값이 0보다큰다면 do와 while사이의문장들이다시수행되며, 그후또다시 x의값이 0보다큰지를조사한다. do와 while사이의문장들은 x의값이 0보다크면계속반복하여수행할것이다. do~while 문의수행은 x의값 이 0 과같거나음의수를가질때종료한다. 여기에서중요한사실은, do~while 문내의 문장들은적어도한번은수행을하게된다. do y = f( x ); x--; while ( x > 0 ); <List. 1-14> do~while 문의예제프로그램.

23 1.9 부프로그램 ( 서브루틴, 함수 ) C 프로그램은함수단위로이루어진다. 이는동일한명령어집합을다른데이터집합또 는사용자프로그램에있는다른위치에서수행하려고할경우, 이들명령문을서브루틴에 놓고, 필요할시에호출하여사용할수있다. C 언어에서는사용자가함수를 선언 하고 정의 할수있다. 그리고선언된함수는다 른함수에의해호출될수있다. 함수를정의할때, 사용자는그함수자체에대한실제코드를제공해야한다. 함수는하나의프로그램블록 (block) 을얘기하며, 이블록은 1개이상의함수들로프로그램이구성된다. 함수내에서다른함수를호출할때, 인수가없는경우도있지만, 대부분의함수는인수를갖는다. 인수 (argument) 는함수를호출할때전달되는값을말한다. 호출된함수는호출한함수의인수의개수와매개변수 (parameter) 의개수가동일하여야한다. 매개변수란호출된프로그램에서인수를받기위한변수를얘기한다. List 1-15 프로그램처럼함수는그함수의호출부분으로값을반환할수있다. 함수에서는 return 문이값을반환한다. 그리고함수내에서 return 문을만나면즉각호출한모프로그램 ( 함수 ) 부분으로되돌아간다. 형식 : 1) return value ; 2) return (value): 반환값 ( 상수혹은변수혹은식 ) ratio = get_ratio(a,b); // 인수 ( argument) float get_ratio(float dividend, float divisor) // 매개변수 (parameter) if(divisor == 0.0 ) return( INFINITY ); else return( dividend / divisor ); <List. 1-15> 매개변수와인수의전달예프로그램.

24 /* Function declarations */ void get_parms(float *p1, float *p2); float get_ratio(float dividend, float divisor); void put_ratio(float quotient); const float INFINITY = 3.4E+38; /* Main function: starting point for program */ main() float a, b, ratio; char ch; do get_parms(&a, &b); ratio = get_ratio(a,b); put_ratio(ratio); printf("press q to quit, any other key to continue "); while((ch=qetch())!= 'q'); /* End of Main */ /* Function definition */ void get_parms(float *p1, float *p2) printf(" Enter two numbers: "); scanf("%f %f",p1,p2); float get_ratio(float dividend, float divisor) if(divisor == 0.0 ) return( INFINITY ); else return( dividend / divisor ); void put_ratio(float ratio) if( ratio == INFINITY ) printf(" The ratio is undefined\n "); else printf("the ratio is %f\n", ratio); <List. 1-16> 함수를이용한프로그램.

25 1.10 프로그램의주석달기 주석 (comment): 프로그램을쉽게이해하도록하기위한부연설명, 식의첨가등등여러 형태가존재할수있다. 그러나프로그램의컴파일러는주석을무시한다. 형식 : /* 설명문...*/ 예. /* This is a comment. */ /* 주석시작 Programmer : Kim, Jae Chul. This is a long comment. extending over several lines. */ 주석끝 // 1 line comment <List. 1-16> 주석문의예. 작성된프로그램의일부를일시적으로제거하는데편리하게사용할수있다. 주석문안에또다른주석을둘수없다. (compile option 에따라달라질수있다.)

26 1.11 프로그램작성과컴파일 프로그램의작성은에디터 (editor : 문서편집기 ) 에서이루어지며, 초기의에디터는라인 (line) 에디터였으나요즘은특별한곳을제외한대부분의에디터는스크린 (screen) 에디터이다. 프로그램작성을위한에디터로서는컴파일러자체에통합내장된에디터를가장많이사용하고있으며, 문서전용에디터로서는 Ultraeditor, MS-Word, Norton editor, notepad 등등의다양한 editor 을이용하여프로그램을작성한다. 그램임을알리기위하여파일이름확장자를 *.c 로표한한다. 작성된프로그램은 C 프로 작성된프로그램을컴파일 을수행하여기계어로구성된목적화일을발생시킨다. 컴파일된목적화일은링크프로그램 을이용한목적화일의링크작업을수행하여실행가능한파일 *.exe" 를만들어컴파일러 의작업을종료하게된다. 만들어진수행파일의동작을확인하기위하여디버거 (debug) 기 능을이용하여잘못된프로그램을수정하면효율적으로프로그램을완성할수있을것이다. 에디터 : 프로그램작성을위한도구 ( UltraEdit, hwp, BC editor, Visual C++ ) 소스화일 : C 언어로작성된프로그램화일 (.c 확장자 ) 목적화일 : 기계어로구성된화일 (.obj 확장자 ) 실행화일 : 실행가능한화일 (.exe 확장자 ) 컴파일 : 소스화일을목적화일로만드는작업 링 크 : 목적화일을실행화일로만드는작업 소스화일 ---> 목적화일 ---> 실행화일 컴파일 링크 IBM-PC 에서의컴파일러 : Turbo/Borland C/C++, Microsoft Visual C/C++, Delphi, Power Buildr 등 ( 통합환경 : 에디터 + 컴파일러 )

27 1.12 C 의예약어 ANSI 표준 C는변수이름이나함수이름으로사용될수없는 32개의키워드 (keyword) 를정의하고있다. 그리고상용의 C언어컴파일러는약간의추가키워드를가지고있다. 이는 8086계열의프로세서의메모리관리를효율적으로하기위하여, 또는다른언어와의상호프로그램을지원하기위하여도입되었다. 가장널리사용되는키워드는아래에있는것과같다. C언어에서의모드키워드는소문자로되어있다. 또한키워드는함수나변수의이름으로사용될수없다. 컴파일러는키워드와함수, 변수의이름을혼동하기때문이다. 표1-4. ANSI 표준 C에서정의된 32개의키워드 auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while 표1-5. 추가로도입된키워드 asm _cs _ds _es _ss cdecl far huge interrupt near pascal

28

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

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

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

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

<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

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

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

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 - 08-C-App-19-Quick-Preprocessor

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor 19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

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

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Introduction to Geotechnical Engineering II

Introduction to  Geotechnical Engineering II Fundamentals of Computer System - chapter 9. Functions 민기복 Ki-Bok Min, PhD 서울대학교에너지자원공학과조교수 Assistant Professor, Energy Resources Engineering Last week Chapter 7. C control statements: Branching and Jumps

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

기초컴퓨터프로그래밍

기초컴퓨터프로그래밍 구조체 #include int main() { } printf("structure\n"); printf("instructor: Keon Myung Lee\n"); return 0; 내용 구조체 (struct) Typedef 공용체 (union) 열거형 (enum) 구조체 구조체 (structure) 어떤대상을표현하는서로연관된항목 ( 변수 )

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

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

Microsoft PowerPoint - chap06-4 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-4 참고자료 문자열의처리 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 문자열의연산 문자열은배열의형태로구현된응용자료형이므로연산을자유롭게할수없다. 배열에저장된문자열의길이를계산하는작업도간단하지않다.

More information

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다. C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 4 강. 함수와라이브러리함수목차 함수오버로딩 디폴트매개변수 라이브러리함수 clock 함수 난수발생 비버퍼형문자입력 커서이동 프로그래밍문제 1 /21 4 강. 함수와라이브러리함수함수오버로딩 2 /21 함수오버로딩 동일한이름의함수를여러개만들수있음 함수프로파일이달라야함 함수프로파일

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

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

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

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

Microsoft Word - ExecutionStack

Microsoft Word - ExecutionStack Lecture 15: LM code from high level language /* Simple Program */ external int get_int(); external void put_int(); int sum; clear_sum() { sum=0; int step=2; main() { register int i; static int count; clear_sum();

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float Part 2 31 32 33 106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float f[size]; /* 10 /* c 10 /* f 20 3 1

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

hlogin2

hlogin2 0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS

More information

1

1 CHAPTER 1 중간점검문제 p.22 1. 계산기는 수행하는 작업이 고정되어 있으므로 컴퓨터라고 할 수 없다. 2. 이진수로 되어 있는 기계어 3. 고급 프로그래밍 언어를 기계어로 번역한다. p.25 1. FORTRAN 2. PASCAL 3. C++ 4. COBOL 5. JAVA 6. C++, JAVA p.28 1. 임베디드 시스템(embedded system)은

More information

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

Microsoft PowerPoint - chap11-1.ppt [호환 모드] chapter 11-1 참고자료. 파일입출력 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 파일입출력의개념 파일은데이터를입출력하는모든대상을의미한다. - 키보드로부터데이터를입력하고모니터로출력하는것은키보드파일과 모니터파일로데이터를입출력하는것이다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 11 곡선과곡면 01 Spline 곡선 02 Spline 곡면 03 Subdivision 곡면 C n 연속성 C 0 연속성 C 1 연속성 2 C 2 연속성 01 Spline 곡선 1. Cardinal Spline Curve 2. Hermite Spline Curve 3. Bezier Spline Curve 4. Catmull-Rom Spline Curve 5.

More information

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE> 쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것

More information

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++, Level 1은객관식사지선다형으로출제예정 1. 다음은 POST(Post of Sales Terminal) 시스템의한콜레보레이션다이어그램이다. POST 객체의 enteritem(upc, qty) 와 Sale 객체의 makellineitem(spec,qty) 를 Java 또는 C ++, C # 언어로구현하시오. 각메소드구현과관련하여각객체내에필요한선언이있으면선언하시오.

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

lecture4(6.범용IO).hwp

lecture4(6.범용IO).hwp 제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장

More information

YRRZBRRLMCEQ.hwp

YRRZBRRLMCEQ.hwp C언어2 4차시강의자료 이대종( 한경대학교) 1 차시. 자료형( 데이터유형) 1.1 문자형데이터형식 ( char 형 ) 1.2 소수점이없는정수형 ( int 형 ) 1.3 소수점이있는실수형 (float 형, double 형 ) 2 차시. 연산자 2.1 2.2 2.3 2.4 산술연산자 증감연산자 관계연산자 논리연산자 3 차시. 제어문 ( 조건문, 반복문) 3.1

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

Week3

Week3 2015 Week 03 / _ Assignment 1 Flow Assignment 1 Hello Processing 1. Hello,,,, 2. Shape rect() ellipse() 3. Color stroke() fill() color selector background() 4 Hello Processing 4. Interaction setup() draw()

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx 1. MATLAB 개요와 활용 기계공학실험 I 2013년 2학기 MATLAB 시작하기 이장의내용 MATLAB의여러창(window)들의 특성과 목적 기술 스칼라의 산술연산 및 기본 수학함수의 사용. 스칼라 변수들(할당 연산자)의 정의 및 변수들의 사용 방법 스크립트(script) 파일에 대한 소개와 간단한 MATLAB 프로그램의 작성, 저장 및 실행 MATLAB의특징

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

Week5

Week5 Week 05 Iterators, More Methods and Classes Hash, Regex, File I/O Joonhwan Lee human-computer interaction + design lab. Iterators Writing Methods Classes & Objects Hash File I/O Quiz 4 1. Iterators Array

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 C++ Espresso 제 1 장기초사항 이번장에서학습할내용 C++ 언어의역사 C++ 언어의특징 객체지향의간단한소개 C++ 개발과정 첫번째예제설명 변수와상수 연산자 C++ 에대한기초적인사항들을살펴봅니다. C++ 언어의개발 C++ 는 1980 년대초에 AT&T 벨연구소의 Bjarne Stroustrup 에의하여개발 C++ 는 C 언어를유지, 확장한것 C with

More information

2 단어별로읽어들이기 WORDTREE 2 2. 단어별로읽어들이기. 먼저입력스트림으로부터단어를선별하는함수부터작성하겠습니다. getword ( ) 함수는주어진입력을단어별로다루기위해서, 입력스트림으로부터단어를빼내는함수입니다. 여기서단어란글자 (letter) 로시작하면서글자와

2 단어별로읽어들이기 WORDTREE 2 2. 단어별로읽어들이기. 먼저입력스트림으로부터단어를선별하는함수부터작성하겠습니다. getword ( ) 함수는주어진입력을단어별로다루기위해서, 입력스트림으로부터단어를빼내는함수입니다. 여기서단어란글자 (letter) 로시작하면서글자와 1. 단어출현횟수출력. 이프로그램은 The C Programming Language 책의 6.5 절 Self-referntial Structures 의첫번째예제프로그램을교육을목적으로자세한설명을곁들여 CWEB 으로다시작성한것으로파일을입력으로받아서그파일에있는모든단어의출현횟수를출력하는프로그램입니다. 입력파일에어떠한단어들이들어있는지미리알수없기때문에단어들을알파벳순으로나열할수는없어

More information

EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을

EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을 EWAVR 5.1x 프로젝트 옵션 설정(1) 1. Project -> Option -> General Options General Options Target 은 IAR Compiler 를 사용 프로세서에 맞추는 가장 중요한 초기화 과정이다. Processor configuration 에서 V0~ V6 설정은 Code/ Data Memory 를 기준으로 사용되는

More information

Microsoft PowerPoint - C_9장 포인터 pptx

Microsoft PowerPoint - C_9장 포인터 pptx C 프로그래밍및실습 9. 포인터 세종대학교 목차 1) 포인터란? 2) 배열과포인터 3) 포인터연산 4) 함수와포인터 5) * void 포인터 6) * 함수포인터 2 1) 포인터란? 메모리 프로그램이실행되기위해필요한정보 ( 값 ) 을저장하는공간 1 byte (8 bits) 단위로물리주소가부여되어있음 개념적으로, 메모리는일렬로연속되어있는크기가 1byte 인방들의모음이라고볼수있음

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770>

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770> 2과목 : 프로그래밍 일반 41. 프로그래머가 직접 제어를 표현하지 않았을 경우, 그 언어 에서 미리 정해진 순서에 의해 제어가 이루어지는 순서 제 어는? 가. 구조적 나. 명시적 다. 묵시적 라. 분석적 42. 파스 트리에 대한 설명으로 틀린 것은? 가. 어떤 표현이 BNF에 의해 바르게 작성되었는지 확인하 기 위해 만드는 트리이다. 나. 파스 트리가 존재하면

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 RecurDyn 의 Co-simulation 와 하드웨어인터페이스적용 2016.11.16 User day 김진수, 서준원 펑션베이솔루션그룹 Index 1. Co-simulation 이란? Interface 방식 Co-simulation 개념 2. RecurDyn 과 Co-simulation 이가능한분야별소프트웨어 Dynamics과 Control 1) RecurDyn

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

(72) 발명자 정진곤 서울특별시 성북구 종암1동 54-398 이용훈 대전광역시 유성구 어은동 한빛아파트 122동 1301 호 - 2 -

(72) 발명자 정진곤 서울특별시 성북구 종암1동 54-398 이용훈 대전광역시 유성구 어은동 한빛아파트 122동 1301 호 - 2 - (51) Int. Cl. (19) 대한민국특허청(KR) (12) 등록특허공보(B1) H04B 7/04 (2006.01) H04B 7/02 (2006.01) H04L 1/02 (2006.01) (21) 출원번호 10-2007-0000175 (22) 출원일자 2007년01월02일 심사청구일자 2008년08월26일 (65) 공개번호 10-2008-0063590 (43)

More information

중간고사 (자료 구조)

중간고사 (자료 구조) Data Structures 215 중간고사 문제에서명시적으로기술하지않은부분은교재의내용에근거함. 215. 1. 27. 1 다음용어에대하여간단하게설명하시오 ( 각 3 점 *1=3 점 ) 1 abstract data type 6 Circular linked list 2 recursion 3 time complexity 4 space complexity 5 Single

More information

...... ....-....-155 09.1.20

...... ....-....-155 09.1.20 접지 접지 ISBN 978-89-6211-252-8 슈퍼컴퓨터가 만드는 디디컴 C M Y K 슈퍼컴퓨터가 만드는 C M Y K 슈퍼컴퓨터가 만드는 디디컴 uper 슈퍼컴퓨터가 만드는 발행일 슈퍼컴퓨터는 슈퍼맨처럼 보통의 컴퓨터로는 도저히 2008년 10월 3 1일 1쇄 발행 2009년 01월 30일 2쇄 발행 엄두도 낼 수 없는 대용량의 정보들을 아주 빠르게

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 정적분석서 - 영단어수집왕 - Team.# 3 과목명 소프트웨어모델링및분석 담당교수 유준범교수님 201011320 김용현 팀원 201111360 손준익 201111347 김태호 제출일자 2015-06-09 1 Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics

More information

슬라이드 1

슬라이드 1 14 차시 파일 (2) 강 C 프로그래밍 10 메모리 메모리 주메모리 : 속도가빠르다. 가격이비싸다. 휘발성. 프로그램실행에필수 보조메모리 : 속도가느리다. 가격이싸다. 영구적. 영구적인자료보관, 대용량의데이터는보조메모리이용 파일 이름 + 확장자, 날짜, 크기 폴더 강 C 프로그래밍 11 프로그램이파일을지원하면 1 프로그램실행의연속성 2 번거로운데이터입력자동화

More information

XCom v2.x Install Manual

XCom v2.x Install Manual Linkgenesis Co., Ltd. ( 주 ) 링크제니시스 XCom v2.0 ActiveX Control C# Manual XCom SECS Driver v2.x ActiveX Control C# Manual Document v2.1.1k 목차 C# 개발자를위한 XCOM 사용법 1... 1 XCOM 사용요약... 1 XCom.Net Framework Library

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

07 자바의 다양한 클래스.key

07 자바의 다양한 클래스.key [ 07 ] . java.lang Object, Math, String, StringBuffer Byte, Short, Integer, Long, Float, Double, Boolean, Character. java.util Random, StringTokenizer Calendar, GregorianCalendar, Date. Collection, List,

More information

04 Çмú_±â¼ú±â»ç

04 Çмú_±â¼ú±â»ç 42 s p x f p (x) f (x) VOL. 46 NO. 12 2013. 12 43 p j (x) r j n c f max f min v max, j j c j (x) j f (x) v j (x) f (x) v(x) f d (x) f (x) f (x) v(x) v(x) r f 44 r f X(x) Y (x) (x, y) (x, y) f (x, y) VOL.

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

[8051] 강의자료.PDF

[8051] 강의자료.PDF CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

Microsoft PowerPoint - ch02-1.ppt

Microsoft PowerPoint - ch02-1.ppt 2. Coodinte Sstems nd Tnsfomtion 20 20 2.2 Ctesin Coodintes (,, ) () (b) Figue 1.1 () Unit vectos,, nd, (b) components of long,, nd. 직각좌표계에서각변수 (,, ) 들의범위 < < < < < < (2.1) 직각좌표계에서임의의벡터 는,, 가그림 1.1 에서와같이,,

More information

Microsoft Word - KPMC-400,401 SW 사용 설명서

Microsoft Word - KPMC-400,401 SW 사용 설명서 LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동

More information

Microsoft PowerPoint - 07-chap05-Stack.ppt

Microsoft PowerPoint - 07-chap05-Stack.ppt / 스택이란? 스택 stack): 쌓아놓은더미 hapter 5 스택 Dongwon Jeong djeong@kunsan.ac.kr Department of Informatics & Statistics 학습목표 스택의개념이해 스택의동작원리이해 배열과연결리스트를이용한스택구현 스택응용프로그램 스택의특징 후입선출 LIFO:Last-In First-Out) 가장최근에들어온데이터가가장먼저나감.

More information

정보보안 개론과 실습:네트워크

정보보안 개론과 실습:네트워크 ` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

More information

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770> 제목 : 미디어정보처리프로그래밍실습모음 일시 : 2002. 6. 15 작성자 : 성용철학번 : 한남대학교정보통신멀티미디어공학부 ( 전자정보통신전공 ) 미디어정보처리프로그래밍실습숙제설명 1.256 X 256 grayscale 의디스플레이프로그램 Resource View 의 menu item 에서 Display 밑에 Raw gray 라마든다음에그림과같이 ID 와

More information

<4D F736F F F696E74202D20C1A63135C0E520C0FCC3B3B8AEB9D7BAF1C6AEBFACBBEA>

<4D F736F F F696E74202D20C1A63135C0E520C0FCC3B3B8AEB9D7BAF1C6AEBFACBBEA> 쉽게풀어쓴 C 언어 Express 제 15 장전처리및비트연산 이번장에서학습할내용 전처리지시어 분할컴파일 명령어라인의매개변수 디버깅방법 전처리와기타중요한테마에대하여학습한다. 전처리기란? 전처리기 (preprocessor) 는컴파일하기에앞서서소스파일을처리하는컴파일러의한부분 #include, #define 만처리합니다. 수고했어, 나머지는나한테맡겨! 소스파일 임시파일

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

<4D6963726F736F667420506F776572506F696E74202D204D41544C4142B0ADC0C7B7CF28B9E8C6F7BFEB295F3031C0E55FBDC3C0DBC7CFB1E22E707074205BC8A3C8AF20B8F0B5E55D>

<4D6963726F736F667420506F776572506F696E74202D204D41544C4142B0ADC0C7B7CF28B9E8C6F7BFEB295F3031C0E55FBDC3C0DBC7CFB1E22E707074205BC8A3C8AF20B8F0B5E55D> MATLAB MATLAB 개요와 응용 1장 MATLAB 시작하기 10 5 0 황철호 -5-10 30 20 10 0 0 5 10 15 20 25 MATLAB 시작하기 이장의내용 MATLAB의여러창(window)들의 특성과 목적 기술 스칼라의 산술연산 및 기본 수학함수의 사용. 스칼라 변수들(할당 연산자)의 정의 및 변수들의 사용 방법 스크립트(script) 파일에

More information

슬라이드 1

슬라이드 1 한국산업기술대학교 제 5 강스케일링및회전 이대현교수 학습안내 학습목표 3D 오브젝트의확대, 축소및회전방법을이해한다. 학습내용 3D 오브젝트의확대및축소 (Scaling) 3D 오브젝트의회전 (Rotation) 변홖공갂 (Transform Space) SceneNode 의크기변홖 (Scale) void setscale ( Real x, Real y, Real z)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 컴퓨터개론및실습 강의 8 1 2 구조체 (Structure) 2 구조체 (structure) 3 구조체가필요한이유 평면위의점 P(a,b) 는 x 축좌표 a 와 y 축좌표 b 를가지는구조이다. 이와같이하나의데이터형이여러개의독립적인원소를가진구조를 효과적으로처리하기위해서 C 언어에서는구조체를사용한다. y P(a,b) x 3 구조체의정의 4 구조체의정의 평면위의점

More information

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

More information

New features in C99 (1) - 인쇄용

New features in C99 (1) - 인쇄용 < 목표 > New Features in C99 (1) C99 의새로운기술을이해하기위한배경설명 ( 기존표준과의차이및도입배경 ) C99 에새로추가된기술일부에대한간략한소개 2003.10.11 KLDP 작은세미나전웅 (mycoboco@hanmail.net) < 구성 > C 표준화의간략한역사 C99 표준화의원칙 (guideline) 새기술도입에대한항목을중심으로

More information

1

1 04단원 컴퓨터 소프트웨어 1. 프로그래밍 언어 2. 시스템 소프트웨어 1/10 1. 프로그래밍 언어 1) 프로그래밍 언어 구분 각종 프로그래밍 언어에 대해 알아보는 시간을 갖도록 하겠습니다. 우리가 흔히 접하는 소프트웨어 들은 프로그래밍 언어로 만들어지는데, 프로그래밍 언어는 크게 2가지로 나눌 수 있습니다. 1 저급어 : 0과 1로 구성되어 있어, 컴퓨터가

More information