Name Addr Content Lecture++; Lecture 3 2

Size: px
Start display at page:

Download "Name Addr Content Lecture++; Lecture 3 2"

Transcription

1 GEN1031 Computer Programming Chapter 2 Kichun Lee Department of Industrial Engineering Hanyang Univesity 1

2 Name Addr Content Lecture++; Lecture 3 2

3 2.1 프로그램구조 (Program Structure) 3

4 /* */ /* Program chapter1_1 */ /* This program computes the */ /* distance between two points. */ #include <stdio.h> #include <math.h> int main(void) { /* Declare and initialize variables. */ double x1=1, y1=5, x2=4, y2=7, side_1, side_2, distance; /* Compute sides of a right triangle. */ side_1 = x2 - x1; side_2 = y2 - y1; distance=sqrt(side_1*side_1 + side_2*side_2); /* Print distance. */ printf("the distance between the two " "points is %5.2f \n", distance); return 0; /* Exit program. */ } /* */ 주석 전처리기, standard C library 모든 C 프로그램은 main 함수를포함하며, 매개변수를이용하지않고, int 값으로반환한다. { 시작 변수선언, 초기값 ( 필요한경우 ) 문장 문장의끝에는 ; 들여쓰기 return 0 들여쓰기 들여쓰기 } 함수의끝 4

5 일반적형태 (General Form) preprocessing directives int main(void) { declarations statements } main 함수는두가지종류의명령을포함 : 선언과문장 함수내에존재하는각각의선언및문장의끝에는세미콜론 (;) 이필요하다. 전처리기지시자는끝에는세미콜론 (;) 이필요없다. 프로그램을종료하기위해서는, return 0; 문장을사용한다. 5

6 추가문제 /***************************************************/ /* Program chapter1 */ /* This program computes the sum of two numbers */ #include <stdio.h> int main(void) { /* Declare and initialize variables. */ double number1 = , number2 = 45.7, sum; /* Calculate sum. */ sum = number1 + number2; /* Print the sum. */ printf( The sum is %5.2f \n, sum); system("pause"); /* keep DOS window on the screen*/ return 0; /* Exit program. */ } /****************************************************/ 6

7 2.2 상수와변수 수학에서변수는무엇입니까? f(x) = x 2 +x+4 C언어에서는, 변수는어떠한값을가지고있는메모리의위치 식별자또는변수의이름은메모리의위치를참조하는데사용 7

8 메모리 double x1=1,x2=7,distance; name address Memory - content x1 x2 distance = = ? = 당신의컴퓨터에얼마나많은메모리공간을가지고있습니까? 2Gbyte memory 입니까? 1K=10 3 or 2 10 = M=10 6 or 2 20 = G=10 9 or 2 30 =

9 메모리스냅샷 (Memory Snapshot) Name Addr Content x1 1 y1 5 x2 4 y2 7 side_1? side_2? distance? 9

10 유효한식별자를구별하기위한규칙 ( 변수이름 ) 알파벳문자나밑줄표시로시작해야함 (e.g., abcabc_) 오직문자, 숫자, 밑줄표시로만구성 (no special characters ^%@) 대소문자구분 (AbC, abc are different) 식별자로서 C에서사용하는키워드를사용할수없음 (e.g., if, case, while) 10

11 C 언어의표준키워드? distance 1x x_1 rate% x_sum switch initial_time DisTaNce X&Y 11

12 C 수치형데이터형태 12

13 Example 데이터 - 형태의제한 13

14 C 문자데이터형태 : char char result = Y ; 메모리에서모든것은이진값으로저장되고, 그것은문자또는정수로해석될수있다. 예를들면, ASCII Codes 방식이있다. 14

15 메모리 어떻게 a 를나타내는가? char My_letter= a ; int My_number = 97 메모리에는항상 1 과 0 값을포함하고있다. 이것은우리가보는관점에따라달라진다. 예를들면, 는정수로보면은 97 이고문자로보면은 a 가된다. 3 과 3 은같지않다. 2.5 는어떻게처리하는가? name address My_letter My_number Memory - content a = = ? =

