Presentation is loading. Please wait.

Presentation is loading. Please wait.

기초 프로그래밍 Yang-Sae Moon Department of Computer Science

Similar presentations


Presentation on theme: "기초 프로그래밍 Yang-Sae Moon Department of Computer Science"— Presentation transcript:

1 기초 프로그래밍 Yang-Sae Moon Department of Computer Science
Kangwon National University, Korea

2 Hello PHP 구성 (1/2) Source Code
기초 프로그래밍 Source Code 모든 PHP 프로그램은 <?PHP … ?> 혹은 <? … ?> 안에서 사용해야 함 모든 문장은 ; 으로 끝남 웹서버가 파일 이름이 print_test.php 라 하면, 호출 print 함수의 경우 ()를 생략하기도 함 <?PHP print (“Hello PHP”); print “Hello PHP”; ?>

3 Hello PHP 구성 (2/2) 기초 프로그래밍 수행 결과 (hello1.php)

4 에러 발생 (1/2) Source Code 두 번째 줄에 ; 표기가 빠져 있음
기초 프로그래밍 Source Code 두 번째 줄에 ; 표기가 빠져 있음 print라는 함수가 prin으로 잘못 코딩되어 있음  Parse error 발생 <?PHP prin “Hello PHP” ?>

5 에러 발생 (2/2) 기초 프로그래밍 수행 결과 (hello2.php, hello3.php)

6 주석(Comment) (1/2) 프로그램에 대한 이해를 돕기 위한 글을 적음  comment1.php
기초 프로그래밍 프로그램에 대한 이해를 돕기 위한 글을 적음  comment1.php 프로그램 작성자, 프로그램 작성 의도, 프로그램 동작 형태 등을 적음 <?PHP print “Hello PHP”; // 이 문장은 Hello PHP를 출력하는 문장입니다 /* 이 문장은 Hello PHP를 출력하는 문장입니다. */ ?> C/C++와 매우 유사함 한 줄 Comment: // 혹은 #를 사용 여러 줄 Comment: /* 표기와 */ 표기 사용 Comment를 잘 활용하여 프로그램의 가치를 높일 수 있음

7 주석(Comment) (2/2) 잘못된 Comment의 예 (Nesting이 허용되지 않는 경우)  comment2.php
기초 프로그래밍 잘못된 Comment의 예 (Nesting이 허용되지 않는 경우)  comment2.php <?PHP /* 처음 주석의 시작입니다. /* 두번째 주석의 시작입니다. 두번째 주석의 끝입니다. */ 처음 주석의 끝입니다. */ ?> 올바른 Comment의 예 (Nesting이 허용되는 경우)  comment3.php <?PHP /* 처음 주석의 시작입니다. // 두번째 주석입니다. // 세번째 주석입니다. // 네번째 주석입니다. 처음 주석의 끝입니다. */ ?>

8 변수(Variables) (1/5) 변수 PHP에서 변수의 특성 정보(값)를 저장
기초 프로그래밍 변수 정보(값)를 저장 이름과 형식을 가지고 있음 (e.g., $age) PHP에서 변수의 특성 변수는 ‘$’ 문자로 시작한다. 변수의 이름은 영문 대문자(A-Z), 소문자(a-z), 숫자(0-9), ‘_’으로 이루어진다. ‘$’ 다음의 첫 문자로 숫자를 사용할 수 없다. PHP에서는 변수 형을 선언(declaration)하지 않고 사용한다. PHP 변수의 예 $age $cyber $Student_Name $a_b_c $_NUMBER PHP 변수가 아닌 예 $21c cyber $Student-id

9 변수(Variables) (2/5) 변수의 종류 변수형 강도 (strength) 변수형 변환 (casting)
기초 프로그래밍 변수의 종류 불리언 (Boolean) 정수형 (integer) 실수형 (floating point numbers, real numbers) 문자열 (string) 배열 (array) 객체 (object) 변수형 강도 (strength) PHP는 형 강도가 매우 약하며, 변수에 할당되는 값에 따라 형이 결정됨 예: $totalamount = ; // integer type $totalamount = “hello”; // string type 변수형 변환 (casting) Casting operator 사용: (int), (float), (double), (string), (array), (ojbect) 예: $totalqty = 0; $totalamount = (double)$totalqty;

