Computer Programming in C Chapter 년 가을학기 부산대학교 전자전기정보컴퓨터공학부
Computer Programming Chapter 12 I 장. 개요 목차 컴퓨터 프로그래밍 언어와 C- 언어 프로그래밍 하는 절차 Sample 프로그래밍
Computer Programming Chapter 프로그래밍 언어와 C- 언어 컴퓨터와 인간의 대화 : 프로그램 프로그램 : 컴퓨터에게 지시하는 명령의 순서 프로그래밍 언어 : 명령 또는 프로그램의 형식, 문법 비교 : 일반 자연언어 컴퓨터프로그래머 명령 명령의 순서 : 프로그램
Computer Programming Chapter 프로그래밍 언어와 C- 언어 C- 언어 1970 년대 초에 개발 초기에는 주로 Unix 를 위한 언어 컴퓨터 프로그래밍언어 중 가장 널리 사용 다른 언어에 비하여 프로그래머에 따라 효율성을 높이는 것이 가능 비교적 기계어에 가까운 언어 컴퓨터 엔지니어에게는 필수적 언어
Computer Programming Chapter 프로그래밍하는 절차 단계 1 : 설계 프로그램의 구조, 절차 등을 구상하고 정리 단계 2 : Editing 과 Coding 프로그램의 작성 주어진 환경의 편집 도구를 이용 예. Unix: vi, emacs 예. MS-Windows: Visual C/C++, Borland C 단계 3 : Compile 프로그램을 실행 가능한 기계어로 전환 Compiler 가 필요 예. Visual C/C++, cc 단계 4 : 실행 실행 파일 (.exe) 을 실행
Computer Programming Chapter 프로그래밍하는 절차 예. 설계 Visual C/C++ EditingCompile MS-Windows Sample.c 실행 Sample.obj Sample.exe 결과
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Block
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Variable Value
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Type Declaration
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Statement
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Control Flow
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Condition
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Assignment
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Operator Operator precedence : ( ) > *, / > …
Computer Programming Chapter Sample Program #include main() { float a,b,c; /* ax 2 + bx + c=0 */ float x1,x2; double D; /* input coefficients */ printf( “ Input a b c : ” ); scanf( “ %f %f %f ”, &a, &b, &c); if(a==0) { if(b==0) { if(c==0) printf( “ Any real number\n ” ); else printf( “ No Solution\n ” ); } else { /* b!=0 */ x1= -c/a; printf( “ Solution x=%f\n ”, x1); } else { /* a!=0 */ D = doubleb*b-4.0*a*c; if(D<0) printf( “ No Solution\n ” ); else if(D==0) { x1=-b/(2.0*a); printf( “ Solution x=%f\n ”, x1); } else { x1=(-b+sqrt(D))/(2.0*a); x2=(-b-sqrt(D))/(2.0*a); printf(Solution x1=%f x2=%f\n ”,x1,x2); } Input/Output
Computer Programming Chapter 116 Basic Concepts of Sample Program Block : { … } Value, Variable Type Declaration : integer, float, double, etc. Statement and Semi-colon ( “ ; ” ) Control Flow : if.. else if … else Condition Assignment ( “ = “ ) Operator, Operator Precedence Function Input and Output with printf and scanf