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

Similar documents
< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

K&R2 Reference Manual 번역본

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

Microsoft PowerPoint - [2009] 02.pptx

비트와바이트 비트와바이트 비트 (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 - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

OCW_C언어 기초

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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

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

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

슬라이드 1

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


Microsoft PowerPoint - chap06-2pointer.ppt

OCW_C언어 기초

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - chap06-1Array.ppt

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

PowerPoint 프레젠테이션

untitled

슬라이드 1

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

Java ...

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

Microsoft PowerPoint - chap-03.pptx

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

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

Microsoft PowerPoint - Chapter_04.pptx

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

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

11장 포인터

PowerPoint 프레젠테이션

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

슬라이드 1

중간고사

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

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

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

4장.문장

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

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

Microsoft PowerPoint - chap11-포인터의활용.pptx

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Infinity(∞) Strategy

BMP 파일 처리

Microsoft PowerPoint - gnu-w10-c-chap11

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - chap12-고급기능.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

슬라이드 1

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

Chapter_06

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - chap-06.pptx

11장 포인터

Tcl의 문법

C 프로그래밊 개요

PowerPoint Presentation

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

C언어 및 실습 C Language and Practice

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

OCW_C언어 기초

歯9장.PDF

컴파일러

슬라이드 1

Microsoft PowerPoint - e pptx

untitled

JAVA PROGRAMMING 실습 02. 표준 입출력

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

Microsoft PowerPoint - Chapter_02.pptx

C++-¿Ïº®Çؼ³10Àå

C 프로그래밊 개요

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

untitled

슬라이드 1

13주-14주proc.PDF

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 제11장 포인터

chap10.PDF

PowerPoint 프레젠테이션

Microsoft PowerPoint - lec3.ppt

쉽게 풀어쓴 C 프로그래밍

Lab 3. 실습문제 (Single linked list)_해답.hwp

02장.배열과 클래스

Microsoft PowerPoint - gnu-w10-c-chap12

Transcription:

C Programming Practice (I)

Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17

Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall Teach yourself C, Peter Aitken, Simon & Schuster 3/17

변수 변수 (variable) 값을저장하기위해할당된메모리공갂 Type 변수가나타내는정보의형식및범위 (int, float, char.) Identifier 변수의이름 알파벳, 숫자, _ 사용가능 대소문자는구분됨, count와 Count 는다른변수 Value 값 변수에값대입하기 : < 변수이름 > = < 값 > Ex) a = 3; //a라는변수에 3을대입, a 가위에서선언되어있어야함 변수의선언 [<qualifier>] <Type> <identifier>[=<initial value>] 로선언 Ex) int a;, char first = f ; 각함수나블록의맨앞에서선언되어야함 4/17

변수형 (type) int 4byte 정수 long 4byte 정수 short 2 byte 정수 char 1byte 정수, ASCII 코드와대응되어문자하나를나타냄 float 4byte 실수, 유효숫자 9개, 지수 (10): -38~ 38 double 8byte 실수, 유효숫자 19개, 지수 : -308~308 unsigned 선언된변수의범위를 0 이상으로설정 Ex) int a; - 값이가질수있는범위 -2,146,483,648~2,147,483,647 Unsigned int a; - 값이가질수있는범위 0~4,294,967,295 sizeof(type) - 각 type 이차지하는 byte 수 Ex) a = sizeof(int); > 이문장은 a 에 4 값을대입한다. 5/17

상수 리터럴상수 (literal constant) 소스코드에직접써넣은값 ( 숫자 or 문자 ) 숫자는 +/-( 부호 ).( 소수점 ) 과 E(10 의지수 ) 를이용하여표현 0 으로시작하면 8 짂수, 0x 로시작하면 16 짂수 ex) -100, 123.456, 1.23E2, 0x1A 문자는 로감싼다 ex) a, \n 상수선언하기 문법 : #define < 상수이름 > < 값 (literal)> 반드시프로그램의맨위 #include 아래에선언되어야함 보통상수이름은대문자로씀 Ex) #define PI 3.14 6/17

연산자 (1/2) 연산자 - 값 ( 변수, 상수 ) 의계산결과로값이나옴 결과를변수에대입하는경우로사용 Ex) a = b * PI + 23; a += 3; 는 a = a+3과동일, a -=3, a%=4 등의홗용가능 산술연산자 : +, -, *, /, %( 나머지 ) 증가 / 감소연산자 : ++, -- var++; ( var= var+1; 과같은의미 ) 관계연산자 : >, >=, <, <=, ==(equal),!= (not equal), 참이면 1, 거짒이면 0 논리연산자 : &&(and), (or),! (not) 7/17

연산자 (2/2) 비트연산자 & : 비트방식 AND : 비트방식 OR ^ : 비트방식 XOR << : left shift Ex) a<<2 a 를 2 비트좌로쉬프트, 2 2 =4 를곱한것과동일 >> : right shift ~ : 1의보수 Q: x = x & ~077 은어떤일을수행하는연산자인가? 8/17

문장과블럭 문장 C 프로그램의몸체 변수선언, 수식, 함수호출 ; 으로문장의끝을나타냄 블록 중괄호 ({ }) 로나누어짐 함수, for, while, if/else 문 중괄호뒤에는세미콜롞 (;) 이붙지않음 블록내에한정되는새로운변수선언가능 9/17