16 Program to Print Values as Characters and Integers 16

17 상수 (Constants) 상수는우리의프로그램에서사용하는특정한값이다. 예를들면, 3.14, 97, a, or hello 프로그램에서는, int a = 97; char b = a ; double area, r=2.0; double circumference; area = 3.14 * r*r; circumference = 2 * 3.14 * r; ?? 2.0 a b area circumf erence r 17

18 기호상수 (Symbolic Constants) 만약에더정확한 의추정값을사용하고싶다면? 예를들어, 3.14 대신에 를사용하자하는경우 여러분은손으로모든것을고쳐야한다. 더좋은해결책을위해, 를기호상수로정의한다. #define PI area = PI * r * r; circumference = 2 * PI * r; 전처리지시자 (preprocessor directive) 로정의한다. 컴파일러는각각의지시식별자가나타났을때상수값으로변환시켜준다. 18

19 2.3 할당선언 (Assignment Statements) 변수에값을할당하는데사용되어짐 일반적형태 : 식별자 = 수식 ; /* = 는수식에식별자를할당한다는것을뜻함 */ 예 1 double sum = 0; 예 2 int x; x=5; 0 5 sum x 예 3 char ch; ch = a ; a ch 19

20 할당예제 ( 계속 ) 예 3 int x, y, z; x = y = 0; right to left! x y Z = 1+1; z 2 예 4 y=z; y=5; 20

21 다른형태의할당예제 int a, b=5; double c=2.3; a=c; /* data loss */ c=b; /* no data loss */? a b c long double, double, float, long integer, integer, short integer, char 데이터가손실될수도있습니다. 조심하세요 데이터손실이없습니다. 21

22 연습 : swap 변수 x 와 y 의할당된값을바꿔주는문장을작성합시다. x y 3 5 x y 5 3 Before After 22

23 연습 : swap 첫번째순서 x=y; y=x; x 3 x 5 x 5 y 5 y 5 y 5 Before After x=y After y=x 23

24 연습 : swap 솔루션 temp= x; x=y; y=temp; x y temp 3 5? x y temp x y temp x y temp Before after temp=x after x=y after y = temp 다음솔루션도잘작동합니까? temp= y; y=x; x=temp; 두개의변수의값을바꿔주는 C 프로그램코드를작성하세요. 24

25 Name Addr Content Lecture++; Lecture 4 25

26 산술연산자 (Arithmetic Operators) 더하기 + sum = num1 + num2; 빼기 - age = 2007 my_birth_year; 곱하기 * area = side1 * side2; 나누기 / avg = total / number; 모듈러스 (moduls) % lastdigit = num % 10; 모듈러스는두개의정수를나눈나머지의값을반환 Example 5%2 는 1 값을반환 이항 vs. 단항연산 위의모든연산자는이항연산자이다. ( 이유 ) - 는단항연산자이다, e.g., a = -3 * -4 26

27 산술연산자 (Arithmetic Operators) id = exp 는 exp 의결과에 id 를할당한다. X=X+1 다음과같다. 첫째로 X+1 을수행 결과를 X 로할당 X 는 4 라고가정하고, X=X+1 을실행한다. 4 X 5 27

28 정수나누기 vs 실수나누기 두개의정수사이에서의나누기는결과가정수 결과값은잘려진형태이고, 소수점이생략 Example: int A=5/3; A 는값이 1 int B=3/6; B 는값이 0 소수점값을반환하기 : double A=5.0/3; A 는값이 double B=3.0/6.0; B 는값이

29 단순한산술연산을계산 / 출력하는프로그램실행하기 Declare a=2, b=5, c=7, d as int Declare x=5.0, y=3.0, z=7.0, w as double d = c%a Print d d = c/a Print d w = z/x Print w d = z/x Print d w = c/a Print w a=a+1 Print a 다른산술연산도시도해봅시다.. 29

30 복합연산과산술연산에서의우선순위 int a=4+6/3*2; a=? int b=(4+6)/3*2; b=? a= 4+2*2 = 4+4 = 8 b= 10/3*2 = 3*2= 6 5 assign = Right to left 30

