g+ summer c study 20130709(3일차)
DESCRIPTION
3일차 20130709 7월9일 스터디에 대한 PPT 자료입니다. 다룬 내용은 입력(scanf)과 반복문(for문) 입니다. 숙제는 프로젝트 오일러를 활용하였습니다. 다소 어렵습니다만, 견뎌야 합니다. 화이팅!!TRANSCRIPT
![Page 1: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/1.jpg)
G+ Summer C Programming Study
1
2013. 07. 09
19:30G-Lab
![Page 2: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/2.jpg)
2
잠시 스터디에 앞서 공지를 하자면 ,오늘부터 숙제가 많습니다 . 그렇기에…오늘 바로 가셔서 안 하시면 , 쌓여서 버틸 수가 없는 상황이 올 겁니다 .
다 여러분을 위한 것 입니다 .힘내십시오 !뭔가 얻어가려면 노력 해야만 합니다 .
![Page 3: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/3.jpg)
3
지난 시간복습
![Page 4: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/4.jpg)
4
C 언어를 공부하면무엇을 할 수 있을까 ?
![Page 5: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/5.jpg)
5
C 언어의 모든 문장은 ____ 으로 끝난다 !
![Page 6: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/6.jpg)
6
바구니의 이름의 규칙 ?규칙이 왜 ?!
![Page 7: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/7.jpg)
7
C 언어에서 어떤 조건 별로할 일을 나눌 때 어떻게 할까요 ?
![Page 8: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/8.jpg)
8
오늘의 TODO입력 ?
반복하는 일들 ?!
![Page 9: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/9.jpg)
9
저번시간에 우리는 바구니를 배웠고 ,바구니에 값을 대입하는 방법을단순히 = 을 이용해서 하였습니다 .
![Page 10: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/10.jpg)
10
컴퓨터의 기본입력을담당하는 것은 무엇일까요 ?
![Page 11: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/11.jpg)
11
아직 사실 저희는 바구니에대해 자세히 배우지 않았습니다 .
![Page 12: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/12.jpg)
12
우리가 바구니를 만들면컴퓨터는 내부적으로 이러한 일을 합니다 .
![Page 13: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/13.jpg)
13
1. int A; 를 하게 되면2. int 형 데이터를 저장할 수 있는 공간을 만듭니다 .3. 그 공간은 메모리라고 하는 것 안에 위치합니다 .4. 위치한다는 말은 즉 , 주소가 있다는 것입니다 .
바구니 이름 : A바구니 종류 : int (정수 )바구니 크기 : 4바구니 주소 : 11
A
![Page 14: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/14.jpg)
14
C 언어에서는바구니의 주소를 얻기 위해
& 라는 연산자를 사용합니다 .
![Page 15: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/15.jpg)
15
int A = 5; // 바구니 생성 , 5 대입printf(“%d”, A); // 바구니 값 출력printf(“%d”, &A); // 바구니 주소 출력
![Page 16: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/16.jpg)
16
입력하기 위해서는주소가 필요하기 때문에
주소를 배웠습니다 .
![Page 17: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/17.jpg)
17
입력을 위한 함수는다행히도 첫 시간에 배웠던
printf 와 유사하게scanf 라고 합니다 .
![Page 18: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/18.jpg)
18
char inputC;scanf(“%c”, & inputC);
![Page 19: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/19.jpg)
19
int inputI;scanf(“%d”, &inputI);
![Page 20: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/20.jpg)
20
float inputF;scanf(“%f”, &inputF);
![Page 21: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/21.jpg)
21
char a, b;scanf(“%c %c”, &a, &b);
![Page 22: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/22.jpg)
22
int a, b;scanf(“%d %d”, &a, &b);
![Page 23: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/23.jpg)
23
간단한 입력 프로그램을 짜봅시다 .
두 개의 정수 20, 10 을 입력 받아서두 수의 사칙연산결과를
다음과 같이 출력하시오 .a+b=30, a-b=10, a*b=200, a/b=2
![Page 24: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/24.jpg)
24
#include <stdio.h> // 기본 입출력 사용int main(void) // 메인 (Entry Point){
int a, b; // 바구니 생성scanf(“%d %d”, &a, &b);
// 바구니에 값 입력printf(“a+b=%d, “, a+b); // 덧셈
출력printf(“a-b=%d, “, a-b); // 뺄셈
출력printf(“a*b=%d, “, a*b); // 곱셈
출력printf(“a/b=%d\n”, a/b); // 나눗셈
출력return 0; // Entry Point 종료
}
![Page 25: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/25.jpg)
25
자 백지를 드리겠습니다 .금방 보셨던 코드를 짜봅시다 .
두 개의 정수 20, 10 을 입력 받아서두 수의 사칙연산결과를
다음과 같이 출력하시오 .a+b=30, a-b=10, a*b=200, a/
b=2
![Page 26: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/26.jpg)
26
Practice Practice!
두 개의 정수를 입력 받아서두 수 중 큰 수를 출력해주는
프로그램을 작성하시오 !
![Page 27: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/27.jpg)
27
Practice Practice!
세 개의 정수를 입력 받아서세 수를 한 변의 길이로 하였을 때 ,
삼각형이 가능한지 판단하고 ,삼각형이라면 직각 , 예각 , 둔각
삼각형인지 판단하시오 .
![Page 28: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/28.jpg)
28
Practice Practice!
두 개의 정수와 한 개의 문자를입력 받아서
문자가 + 이면 덧셈을 , - 이면 뺄셈을 ,
* 이면 곱셈을 , / 이면 나눗셈을 결과를 출력하시오 .
![Page 29: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/29.jpg)
29
Practice Practice!
한 개의 정수를 입력 받아서정수에 해당하는 구구단을 출력하세요 .
ex: ) 2 를 입력했다면2*1=22*2=2
…2*9=18
![Page 30: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/30.jpg)
30
금방 전 구구단을 출력할 때printf 를 몇 번이나 타이핑하셨나요 ?
![Page 31: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/31.jpg)
31
잘 생각해보면printf 를 할 때
아래와 같은 규칙이 있었습니다 .
ex: ) printf(“%d*1=%d\n”, i, i*1); printf(“%d*2=%d\n”, i, i*2); printf(“%d*3=%d\n”, i, i*3);
![Page 32: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/32.jpg)
32
이러한 일정한 규칙을 가지고반복적으로 일어나는 일들을
처리하는 문장을반복문이라고 합니다 .
![Page 33: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/33.jpg)
33
사실 C 언어에는
여러가지 반복문이 있습니다 .
for 문while 문
do-while 문그러나 우리는 for 문만 배울 것 입니다 .
![Page 34: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/34.jpg)
34
먼저 for 문for 문은 아래와 같이 생겼습니다 .
for(i=0; i<5; i++)
초기화 : 반복 문을 시작하기에 앞서 준비하는 일조건문 : 반복을 계속해야 할지 말지를 결정하는 문장
증감문 : 반복이 이루어질 때마다 변화시킬 일
![Page 35: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/35.jpg)
35
예를 들어
for(i=5; i <= 10; i++) {반복할 일
}
이런 문장이 있다면i 의 값이 5 에서 10 이 될 때까지 ,(5,6,7,8,9,10)
6 번 반복할 것입니다 .
![Page 36: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/36.jpg)
36
그럼 다시 이 문제를for 문을 이용해 구현해봅시다 .
한 개의 정수를 입력 받아서정수에 해당하는 구구단을 출력하세요 .
ex: ) 2 를 입력했다면2*1=22*2=2
…2*9=18
![Page 37: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/37.jpg)
37
어떤가요 ?반복 문을 사용하는 이유를
알겠나요 ?
![Page 38: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/38.jpg)
38
더 귀찮은 반복작업들을해보도록 하죠
![Page 39: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/39.jpg)
39
Practice Practice!
한 개의 정수를 입력 받아서그 정수보다 작은 자연수 중에서
7 의 배수의 합을 구하시오ex: ) 10000 를 입력했다면
결과 : 7142142
![Page 40: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/40.jpg)
40
머리 아프시죠 ? ㅠ . ㅠ힘내세요
여러분의 마음 알아요… 저도
![Page 41: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/41.jpg)
41
모범답안#include <stdio.h>
int main(void){ int n = 10000; int i; int s = 0;
for(i = 0; i < n; i++) { if( i % 7 == 0 ) { s += i; } } printf(“ 결과 : %d\n", s);}
![Page 42: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/42.jpg)
42
Practice Practice!
한 개의 정수를 입력 받아서그 정수보다 작은 자연수 중에서
소수를 모두 출력하시오 .ex: ) 10 를 입력했다면
결과 : 2 3 5 7
![Page 43: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/43.jpg)
43
모범답안#include <stdio.h>
int main(void){ int n = 100; int i, j; int s = 0; int isPrime;
for(i = 2; i < n; i++) { isPrime = 1; for(j = 2; j < i; j++) { if ( i % j == 0 ) { isPrime = 0; break; } }
if( isPrime == 1 ) printf("%d ", i); } printf("\n");}
![Page 44: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/44.jpg)
44
수고하셨습니다 . 숙제 공지
![Page 45: G+ Summer C Study 20130709(3일차)](https://reader034.vdocuments.net/reader034/viewer/2022052307/55858258d8b42aa7148b4a3d/html5/thumbnails/45.jpg)
45
1. 먼저 http://euler.synap.co.kr 에 접속 ! ( 즐겨찾기추가 )
2. 회원가입을 해주세요 .3. 1 번부터 10 번 문제까지 숙제입니다 .4. 문제를 풀기 위한 C 코드는
wide.so 에/home/share/[ 아이디 ]/assignment/3/3-[ 문제번호 ].c 형식으로 제출해주세요 .