1 / 27

Computer Graphics (Part 1: C/C++ Programming)

Computer Graphics (Part 1: C/C++ Programming). HyunKi Hong Dept. of Image Eng., GSAIM ChungAng Univ. Contents. 상수와 변수 수식과 연산자 제어 명령문 파생자료형 ( 배열 , 포인터 , 구조체 등 ) C++ 함수 클래스와 객체. 명령문 1; // 처리 명령문 2; // 처리 … 명령문 n; // 처리. 제어문. 순차성 을 갖는 문장의 실행순서를 변경

clare
Download Presentation

Computer Graphics (Part 1: C/C++ Programming)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Graphics(Part 1: C/C++ Programming) HyunKi Hong Dept. of Image Eng., GSAIM ChungAng Univ.

  2. Contents 상수와 변수 수식과 연산자 제어 명령문 파생자료형(배열, 포인터, 구조체 등) C++ 함수 클래스와 객체

  3. 명령문 1; //처리 명령문 2; //처리 … 명령문 n; //처리 제어문 • 순차성을 갖는 문장의 실행순서를 변경 : 필요한 명령문을 반복하거나, 조건 따라 선택 또는 분기할 때, • 종류

  4. 거짓 조건식 참 문장1 다음 문장 조건문(conditional statements) • 조건식에 따라 참인 경우와 거짓인 경우로 각각 분기 • 단순 if문 • if(조건식) • 문장1; • 다음 문장; • 문장1이 여러 줄일 경우 { }사용

  5. 거짓 조건식 참 문장 1 문장 2 다음 문장 if-else문 • if (조건식) 문장 1; //처리 1 else 문장 2; //처리 2

  6. if-else문 #include <iostream.h> void main() { char ch; cin>>ch; if(ch>='a' && ch<='z') cout<<"소문자\n"; else if(ch>='A' && ch<='Z') cout<<"대문자\n"; else cout<<"영문자가 아닙니다.\n"; } 예제 작성: 키보드로 숫자 1을 누르면 남성입니다 키보드로 숫자 2를 누르면 여성입니다

  7. if-else문 # include <iostream.h> main() { int kor = 85, eng = 95, math = 100; int ave = 0; ave = (kor + eng + math)/3; if(ave >= 90) cout << "A\n"; else if(ave >= 80) cout << "B\n"; else cout << "F\n"; if(kor > ave) { cout << "kor가 ave보다 큽니다.\n"; cout << "또는 ave는 kor보다 작습니다.\n"; } else { cout << "kor는 ave보다 작거나 같습니다.\n"; cout << "또는 ave는 kor보다 크거나 같습니다.\n"; } } 7/26

  8. 다중 if-else문 if(조건식1) 문장 1; //처리 1 elseif(조건식2) 문장 2; //처리 2 else 문장 n; //처리 n

  9. 조건 검사 • if(a>=1 && a<=6) #include <iostream.h> void main(void) { int x; cout << " input x ? " ; cin >> x; if (x) cout << "male"; else cout << "female"; } X가 참이냐? (x!=0) • if(!x) • x가 거짓이냐? • (x==0)

  10. switch-case int, char, enum, 결과가 정수형인 수식 switch(수식){ case 상수1 : 문장1; break; case 상수2 : 문장2; break; case 상수n: 문장n; break; default : 문장; break; } 문자/정수 상수 (문자 상수일 경우 ‘‘로 묶음) 루프를 벗어남. 생략된 경우에는 다음 case 문장이 수행됨. 생략 가능 위의 조건을 만족하지 않을 때

  11. switch-case 예제 1 # include <iostream.h> main() { char flag; cin >> flag; switch(flag) { case 'k': cout << "Korea! 파이팅! \n"; break; case 'm': cout << "Milk를 많이 먹자! \n"; break; default: cout << "안녕히 가세요. \n"; } cout << "끝. \n"; } #include <iostream.h> void main(void) { int value; cout<<"\n1~3까지의 수를 입력하세요:"; cin>>value; switch(value){ case 1 : cout<<"1을 입력하셨습니다.\n"; break; case 2 : cout<<"2을 입력하셨습니다.\n"; break; case 3 : cout<<"3을 입력하셨습니다.\n"; break; default: cout<<"다시 입력하세요.\n"; break; } } 11/26

  12. switch-case 예제 2:계산기 #include <iostream.h> void main() { char op; int v1, v2; cout<<"\n계산하려는 수식을 입력하세요:"; cin>>v1 >> op >>v2; //10+20 cout<<"결과="; switch(op){ case '+' : cout<<v1+v2; break; case '-' : cout<<v1-v2; break; default : cout<<"다시 입력하세요\n"; break; } } 사칙연산을 할 수 있는 계산기 완성

  13. 반복문(for문, while문, do~while문) 참이면 반복 문장 실행 거짓이면 for문 종료 for(초기화식;조건식;증감식) { 반복 실행될 문장; } for(i=0; i<10; i++) for(j=10; j>0; j- -) for(i=1,j=1; i<=99; i+=2,j++) for( ; ; ) //무한루프, break문을 써서 탈출 1 0 3 반복 실행될 문장 다음 실행 2 쉼표 연산자

  14. For문 예제 # include <iostream.h> main() { int a, sum = 0; for (a=1; a<=10; a++) sum += a; cout << "1+2+3+....+ 10= " << sum << endl; } 연습문제: 1~100까지 화면에 출력 1~100까지 짝수만 화면에 출력 (5의 배수는?) 14/26

  15. switch-case & 무한루프 #include <iostream.h> void main() { char op; int v1, v2; do{ // for( ; ; ){ cout<<"\n계산하려는 수식을 입력하세요(끝내려면 0+0을 입력):"; cin>>v1 >> op >>v2; //10+20 if(v1==0 && v2==0) break; cout<<"결과="; switch(op){ case '+' : cout<<v1+v2; break; case '-' : cout<<v1-v2; break; default : cout<<"다시 입력하세요\n"; break; } }while(1); //for문의 괄호 닫는다 } } 15/26

  16. 2중 for문 예제 #include <iostream.h> #include <iomanip.h>//setw() void main() { int a,b; cout<<"***********구구단****************\n"; for(a=2;a<=9;a++){ for(b=1;b<=9;b++){ cout<<a<<'x'<<b<<'='<<setw(2)<<a*b<<' '; } cout<<'\n'; } } 1~9 2X1= 2 2X2= 4 2X9=18 3X1= 3 3X2= 6 3X9=27 4X1= 4 4X2= 8 4X9=36 : : …. : 9X1= 9 9X2=18 9X9=81 2~9 16/26

  17. while문 • 처리 명령어들을 주어진 조건을 만족할 때까지 횟수에 관계없이 반복 실행 수식(조건식)을 평가하여 참이면 반복문장을 계속 실행하고, 거짓이면 while문 종료 while(수식){ 반복문장; } while(1) 무한 루프

  18. while문 예제 #include <iostream.h> void main() { int n,sum=0; for(n=1;n<=100;n++) sum+=n; cout<<sum; } • #include <iostream.h> • void main() • { • int n=1,sum=0; • while(n<=100){ • sum+=n; • ++n; • } • cout<<sum; • } 18/26

  19. do-while문 do{ 반복문장; } while(수식); • 처리문장을 한번 수행하고 난 뒤, 이후 반복을 위해 조건문을 판정 수식(조건식)을 평가하여 참이면 반복문장을 계속 실행, 거짓이면 종료

  20. do-while문 예제 #include <iostream.h> void main() { int n=1,sum=0; do{ sum+=n; ++n; }while(n<=100); cout<<sum; } • #include <iostream.h> • void main() • { • int n=1,sum=0; • while(n<=100){ • sum+=n; • ++n; • } • cout<<sum; • } 20/26

  21. goto문 goto label; label : 문장; 사용자 정의 단어 콜론 goto SS; SS: ++n;

  22. break 문 • 반복문 등에서 반복과정을 탈출하고자 하는 경우에 사용 • (for, while, do-while)이나 switch문에서 (안쪽) 루프를 하나 벗어남 # include <iostream.h> #include <iomanip.h>//setw() void main() { int a,b; for(a=2;a<=9;a++){ for(b=1;b<=9;b++){ if(b>=6) break; cout<<a<<"*"<<b<<"="<<setw(2)<<a*b<<" "; }cout<<"\n"; } } 22/26

  23. 임의의 개수의 수를 입력 받아 평균을 구하는 프로그램 #include <stdio.h> void main() { int i,num,sum=0,total; printf("\n임의의 수의 평균을 구하는 프로그램입니다.\n"); printf("\n계산하려는 수는 몇개입니가?="); scanf("%d",&total); for(i=1;i<=total;i++){ printf("%d번째 수를 입력하세요=",i); scanf("%d",&num); sum+=num; } printf("평균은 %lf 입니다.\n",(double)sum/total); } 23/26

  24. exit() 함수 • 프로그램을 강제로 종료하고 운영 체제로 제어를 넘기는 역할 →void exit(int 반환값); : 정상적 종료는 0, 오류로 인한 강제종료는 1 # include <iostream.h> # include <stdlib.h> main() { char ch; cout << "1. 콩나물\n"; cout << "2. 콩자반\n"; cout << "3. 종료하기\n"; cout << "원하는 메뉴를 선택하시오: "; do { cin >> ch; switch(ch) { case '1': cout << "콩나물을 선택했습니다! \n"; break; case '2': cout << "콩자반을 선택했습니다! \n"; break; case '3': cout << "프로그램을 종료합니다! \n"; exit(0); default: cout << "잘못 선택했습니다. \n"; } } while(ch); } 24/26

  25. continue문 • for, while, do-while문에서 루프의 조건식을 검사하는 부분으로 다시 되돌아 감 (반복 블록의 끝까지 모든 명령문들을 무시) #include <iostream.h> #include <iomanip.h>//setw() # include <stdlib.h> main() { int a,b; for(a=2;a<=9;a++){ if(a==3 || a==5 || a==7 || a==9) continue; for(b=1;b<=9;b++){ cout<<a<<"x"<<b<<"="<<setw(2)<<a*b<<" "; } cout<<"\n"; } } 25/26

  26. continue문 예제 #include <iostream.h> void main() { int n,sum=0; for(n=1;n<=100;n++) { if(n%2==0) continue; sum+=n; } cout<<sum; } 26/26

  27. DLL(Dynamic Link Library) : 응용프로그램이 실행될 때 자동으로 로드되면서 응용프로그램의 실행을 돕는 파일(윈도우 환경에서) • 프로그램과 함께 컴파일하지 않고 라이브러리로 만들어 프로그램을 실행할 때마다 동적으로 불러 사용→ 속도 빠르고 메모리 절약 • 실행시 필요한 함수 집단으로 실행파일과 함께 메모리상에 로드되어 실행. 그 기능을 담당하는 파일이나 라이브러리를 작성하지 않아도 되고 필요할 때만 호출. • 하나의 dll 파일이 동시에 여러 응용프로그램 실행에 도움을 줄 수 있기 때문에 많이 사용됨.

More Related