31 복합산술연산을계산 / 출력하기위해이전의프로그램을확장 Declare a=2, b=5, c=7, d as int Declare x=5.0, y=3.0, z=7.0, w as double d = a+c%a Print d d = b*c/a Print d w = y*z/x+b Print w d = z/x/y*a Print d w = c/(a+c)/b Print w a=a+1+b/3 Print a 다른복합산술연산도시도해봅시다.. 31

32 증가및감소연산자 증가연산자 ++ 사후증가 x++; 사전증가 ++x; 감소연산자 -- 사후감소 x--; 사전감소 --x; } x=x+1; } x=x-1; 그러나, 다음예제에서차이가있다. X=10 이라고가정한다 ; A = x++ - 5; means A=x-5; x=x+1; so, A= 5 and x=11 B =++x - 5; means x=x+1; B=x-5; so, B=6 and x=11 32

33 복합대입연산자 (Abbreviated Assignment Operator) 연산자 예 동일연산 += x+=2; x=x+2; -= x-=2; x=x-2; *= x*=y; x=x*y; /= x/=y; x=x/y; %= x%=y; x=x%y;!!! x *= 4+2/3 x = x*4+2/3 거짓 x=x*(4+2/3) 참 33

34 복합대입연산자 (updated) 34

35 다음의수학공식을 C 언어로작성 Area of trapezoid base area ( height 1 height 2 * 2 ) area = base*(height1 + height2)/2; How about this Tension 2m1m2 m m 1 2 g 35

36 연습 Tension 2m1m m m g Tension = 2*m1*m2 / m1 + m2 * g; wrong Tension = 2*m1*m2 / (m1 + m2) * g 다음을계산하기위해 C언어로작성 3 2 x 2x x 6.3 f 2 x 0.05x 3.14 f = (x*x*x-2*x*x+x-6.3)/(x*x+0.05*x+3.14); 36

37 연습 : 산술연산 다음의연산후에메모리스냅샷을나타내시오 (by hand). int a, b, c=5; double x, y; a = c * 2.5; b = a % c * 2-1; x = (5 + c) * 2.5; y = x (-3 * a) / 2;?? 5?? a b c x y a, b, c, x, y 의값이출력되도록 C 프로그램을작성하고, 직접계산한값과비교해보시오. a = 12 b = 3 c= 5 x = y =

38 연습 : 산술연산자 C프로그램에서는다음의문장이어떻게작동하는지보여주세요. 그리고최종결과물은무엇입니까? int a = 6, b = -3, c = 2; c= a - b * (a + c * 2) + a / 2 * b; printf("value of c = %d \n", c); 38

39 단계별로 C 에서연산자가어떻게작동하는가 c = * (6 + 2 * 2) + 6 / 2 * -3; c = * (6 + 4) + 3 * -3 c = * c = c = c = 27 output: Value of c = 27 39

40 단계별로 C 에서연산자가어떻게작동하는가 int a = 8, b = 10, c = 4; c = a % 5 / 2 + -b / (3 c) * 4 + a / 2 * b; printf("new value of c is %d n", c); 40

41 연습 : 숫자를뒤바꾸기 숫자가 [ ] 범위내에서주어진다고가정한다. 이것을뒤바꾸는프로그램을작성한다. 예를들면, 숫자 258 을뒤바꾸면 852 d1 = num / 100; d3 = num % 10; reverse = num (d1*100+d3) + d3*100 + d1; int d1, d2, d3, num=258, reverse; d1 = num / 100; d2 = num % 100 / 10; d3 = num % 10; reverse = d3*100 + d2*10 + d1; printf( reverse is %d n, reverse); 41

42 Name Addr Content Lecture++; Lecture 5 42

43 2.4 표준입력과출력 출력 : printf 입력 : scanf 두점사이의거리를구하는프로그램을기억합시다! /* Declare and initialize variables. */ double x1=1, y1=5, x2=4, y2=7, side_1, side_2, distance; 우리는다른점사이의거리를어떻게계산할수있습니까? 사용자로부터두점을얻어서이용하면더좋을것입니다. 이것을위해서우리는 scanf 를사용할것입니다. 이함수를사용하기위해서, 우리는다음의문장이필요 #include <stdio.h> 43