10 변수(Variables) (3/5) 변수형 검사 및 설정
기초 프로그래밍 변수형 검사 및 설정 gettype() 함수는 변수형을 스트링(“integer”, “double”, …)으로 반환함 settype() 함수는 변수의 형을 주어진 형으로 바꾸어 줌 예: $a = 56;  var_type1.php print gettype($a); // integer settype($a, “double”); print gettype($a); // double 변수형 확인 함수 (true or false를 리턴함)  var_type2.php is_array() is_double(), is_float(), is_real() // 모두 같은 함수임 is_long(), is_int(), is_integer() // 모두 같은 함수임 is_string() is_object() string gettype(mixed var); bool settype(mixed var, string type);

11 변수(Variables) (4/5) 변수에 값 대입 <?PHP $sum = 12 + 23; // integer type
기초 프로그래밍 변수에 값 대입 <?PHP $sum = ; // integer type print $sum; ?> <?PHP $sum = 12.3 – 42.72; // real(float) type) print $sum; ?>

12 변수(Variables) (5/5) 정수형 변수의 표현 (int_rep.php) <?PHP
기초 프로그래밍 정수형 변수의 표현 (int_rep.php) <?PHP $value = ; print $value . “<br>”; $value = $value + 1; // $value = $value = $value + 1; // $value = $value = $value + 1; // $value = $value = $value + 1; // $value = $value = $value + 1; // $value = ?>

13 연산자 및 수식 계산 (1/2) 연산자의 종류 및 의미 사용법 의 미 oprd1 + oprd2 orpd1에 ordp2를 더하기
기초 프로그래밍 연산자의 종류 및 의미 사용법 의 미 oprd1 + oprd2 orpd1에 ordp2를 더하기 oprd1 – orpd2 orpd1에서 ordp2를 빼기 oprd1 * orpd2 orpd1에 ordp2를 곱하기 orpd1 / orpd2 orpd1에서 ordp2를 나누기 orpd1 % orpd2 orpd1에서 ordp2를 나눈 나머지

14 연산자 및 수식 계산 (2/2) 사칙 연산자와 나머지 연산자의 사용 예  oprd.php <?PHP
기초 프로그래밍 사칙 연산자와 나머지 연산자의 사용 예  oprd.php <?PHP $result = 9 + 5; print “9 + 5 = $result<br>”; $result = 9 – 5; print “9 – 5 = $result<br>”; $result = 9 * 5; print “9 * 5 = $result<br>”; $result = 9 / 5; print “9 / 5 = $result<br>”; $result = 9 % 5; print “9 % 5 = $result<br>”; ?>

15 기타 연산자 (1/2) 증가 연산자, 감소 연산자 대입 연산자 <?PHP
기초 프로그래밍 증가 연산자, 감소 연산자 <?PHP $temp++; // $temp = $temp + 1; --$i; // $i = $i – 1; $k++; // $k = $k + 1; ?> 대입 연산자 += -= *= /= %= (e.g., $temp += 3;  $temp = $temp + 3;)

16 기타 연산자 (2/2) 증가 연산자의 사용 예 (inc_dec.php) <?PHP $temp = 1;
기초 프로그래밍 증가 연산자의 사용 예 (inc_dec.php) <?PHP $temp = 1; if($temp++ == 1) print "temp in the 1st if() is 1"; else print "temp in the 1st if() is 2"; if(++$temp == 1) print ", and temp in 2nd if() is 1."; else print ", and temp in the 2nd if() is 2."; ?>

17 스트링 연산자 Concatenation을 수행하는 “.” 연산자 사용 두 문자열을 연결하는 연산자임 (concat.php)
기초 프로그래밍 Concatenation을 수행하는 “.” 연산자 사용 두 문자열을 연결하는 연산자임 (concat.php) <? $city = “in Chunchon”; $name1 = “Kangwon ”; $name2 = “National University “; print $name1.$name2.$city; ?>