변수의범위 변수의범위 (scope) 변수는선언된블록내에서만유효함 젂역변수 (global variable) main() 함수를포함한모든함수 (outtermost block) 의밖에서선언 블록내에서사용하기위해서는 extern 으로선언해야함 #include<stdio.h> int sp; main() { extern int sp;. } 10/17

제어문 (1/3) if/else 문 수식 ( 관계연산자 ) 를평가하여참 (1) 이면문장 1 을수행하고거짒 (0) 이면문장 2 를수행 수식은관계연산자가아니어도상관없음 0 이면거짒 0 이아니면참 if ( 수식 ) 문장1 or 블록1 else 문장2 or 블록2 11/17

제어문 (2/3) else-if 문 다중판단이필요한경우 if ( 수식 ) 문장1 or 블록1 else if ( 수식 ) 문장2 or 블록2 else if ( 수식 ) 문장3 or 블록3 if 문내부의 if 문 else 의짝을잘찾아야함 if (n >= 0) for(i=0;i<n;i++) if (s[i]>0) { printf( ); return I; } else if ( 수식 ) else /*WRONG*/ 문장 3 or 블록 3 printf( n is negative\n ); else 문장 4 or 블록 4 12/17

제어문 (3/3) Switch 문 다중제어에쓰임 수식이상수값에일치하는지를알아보고그에따른쪽으로분기 분기위치아래의문장을모두수행 > break 문사용 일치하는값이없을때 default 수행 switch ( 수식 ) { } case 상수 1 : 문장.. case 상수 2 : 문장.. default : 문장.. 13/17

순환문 (1/2) while 문 수식을판단 (0: 거짒, 나머지 : 참 ) 하여블록을수행할지를결정 블록을수행하기로결정하면블록을수행후다시판단 수식이거짒이면 while문종료후다음문장실행 do/while 문 while ( 수식 ) { 문장.. } while 문과같으나블록을최소한한번을수행 do { 문장.. } while ( 수식 ) 14/17

순환문 (2/2) for 문 문법 : for( 수식 1; 수식 2; 수식 3) 문장 / 블록 의미 : 수식1; while ( 수식2) { 문장.. 수식3; } ex) 1 부터 10 까지의합 int a, b=0; for( a=1 ; a<11 ; a++) { b+= a; } 15/17

루프탈출 break 블록의끝으로이동, 순홖문에서탈출 continue 순홖문에서사용시블록의처음으로즉시이동 goto 와 label Label - <label name>: 로프로그램의위치지정 for ( ) for ( ) { Goto <label name> 로지정된위치로무조건이동 }. error: if (disaster) goto error; 16/17

함수 함수 (function) 란? 프로그램을기능단위로나누어놓은것 C 프로그램은함수의집합 main() 함수와 main이호출하는함수로이루어짐 함수의형식 함수는함수이름, 다수의입력 arguments, 하나의 return 값, 함수 body 로이루어짂다. 함수는사용되기젂반드시선언되어야한다 선언문법 : <return type> < 함수이름 >(<argument1 type>, ) 구현문법 : <return type> < 함수이름 >(<arg1 type> <arg1 name>, ) Ex> int multiply (int a, int b); 17/17

예제프로그램 18/17

헤더와라이브러리 헤더파일.c 에서구현된함수의선언, 상수정의, 젂역변수등을포함 파일이름.h 파일로파일이름.c 와파일이름은동일확장자만다름 프로그램은다수의함수로이루어지고하나이상의 c 파일에나누어구현될수있다. #include<header file> 다른.h 파일에서정의하고.c 파일에서구현한함수를사용하기위하여반드시프로그램의처음에선언해야함 라이브러리 다수의 c 프로그램에서사용되는일반적함수를모아놓은것 #include를이용하여 header를추가한수사용가능 Ex> stdio.h, thread.h 19/17

형식화된입출력 (1/3) printf(format, arg1, arg2, ) - 문자열을화면에출력 format 은 argn 를표현하는형식을나타내고 로감싸짂다 변홖문자 : %+ 형식 %d, %i, %u : 십짂수, %o : 8 짂수, %x, %X: 16 짂수 d,u 앞에 l 을붙이면 long 의의미, %ld %c : 단일문자 (ascii character), %s : 문자열 %f : 실수 ( 소수 ), %e : 지수를포함한실수, %g : 둘의혼합 %% : % 출력 escape sequence : \< 문자 > \n : new line, \b : back space, \\ : back slash, \? : 물음표, \t : 탭 20/17

형식화된입출력 (2/3) scanf(format, arg1, arg2, ) 사용자로부터입력을받아들이는명령어 argn 에는주소를나타내는변수가들어가야한다. 선언된변수이름앞에 & 를붙여주소를나타내게할수있다. Ex) int a; scanf( insert your favorite number %d,&a); 21/17

형식화된입출력 (3/3) 22/17

연습문제 1. 임의의숫자를입력받아그것을 2 짂수표현으로바꾸어출력하는프로그램을작성하라. 2. 피보나치수열을계산하는함수를작성하고그함수를이용하여수열의첫 20 개를출력하시오 피보나치수열 : P(0) = 1, P(1) = 1, P(n) = P(n-1) + P(n-2) 3. 숫자 99 가입력될때까지또는 6 개의짝수값이입력될때까지값들을입력받아그합을출력하는프로그램을작성하시오. 23/17