44 표준출력 printf 함수 화면에정보를출력 필요한두가지인자 control string 전달인자, 서식문자 or 모두 출력을위한식별자 Example double angle = 45.5; printf( Angle = %.2f degrees \n, angle); Output: Angle = degrees 서식문자 Control String 식별자 44

45 출력문장을위한 서식문자 (Conversion Specifiers) Frequently Used 45

46 표준출력 Output of -145 Output of Specifier 출력값 %i -145 %4d -145 %3i -145 %6i -145 %-6i -145 %8i -145 %-8i -145 Specifier 출력값 %f %6.2f %7.3f %7.4f %7.5f %e e+02 %.3E 1.579E+02 46

47 연습 int sum = 65; double average = ; char ch = b ; 다음의문장을통해나타나는출력물을보여주시오. printf("sum = %5i; Average = %7.1f \n", sum, average); printf("sum = %4i \n Average = %8.4f \n", sum, average); printf("sum and Average \n\n %d %.1f \n", sum, average); printf("character is %c; Sum is %c \n", ch, sum); printf("character is %i; Sum is %i \n", ch, sum); 47

48 연습 ( 계속 ) 솔루션 Sum = 65; Average = 12.4 Sum = 65 Average = Sum and Average Character is b; Sum is A Character is 98; Sum is 65 48

49 표준출력 scanf 함수 키보드를통한입력값 필요한인자 control string control string에서서식문자와일치하는메모리위치 Example: double distance; char unit_length; scanf("%lf %c", &distance, &unit_length); 변수의데이터형태에대한적절한서식문자를사용하는것은매우중요하다. 49

50 입력문장을위한서식문자 Frequently Used 50

51 연습 float f; int i; scanf( %f %i, &f, &i); 만약에다음의값이입력되면, scanf 문장뒤에 f 와 i 에저장되는값은무엇입니까?

52 Good 실습 scanf 전에 printf 를사용할필요가없지만, 사용자에게무엇을입력할지알려주는것이좋습니다. : printf( Enter x y : ); scanf( %d %d, &x, &y); 그렇지않다면, 사용자는무엇을해야하는지모를것입니다. 만약에여러분이변수이름전에 & 입력을하지않았다면무슨일이발생할까요? 52

53 연습 : 프로그램을재 - 컴파일없이두개의점을입력하는방법 printf( enter x1 y1: ); scanf( %lf %lf, &x1, &y1); printf( enter x2 y2: ); scanf( %lf %lf, &x2, &y2); 53

54 프로그래밍연습 double 형변수 (a, b, c, d) 값을사용자가입력하도록요청하고다음의공식을계산하는프로그램을작성해라. 그리고결과 (res) 를소수점 3 자리까지출력시켜라. a b a c c b res c d a b a c 54

55 Name Addr Content Lecture++; Lecture 6 55

56 Library Functions 56

57 2.7 Math 함수 #include <math.h> fabs(x) x의절대값. sqrt(x) x 의제곱근, where x>=0. pow(x,y) 멱제곱, x y. 오류가발생한다면, x=0 이고 y<=0, 또는 x<0 이고 y 가정수가아닐때. ceil(x) 가장가까운정수로올림 ( 방향으로, infinity). Example, ceil(2.01) 는 3 과같다. floor(x) 가장가까운정수로올림 (- 방향으로, negative infinity). Example, floor(2.01) 는 2 와같다. exp(x) e x 을계산한다. log(x) x를밑이 e인로그값으로계산한다. 오류가발생한다면, x<=0. log10(x) x를밑이 10인로그값으로계산한다. 오류가발생한다면, x<=0. 57