18 수학적 함수 (1/2) 삼각함수(sin, cos, …)는 기본적으로 Radian 사용 (2 = 360)
기초 프로그래밍 삼각함수(sin, cos, …)는 기본적으로 Radian 사용 (2 = 360) 로그함수 log()는 기본적으로 자연 로그(밑이 e)이며, 대수 로그(밑이 10)는 log10()을 사용한다. 삼각함수의 사용 예 (sin_cos1.php) <?PHP $result = sin(M_PI / 6); print “sin(30) = $result<br>”; $result = cos(M_PI / 6); print “cos(30) = $result<br>”; $result = tan(M_PI / 6); print “tan(30) = $result<br>”; $result = asin(0.5); print “asin(0.5) = $result<br>”; $result = acos( ); print “acos( ) = $result<br>”; $result = atan( ); print “atan ( ) = $result<br>”; ?>

19 수학적 함수 (2/2) Degree 값(360도 기준 값) 사용  deg2rad() 함수 활용  sin_cos2.php
기초 프로그래밍 Degree 값(360도 기준 값) 사용  deg2rad() 함수 활용  sin_cos2.php <?PHP $degree = 30; $radian = deg2rad($degree); $result = sin($radian); print “sin(30) = $result”; ?> log(), log10(), sqrt() 사용 예  sin_cos2.php <?PHP $result = log (10); print “log(10) = $result<br>”; $result = log10 (10); print “log10(10) = $result<br>”; $result = sqrt (49); print “sqrt(49) = $result”; ?>

20 Bitwise 연산자 사용법 이 름 의 미 orpd1 & orpd2 AND orpd1 | orpd2 OR
기초 프로그래밍 사용법 이 름 의 미 orpd1 & orpd2 AND orpd1과 orpd2의 비트 모두 1이면 연산의 결과는 1이다. orpd1 | orpd2 OR orpd1 또는 orpd2의 비트가 1이면 연산의 결과는 1이다. orpd1 ^ orpd2 XOR 한 Operand의 비트는 1이고 나머지 Operand의 비트가 0이면 연산의 결과는 1이다. ~orpd1 NOT orpd1의 비트가 0이면 연산의 결과는 1이고, oprd1의 비트가 1이면 연산의 결과는 0이다. orpd1 << orpd2 Shift Left orpd1을 왼쪽으로 orpd2번 Shift한다. orpd1 >> orpd2 Shift Right orpd1을 오른쪽으로 orpd2번 Shift한다.

