2.2. 내용 ¶
6강. 맛있는 함수 만들기
- 함수의 정체
○ 함수 호출 스택
○ 재귀 함수
- 함수의 형태
○ 파라미터
○ return 키워드와 리턴값
○ 함수의 기능적 구분
- 함수 정의하기
- 변수의 스코프
○ 전역 변수
- pre-declaration
- main 함수에 파라미터 전달하기
- 디폴트 파라미터
- 2차원 배열 기초
- 온도 변환 함수 만들기
○ 손코딩
- 재귀 함수로 Factorial 연산하기
- Quick sort
4. 숙제 ¶
1. 이 페이지에 후기 작성하기!
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 테스트 예고 둘 중 하나 출제됨. 미리 알아보면 좋겠죠?
2. 오늘 공부한 개념 수업 페이지에 정리하기!
3. 테스트 예고 둘 중 하나 출제됨. 미리 알아보면 좋겠죠?
○ Breadth-First Search
○ Depth-First Search
4. 용어 조사하기○ Depth-First Search
○ Stack
○ Queue
○ Tree
○ Set
○ Map
○ Linked List
○ Queue
○ Tree
○ Set
○ Map
○ Linked List
6.1. 천준현 ¶
별찍기 1번 #include <stdio.h> int main(void){ int i, j; char c; c = '*'; for (i = 0; i < 5; i++){ for (j = 0; j < 11; j++){ if (j <= i) printf("%c", c); else if (j < i + 6) printf(" "); else printf("%c", c); } printf("\n"); } return 0; }
6.2. 최지혁 ¶
이론
숙제
int main()
{
별찍기 1번
#include<stdio.h>int main()
{
int i;
for (i = 0; i < 9; i++)
{
return 0;
}for (i = 0; i < 9; i++)
{
if ( i % 2 == 0)
{
else
{
}{
int j = 4;
for (int t = i/2 ;(j - t) < ( 15 - t); j ++)
{
}for (int t = i/2 ;(j - t) < ( 15 - t); j ++)
{
if ( (j-t)/5 == 0 || (j-t)/5 == 2 )
{
else
{
}{
printf("*");
}else
{
printf(" ");
}else
{
printf("\n");
}return 0;
별찍기 2번
#include<stdio.h>int main()
{
int i;
int j = 1;
for (i = 1; i < 14; i++)
}int j = 1;
for (i = 1; i < 14; i++)
if (i % 2 == 1)
{
else
{
return 0;{
if (i % 4 == 1)
{
else if (i % 4 == 3)
{
else
{
}{
j = 1;
for (; j <= 17; j++)
{
}for (; j <= 17; j++)
{
if (j % 4 == 1)
{
else
{
}{
printf("*");
}else
{
printf(" ");
}else if (i % 4 == 3)
{
j = 1;
for (; j <= 17; j++)
{
}for (; j <= 17; j++)
{
if (j % 2 == 0)
{
else
{
}{
printf("*");
}else
{
printf(" ");
}else
{
break;
}else
{
printf(" \n");
}6.3. 박인서 ¶
- 내용 정리
<함수 사용법> int->리턴 타입,반환형 main->함수이름(main함수 부터 실행)(인자(parameter,argumet)-받을인자를 ,로 구분) { return 0;->함수의 종료 }->함수 블록 <함수의 종류> 리턴X(void) 인자X(인자가 없어도 소괄호를 닫아야됨) 둘다X 모두O <함수의 정의> 함수를 정의하려면 main함수 위에 하거나 main함수 아래에 할땐 따로 정의해야됨(prototype 정의)
- 별찍기 & 알파벳찍기
<1번> #include <stdio.h> int main() { int i,j; for(i=1;i<=5;i++) { for(j=0;j<i;j++) printf("*"); for(j=0;j<5;j++) printf(" "); for(j=0;j<6-i;j++) printf("*"); printf("\n"); } return 0; } <2번> #include <stdio.h> int main() { int i,j,k; for(i=1;i<=7;i++) { if(i%2==0) { for(j=0;j<8;j++) { printf(" "); printf("*"); } } else { for(j=0;j<4;j++) { printf("*"); for(k=0;k<3;k++) printf(" "); } printf("*"); } printf("\n"); } return 0; } <3번> #include <stdio.h> int main() { int a=1,b=0,i,j; for(i=1;i<=9;i++) { if(a==5) { for(j=0;j<9;j++) printf("*"); printf("\n"); b=1; } else { for(j=0;j<a;j++) printf("*"); for(j=0;j<9-(2*a);j++) printf(" "); for(j=0;j<a;j++) printf("*"); printf("\n"); } if(b==1) a--; else a++; } return 0; } <알파벳> #include <stdio.h> int main() { char a,b; int aa,bb,i,j; scanf("%c%c",&a,&b); aa=(int)a; bb=(int)b; for(i=aa;i<=bb;i++) { for(j=aa;j<=i;j++) { printf("%c",(char)j); } printf("\n"); } return 0; }
- 용어 정리
○ Stack : 나중에 들어간 데이터가 처음에 나오게되는(Last In First out) 선형 자료 구조
○ Queue : 처음에 들어간 데이터가 처음에 나오게되는(First In First out) 선형 자료 구조
○ Tree : 나무처럼 어떤 하나의 집합으로부터 하위 레벨로 가지가 나오는 집합 관계를 갖는 계층 구조로 사이클이 만들어지지 않음.
○ Set : 어떤 조건에 따라 결정되는 요소의 모임
○ Map : 집합 요소 사이의 대응을 붙인 것 혹은 대응표인 것을 말함.
○ Linked List : 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다.