58 삼각함수 sin(x) x의 sine 값계산 (x는라디안값 ) cos(x) x의 cosine 값계산 (x는라디안값 ) tan(x) x의 tangent 값계산 (x는라디안값 ) asin(x) x의 arcsine or sine의역수값계산 (x의범위는 [-1, 1]) [- /2, /2] 범위내이있는값을반환. acos(x) x의 arccosine or cosine의역수값계산 (x의범위는 [-1, 1]) [0, ] 범위내이있는값을반환. atan(x) x의 arctangent or tangent의역수값계산 [- /2, /2] 범위내이있는값을반환. atan2(y,x) x/y 의 arctangent or tangent 의역수값계산 [-, ] 범위내이있는값을반환. 58

59 함수의매개변수 or 인자 함수는인자를포함하지않을수도있고한개또는그이상의인자를포함할수도있다. 한개이상의인자를포함한다면, 정확한순서로인자를목록화한다. 인자가의미하는것에대하여주의한다. 예를들면, sin(x) 는 x 값이라디안값으로주어진다고가정한다. 그래서 sin 60 도를계산하기위해서는우선 60 도를라디안값으로변환후, sin 함수를사용하여야한다. #define PI theta = 60; theta_rad = theata * PI / 180; b = sin(theta_rad); /* is not the same as sin(theta); */ 59

60 연습 속도를구하기위해다음의등식을사용해서수식을작성하시오. 변수는선언되었다고가정한다. velocity vo 2 2a( x xo) velocity = sqrt(vo*vo+2*a*(x-xo)); velocity = sqrt(pow(vo,2)+2*a*(x-xo)); 60

61 연습 속도를구하기위해다음의등식을사용해서수식을작성하시오. 변수는선언되었다고가정한다. center 38.19( r 2 ( r 3 s )sin 2 s ) a 3 a a 값이라디안값인지확인한다 ; 그렇지않다면, 우선이값을라디안값으로변환 center = (38.19*(pow(r,3)-pow(s,3))*sin(a))/ ((pow(r,2)-pow(s,2))*a); center = (38.19*(r*r*r - s*s*s)*sin(a))/((r*r s*s)*a); 61

62 연습 : 부피계산 반지름이 r 이고, 높이가 h 인실린더의부피를계산하는프로그램을작성하시오. V r 2 h r h 62

63 솔루션 : 부피계산 문제해결방법 1. 문제설정 2. 입력 / 출력서술 3. 예제작성 4. 알고리즘개발 5. 테스트 63

64 솔루션 : 부피계산 ( 계속 ) 문제설정 반지름이 r 이고, 높이가 h 인실린더의부피를계산 입력 / 출력서술 radius r volume v height h 64

65 솔루션 : 부피계산 ( 계속 ) 예제작성 r=2, h =3, v=37.68 알고리즘개발 Read radius Read height Compute Volume Print volume 프로그램으로변환 ( 다음슬라이드..) V r 2 h 65

66 솔루션 : 부피계산 ( 계속 ) #include <stdio.h> #include <stdlib.h> #define PI int main(void) { /* Declare Variables */ double radius, height, volume; printf("enter radius: "); scanf("%lf",&radius); printf("enter height: "); scanf("%lf",&height); /* Compute Volune */ volume = PI*radius*radius*height; } /* Print volume */ printf("volume = %8.3f \n", volume); system("pause"); exit(0); 66

67 연습문제 넓이가주어진경우에, 원의반지름을찾는프로그램을작성하시오. 사용자로부터넓이를입력받은후, 반지름을계산하고그값을나타내시오. A r 2 r 67

68 연습 B c A a b C 사용자가 A의각도, a 와 b의길이 (cm) 를각각입력하도록하고다음을계산하는프로그램을작성하시오. B=? in degrees C=? in degrees c=? in cm area=? in cm 2 a sin A area b c sin B sin C 1 ab sin C ac 예를들어, 다음과같이주어진다면 A=36 o, a=8 cm, b=5 cm: B=21.55 o, C= o, c=11.49 cm sin B 1 2 bc sin A 68

69 두선의교차점과두선사이의각도를구하는프로그램을작성하시오. 69