21 연산자 우선순위 결합성 연산자 left , or xor and
기초 프로그래밍 결합성 연산자 left , or xor and = += -= *= /= .= %= != ~= <<= >>= ?: || && | ^ & non-associative == != < <= > >= << >> * / % right ! ~ (int) (double) (string) (array) [ new

22 if-else 구문 (1/2) 주어진 조건에 따라서 서로 다른 문장을 수행 문법 if(condition) statement;
기초 프로그래밍 주어진 조건에 따라서 서로 다른 문장을 수행 문법 if(condition) statement; if(condition) { statement1; statement2; } if(condition1) statement; elseif(condition2) elseif(condition3) elseif(condition4) else if(condition) statement; else

23 if-else 구문 (2/2) if-else 구문의 예 (ifelse.php) <?PHP $temp1 = 1;
기초 프로그래밍 if-else 구문의 예 (ifelse.php) <?PHP $temp1 = 1; $temp2 = 2; if($temp1 == 1 && $temp2 == 1) print "condition of if() is true."; elseif($temp1 == 1 && $temp2 == 2) { print "condition of elseif() is true.<br>"; print "temp 1 is 1 and temp2 is 2."; } else print "condition of else is true."; ?>

24 비교 연산자 (1/2) 연산자 의 미 == 같다(equal). != 같지 않다(not equal). <
기초 프로그래밍 연산자 의 미 == 같다(equal). != 같지 않다(not equal). < 작다(less than). > 크다(greater than). <= 작거나 같다(less than or equal to). >= 크거나 같다(greater than or equal to). === 동일하다(identical). 두 Operand가 서로 같고 형식(type)이 같다.

25 비교 연산자 (2/2) 비교 연산자 사용 예 (comp_op.php) <?PHP $a = 123; $b = 456;
기초 프로그래밍 비교 연산자 사용 예 (comp_op.php) <?PHP $a = 123; $b = 456; if ($a == $b) print “두 값이 같습니다.<br>”; if ($a != $b) print “두 값이 같지 않습니다.<br>”; if ($a < $b) print “$a 값이 $b 값보다 작습니다.<br>”; if ($a > $b) print “$a 값이 $b 값보다 큽니다.<br>”; if ($a <= $b) print “$a 값이 $b 값보다 작거나 같습니다.<br>”; if ($a >= $b) print “$a 값이 $b 값보다 크거나 같습니다.<br>”; if ($a === $b) print “$a 값이 $b 값과 동일합니다.<br>”; ?>

26 삼항 연산자 (? :) 기초 프로그래밍 (condition) ? statement_true : statement_false; (cond_st.php) <?PHP $num = 5; (($num % 2) == 1) ? print “홀수” : print “짝수”; print “<br>”; $num = 8; ?>

27 논리 연산자 사용법 이름 의 미 not and or xor !orpd orpd1 && orpd2 orpd1 || orpd2
기초 프로그래밍 사용법 이름 의 미 !orpd not Operand의 값이 FALSE이면 연산 결과가 TRUE, Operand의 값이 TRUE이면 연산 결과가 FALSE orpd1 && orpd2 and 두 Operand의 값이 모두 TRUE일 때만 연산 결과가 TRUE, 그 외에는 연산 결과가 FALSE orpd1 || orpd2 or 두 Operand의 값이 모두 FALSE일 때만 연산 결과가 FALSE, 그 외에는 연산 결과가 TRUE orpd1 xor orpd2 xor 하나의 Operand는 TRUE 나머지 Operand는 FALSE일 때 연산 결과가 TRUE, 그 외에는 연산 결과가 FALSE

28 while 구문 (1/2) 문법 while 구문의 사용 예 (while.php) while (expression)
기초 프로그래밍 문법 while 구문의 사용 예 (while.php) while (expression) statement <?PHP $i = 1; $sum = 0; while ($i < 101) { $sum = $sum + $i; $i = $i + 1; } print “The sum from 1 to 100 is $sum”; ?>

29 while 구문 (2/2) 무한 루프의 예 <?PHP $i = 0; $value = 1; while (TRUE) {
기초 프로그래밍 무한 루프의 예 <?PHP $i = 0; $value = 1; while (TRUE) { $value = $value * 3; $i = $i + 1; if ($value > 10000) break; } print $i; ?>

30 do-while 구문 문법 do-while 구문의 사용 예 (do-while.php) do statement
기초 프로그래밍 문법 do-while 구문의 사용 예 (do-while.php) do statement while (expression); <?PHP $i = 1; do { $j = $i * 5; $i = $i + 1; print $j. “<br>”; } while ($j < 100); ?>

31 함수 정의 (1/3) 문법 add() 함수의 정의  func_add.php
기초 프로그래밍 문법 add() 함수의 정의  func_add.php function func_name($var1, $var2, ...) { statements; } <?PHP function add($x, $y) { $sum = $x + $y; return $sum; } $result = add (3, 5); print $result; ?>

32 함수 정의 (2/3) Default Values (func_def.php) <?PHP
기초 프로그래밍 Default Values (func_def.php) <?PHP function my_log ($arg, $base = 2) { $result = log ($arg) / log ($base); return $result; } print “log2(10) = ” . my_log(10, 2) . “<br>”; print “log10(100) = ” . my_log(100, 10) . “<br>”; print “log2(8) = ” . my_log(8, 2) . “<br>”; print “<br>”; print “log2(8) = ” . my_log(8) . “<br>”; ?>

33 함수 정의 (3/3) func_get_args() 함수 활용 (func_arg.php) <?PHP
기초 프로그래밍 func_get_args() 함수 활용 (func_arg.php) <?PHP function my_print () { $args = func_get_args (); foreach ($args as $arg) print “파라미터: $arg<br>”; } my_print (“Apple”, “Orange”, “Pear”, “Banana”, “Cherry”); ?>


Download ppt "기초 프로그래밍 Yang-Sae Moon Department of Computer Science"

Similar presentations


Ads by Google