70 2.8 문자열함수 #include <ctype.h> putchar( a ); C= getchar(); toupper(ch) ch 가소문자인경우에, 이함수는일치하는대문자로반환 ; 그렇지않으면, ch 로반환 isdigit(ch) ch 가 10진수인경우에, 이함수는 0이아닌값으로반환 ; 그렇지않으면, 0 값으로반환 islower(ch) ch 가소문자인경우에, 이함수는 0이아닌값으로반환 ; 그렇지않으면, 0 값으로반환 isupper(ch) ch 가대문자인경우에, 이함수는 0이아닌값으로반환 ; 그렇지않으면, 0 값으로반환 isalpha(ch) ch 가대문자 or 소문자인경우에, 이함수는 0이아닌값으로반환 ; 그렇지않으면, 0 값으로반환 isalnum(ch) ch 가알파벳 or 숫자인경우에, 이함수는 0이아닌값으로반환 ; 그렇지않으면, 0 값으로반환 70

71 연습다음프로그램의출력물은무엇입니까? #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(void) { char ch1='a', ch2; char ch3='x', ch4; char ch5='8'; } ch2 = toupper(ch1); printf("%c %c \n",ch1,ch2); ch4 = tolower(ch3); printf("%c %c \n",ch3,ch4); printf("%d\n",isdigit(ch5)); printf("%d\n",islower(ch1)); printf("%d\n",isalpha(ch5)); system("pause"); return(0); 71

OCW_C언어 기초

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

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

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

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

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

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

프로그래밍개론및실습 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

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

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

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

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

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

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

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

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2> 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력

More information

중간고사

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

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - chap-03.pptx

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

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

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

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

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2) 일반적인프로그램의기본구성형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력 ( 출력단계 ) 한다. 데이터입력 데이터처리 결과출력 1-23 덧셈프로그램 #1 주석 전처리기지시어 /* 두개의숫자의합을계산하는프로그램 */ #include 함수 int main(void) { int x; int y; int sum;

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

untitled

untitled while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)

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

쉽게 풀어쓴 C 프로그래밍

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

More information

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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - Lesson2.pptx Computer Engineering g Programming g 2 제 3 장 C 프로그래밍구성요소 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() *

More information

6.1 Addresses and Pointers Recall memory concepts from Ch2 ch6_testbasicpointer.c int x1=1, x2=7; double distance; int *p; int q=8; p = &q; name addre

6.1 Addresses and Pointers Recall memory concepts from Ch2 ch6_testbasicpointer.c int x1=1, x2=7; double distance; int *p; int q=8; p = &q; name addre GEN1031 Computer Programming Chapter 6 Pointer 포인터 Kichun Lee Department of Industrial Engineering Hanyang Univesity 1 6.1 Addresses and Pointers Recall memory concepts from Ch2 ch6_testbasicpointer.c

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

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

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 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

More information

untitled

untitled if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(

More information

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

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013. 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 덧셈프로그램 #1 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계

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

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

C 프로그램의 기본

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

More information

歯7장.PDF

歯7장.PDF 7 Hello!! C 2 . 3 ([] ) < > [ ]; int array[10]; < > [ ][ ]; int array [3] [5]; 4 < > [ ]={ x1,,x10} ( ); (,). ({}). : int array[10]={1,2,3,4,5,6,7,8,9,10}; (" "). : char array[7]="turbo-c"; 5 int array[2][3]={{1,2},{3,4},{5,6}};

More information

chap7.PDF

chap7.PDF 7 Hello!! C 2 . 3 ([] ) < > [ ]; int array[10]; < > [ ][ ]; int array [3] [5]; 4 < > [ ]={ x1,,x10} ( ); (,). ({}). : int array[10]={1,2,3,4,5,6,7,8,9,10}; (" "). : char array[7]="turbo-c"; 5 int array[2][3]={{1,2},{3,4},{5,6}};

More information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

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

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 #define _CRT_SECURE_NO_WARNINGS #include #include main() { char ch; printf(" 문자 1개를입력하시오 : "); scanf("%c", &ch); if (isalpha(ch))

More information

OCW_C언어 기초

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

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

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습 C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습 구성요소 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 예 /* 두개의숫자의합을계산하는프로그램 */ #include { int main(void) int x; // 첫번째정수를저장할변수 int y; // 두번째정수를저장할변수

More information

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

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

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

슬라이드 1

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

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

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

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

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

슬라이드 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

1.1.1 컴퓨터의 구성 p.19

1.1.1 컴퓨터의 구성 p.19 교육용프로그래밍언어 C 언어 입력과출력, 연산자 강사 : 김희진 1 contents 표준출력함수 printf, (putchar, puts) 의특징과사용법 표준입력함수 scanf, (gets) 의특징과사용법 printf 와 scanf 함수에서사용되는변환명세이해 수식과대입문의개념이해연산자의종류와기능 대입, 산술, 복합대입, 관계, 논리, 조건연산자증감, 형변환,

More information

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

C++-¿Ïº®Çؼ³10Àå C C++. (preprocessor directives), C C++ C/C++... C++, C. C++ C. C C++. C,, C++, C++., C++.,.. #define #elif #else #error #if #itdef #ifndef #include #line #pragma #undef #.,.,. #include #include

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 학습목표 변수와상수의개념에대해알아본다.

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - ch01.ppt 201-1 학기프로그래밍입문 (1) 1 장. C 의개요 박종혁 Tel: 970-6702 Email: jhpark1@s.ac.kr 0 C 의개요 C-Language 란? - 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 - Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 - 구조적인언어, 강력한기능, 빠른속도 C 언어의역사 - ALGOL60

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

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

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

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx 문제해결중심 C 프로그래밍 제2장순서도를 C로변환하기 ( 순차구조 ) 강릉원주대학교 학습목표 학습목표 이장은1장에서배운순서도를 C 언어프로그램으로변환하는방법을배우고, 이를익숙하게습득하는것을목표로하며, 다음내용을배운다. 학습내용 C 언어를이용한입력과출력방법 분기, 반복, 복합순서도를 C 언어로변환하는방법 C 언어의자료형, 연산자, 제어문사용방법 GangneungWonju

More information

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

Microsoft PowerPoint - chap08-1 [호환 모드] 2011-1 학기프로그래밍입문 (1) 참고자료 : chapter 8-1. 전처리 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 전처리명령어 컴파일과정에는전처리 (preprocessing) 단계가있다. - 컴파일러는목적파일을만들기전에전처리라고하는특별한작업을

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 04 전처리와입출력 목차 1. 전처리 2. 출력함수 printf() 3. 입력함수 scanf() 3 1. 전처리 전처리개요 전처리기역할 컴파일 compile 전에전처리기 preprocessor 의전처리 preprocess 과정이필요 결과인전처리출력파일을만들어컴파일러에게보내는작업을수행 전처리지시자preprocess

More information

슬라이드 1

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

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

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap-05.pptx 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 컴퓨터프로그래밍기초 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살벼봅니다. 컴퓨터프로그래밍기초 2 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate

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

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - c2.ppt 프로그램과표준입출력 프로그램 (program) 자료를입력받아서이를처리하여출력을하는일을수행함 2 장 C 언어의기초 입력 프로그램 ( 처리 ) 출력 식별자, 예약어 자료형 상수와변수 수식 연산자 : 산술연산자 자료형변환 표준입출력 (standard input and output: stdio) 표준입력 : 키보드입력 표준출력 : 모니터또는터미널로출력 (cf) DOS,

More information

untitled

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

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

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

Microsoft PowerPoint - Chapter8.pptx

Microsoft PowerPoint - Chapter8.pptx Computer Engineering g Programming g 2 제 8 장함수 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 모듈화 함수의개념, 역할 함수작성방법 반환값 인수전달 규모가큰프로그램은전체문제를보다단순하고이해하기쉬운함수로나누어서프로그램을작성하여야합니다.

More information

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

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

More information

ABC 3장

ABC 3장 3 장기본자료형 0 선언, 수식, 배정 모든변수는사용되기전에반드시선언되어야함 일반적인프로그램의시작형태 #include int main(void){ int a, b, c; /* declaration */ float x, y = 3.3, z = -7.7; /* declaration with initialization */ printf("input

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

chap8.PDF

chap8.PDF 8 Hello!! C 2 3 4 struct - {...... }; struct jum{ int x_axis; int y_axis; }; struct - {...... } - ; struct jum{ int x_axis; int y_axis; }point1, *point2; 5 struct {....... } - ; struct{ int x_axis; int

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

int main(void) int a; int b; a=3; b=a+5; printf(a : %d \n, a); printf(b : %d \n, b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf( a : %x \ ? 1 int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \n", &a); printf(" b : %x \n", &b); * : 12ff60,

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 (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

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

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers C Programming 포인터 (Pointers) Seo, Doo-Ok Clickseo.com clickseo@gmail.com 목 차 포인터의이해 다양한포인터 2 포인터의이해 포인터의이해 포인터변수선언및초기화 포인터연산 다양한포인터 3 주소연산자 ( & ) 포인터의이해 (1/4) 변수와배열원소에만적용한다. 산술식이나상수에는주소연산자를사용할수없다. 레지스터변수또한주소연산자를사용할수없다.

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 - 기계공학실험1-1MATLAB_개요2D.pptx

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

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 08 포인터기초 목차 1. 포인터변수와선언 2. 간접연산자 * 와포인터연산 3. 포인터형변환과다중포인터 컴퓨터프로그래밍 (Computer Programming) - 08 포인터기초 3 1. 포인터변수와선언 주소개념 주소 address 메모리공간은 8비트인 1 바이트마다순차적인고유한번호 메모리주소는저장장소인변수이름과함께기억장소를참조하는또다른방법

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살펴봅니다. 수식의예 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate * period) / 12.0

More information

03 상수, 변수, 자료형

03 상수, 변수, 자료형 Part 03 상수, 변수, 자료형 1 이장의내용 자료형이란무엇인가? 상수와변수 정수형 부동소수형 문자형 2 3.1 자료형이란무엇인가? 3 자료형이란무엇인가? 자료형 (data type) 프로그램에서표현혹은저장하는데이터의종류혹은유형 C 언어의자료형 C 언어는 1 개의문자형, 4 개의정수형, 3 개의부동소수형을제공 4 3.2 변수 /3.3 상수 5 변수 변수

More information

Microsoft PowerPoint - chap03.ppt

Microsoft PowerPoint - chap03.ppt 2010-1 학기프로그래밍입문 (1) 3 장기본자료형 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 목차 3.1 선언, 수식, 배정 3.2 기본자료형 3.3 문자및 char 자료형 3.4 int 자료형 3.5 정수적형 short, long, unsigned 3.6 부동형 3.7 typedef의사용 3.8 sizeof 연산자 3.9

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

슬라이드 1

슬라이드 1 5. 표준입력 : scanf scanf 의기본사용법 키보드로값을입력받아지정한변수에저장함 scanf( %d, &i ); 키보드로정수를입력받아, i 변수에저장함 scanf( %d %d, &i, &j ); 키보드로정수두개를입력받아, 각각 i, j 변수에저장함 scanf( %d %f, &i, &f ); 키보드로정수와실수를각각입력받아, 정수형변수 i, 실수형변수 f

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

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2 CHAPTER 04. 연산자 수식과대입문의개념을이해한다. 연산자의종류와기능에대해살펴본다. 대입, 산술, 복합대입, 관계, 논리, 조건연산자증감, 비트, 형변환, 콤마, 주소, sizeof 연산자 연산자의우선순위와결합방향을이해한다.. 형변환원리, 종류, 필요성, 사용법을살펴본다. 4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자

More information

Microsoft PowerPoint - Chapter_08.pptx

Microsoft PowerPoint - Chapter_08.pptx 프로그래밍 1 1 Chapter 8. Pointers May, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 포인터의개념 (1/6) 2 포인터란 : 다른객체를가리키는변수 객체의메모리주소를저장하는변수 기호적방식 (symbolic way) 으로주소사용 포인터와관련된연산자

More information

Microsoft PowerPoint - C++ 5 .pptx

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

More information

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

Microsoft PowerPoint - chap11-포인터의활용.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

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information