U E D R , A S I H C RSS

새싹교실/2011/Noname

1. 참여자

선생박정근1회차2회차3회차4회차5회차6회차
학생하늘OX드랍
동혁OOOOOO
최승민OX드랍
김창욱없음XOOOO

2. 후기


  • 후기 작성 요령 : 후기는 F4(ThreeFs + Future Action Plan)에 맞게 작성해주세요.
    • 관련 페지 : ThreeFs, ThreeFs(노스모크), FiveFs(노스모크)
    • 링크를 눌러보기조차 귀찮은 당신을 위한 간단한 설명
      • Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
      • 예를 들어 지난주에 돈가스를 먹은 것에 대해 후기를 쓴다면 : "지난주에 강남에 가서 하나에 5만원하는 돈가스를 먹었다.(사실) 기대를 잔뜩 했는데 별로 맛 없었다.(느낌) 강남은 땅값 비싸서 값만 보고 엄청 맛있을거라 기대하면 안된다는 것을 알았다.(깨달은점) 다음에는 미리 인터넷에서 평을 찾아보고 별점 높은 돈가스집을 찾아서 가봐야겠다.(앞으로의 계획)"

3. 수업

3.1. 1회차

3.1.1. 내용

  • Hello World! 프로그램 짜보기
  • 스케프 시퀀스의 사용
  • 서식문자의 사용과
  • 주석

3.2. 2회차

3.2.1. 내용

  • 변수에 대한 설명 : 메모리의 할당과 름의 설정.
    • 변수와 상수의 차
    • 변수 름 설정의 규칙.
  • 키보드로부터의 입력받기 : scanf함수
  • 자료형
    자료형크기표현범위
    정수형char1 byte(8 bit)-128 상 +127
    int4 byte(32 bit)-2,147,483,646 상 +2,147,483,647
    short int2 byte(16 bit)-32,768 상 +32,767
    long int4 byte(32 bit)-2,147,483,646 상 +2,147,483,647
    실수형float4 byte(32 bit)10^-37 상 10^38
    double8 byte(64 bit)10^-307 상 10^308

3.2.2. 후기

  • 는 시간을 잘못 알려주어서 한사람 밖에 오지 못 하였습니다. 한 사람밖에 오지 못 하여서 진도를 많 빼지 못 하고 복습과 질문 위주로 공부를 하였습니다. 시간을 확실하게 정하고, 다음부터는 애들 나오지 못 하여도 진도를 위주로 공부를 해야겠습니다. - 박정근

3.2.3. 비고

  • 하늘가 새싹교실을 그만두게 되었습니다.

3.3. 3회차

3.3.1. 내용

  • 연산자의 종류 : 산술, 대입, 관계, 증감, 논리, 비트, 삼항조건 연산자
    • 산술연산자 - (+, -, *, /, %)
    • 대입연산자 - (=, +=, -=, *=, /=, %=)
    • 관계연산자 - (<, >, <==, >==, ==, !=)
    • 증감연산자 - (a++, a--, ++a, --a)
    • 논리연산자 - (&&, ||)
    • 비트연산자 - (&, |, ^, ~, <<, >>)
    • 삼항조건연산자 - ( 건식? 명령어1:명령어 )
  • 함수 #define함수와 일반함수
    • 일반함수
      자료형 함수명(배개변수){
      함수몸체
      }
      int add(int a, int b){
          int add = a + b;
          return add
      }
      

    • #define함수
      #define ADD(x,y) (x)+(y)

3.3.2. 후기

  • 연산자의 종류들과 #define함수의 활용법에 대해서 배웠습니다. 아직 C프로그래밍 익숙지 않아서 간단한 함수도 어렵게 느껴졌다. 여러 예재로 우선 C프로그래밍에 익숙해 져야 겠다. 수업 끝난 후 복습을 꼭 해야겠다. - 창욱
  • 학생들 해력 좋은건지 제가 못 가르치는 건지 금방금방 할 야기가 다 다르네요;; 다음부터는 좀 더 열심히 공부하고 와서 가르치도혹 해야겠습니다. 또 피드백으로 과제같은 것을 내는것도 괜찮을 것 같네요 준배해 봐야겠습니다. - 박정근

3.4. 4회차

3.4.1. 내용

  • 제어문(if문, switch문)
    • if문
      • Syntax

if (expression) {  	
 	statement1;
 	statement2;
	:
}
else {
	statement1;
	statement2;
         :
}
  • else if의 경우에는 if-else와 다음 if-else를 합쳐놓은것!!
  • Switch문
    • Syntax

switch ( expression ){
	case constant-expression :
		statements
	case constant-expression :
		statements
	case constant-expression :
		statements
	………………..
	default :
		statements
	}

  • switch의 경우 statement 에 break의 사용을 까먹지 맙시다.

3.4.2. 후기

  • 저번에 제어문 할 때에는 창욱가 없었지만 오늘은 창욱만 나왔기 때문에 제어문 수업을 다시 했습니다.생각보다 해가 빠르네요. 예제라던가 문제등을 좀더 준비해가야겠습니다. 또 진도를 더 빨리빨리 빼서 중간고사에 맞출 수 있도록 맞추어 봐야겠습니다. 제 제어문 끝냈고 드디어 반복분을 할 차레입니다. 개인적으로 별찍는 문제가 가장 재미있었기에 다음번에는 그 문제를 풀어보도록 합시다ㅎㅎ - 박정근

  • If구문,If-Else구문,Switch구문에 대해서 배웠습니다. 역시 처음 배우는거라 예제들에 잘 적용하지 못했습니다. 하나하나 배워가면서 코딩하는게 너무 신기하게 느껴지고 수업시간 너무 짧아 아쉽습니다. 수업시간 길거나 자주 수업을 할 수 있으면 좋겠습니다. If구문으로 해야하는 예제들과 Switch구문으로 해야하는 예제들의 차점을 조금 깨달았습니다. Switch구문으로 코딩해야 더 쉬운 예제들과 If구문으로 코딩해야 더 쉬운 예제들을 구별할 수 있는 능력을 키워야 겠습니다. - 창욱

3.5. 4회차

3.5.1. 내용

  • 반복문(for문, while문, do while문)
    • for문
      • Syntax

for(expr1; expr2; expr3){
	statement1;
	statement2;
	:
}
  • expr1 에는 변수 초기화. expr2에 조건. expr3에 조건문을 탈출하기 위한 문장.
  • expr1 ->
expr2조건 확인 -> 조건에 충족될때 statement실행 -> expr3 ->
expr2조건 확인 -> 조건에 충족될때 statement실행 -> expr3 ->
:
expr2조건 확인 -> 조건에 충족되지 않을겨우 for문을 빠져나옴.
위의 과정으로 for문 실행된다는 것을 유의.

  • While 문
    • Syntax

while(expression){
	statement1;
	statement2;
	:
}
  • while문의 expression에는 for문과 다르게 조건만 들어간다.
  • expression 충족될 경우 statement를 실행한다.
  • 원치않는 무한루프를 피하기 위해 while문 안에 조건문을 탈출 할 수 있는 문장을 만든다.
  • Do-While 문
    • Syntax

do{
	statement1;
	statement2;

}while(expression);
  • while문과 비슷하지만 do_while문은 statement를 무조건 한번은 출력한다.(그 뒤에 조건확인.)


3.5.2. 후기

  • 반복문을 공부하면서 별찍기를 해보았는데 생각보다 많 어려우 하더라구요. 그래서 반복문에 대한 문제를 좀 더 준비해 왔습니다.(별찍기가 오래걸려 풀어보지는 못 했지만..ㅠ) 아무래도 문제를 더 많 풀어보도록 해 봐야 겠습니다. 반복문은 많 써보는게 좋으니까요ㅎㅎ - 박정근

  • 여러가지 종류의 반복문에 대해서 배웠습니다. 여러가지 형태의 별을 찍어 보았는데 재밌는 것 같습니다. 상황에 따라서 편한 반복문을 사용해야 겠습니다. 다양한 별을 찍으면서 반복문에 대해 익숙해 져야겠습니다. 저번주에 배운 내용인데도 불구하고 많 까먹어서 복습을 해야 겠습니다.



3.6. 5회차

3.6.1. 내용

  • 시험기간을 대비하여 많은 문제들을 풀었습니다. 반복문을 용한 달력출력과 별찍기, 기출문제들을 풀었습니다.
  • 별 출력하기

*
**
***
****
*****
 ****
  ***
   **
    *

3.7. 6회차

3.7.1. 내용

  • 함수만들기
  • 재귀함수의 사용
    • Factorial 함수만들기

#include <stdio.h>

int factorial(int n);

int main()
{
	int a;
	printf("몇 팩토리얼을 구할까요? ");
	scanf("%d", &a);
	printf("%d",factorial(a));

} 
int factorial(int n){
	if(n==1){
		return 1;
	}else
		return n*factorial(n-1);
}
  • 피보나치 수열 함수만들기

#include<stdio.h>
int fibo(int x);
int main()
{
	int x;
	printf("몇번째 피보나치수열을 원하십니까? ");
	scanf("%d",&x);
	printf("%d",fibo(x));			

return 0;
}

int fibo(int x)
{
	if(x==2)
		return 1;
	else if
		(x==1)
		return 1;
	else
		return fibo(x-1)+fibo(x-2);
}


  • 하노탑 함수 만들기

#include<stdio.h>

int hanoi(int n,char,char,char);
int main()
{
    int n;
	printf("하노탑에서 옮기려는 원반의 개수는?");
    scanf("%d",&n);
    hanoi(n,'a','c','b');
    return 0;
}
int hanoi(int n,char from,char to, char temp)
{
    if(n==1)  {
		printf("%d번째 원반을 %c에서 %c로 옮기시오\n",n,from,to);
		return 0;
	}
    hanoi(n-1,from,temp,to);
    printf("%d번째 원반을 %c에서 %c로 옮기시오\n",n,from,to);
    hanoi(n-1,temp,to,from);
 }

3.7.2. 후기

  • 재귀함수의 사용법을 익숙하게 하기 위하여 여러가지 예제를 풀어보았습니다. 처음 두가지 예제는 비슷해서 그런지 금방 끝냈는데 하노탑은 힘들어 하더라구요. 저도 작년에 문제를 풀기위해 온갖 노력을 하다가 그때 선생님의 도움으로 간신히 풀었는데 그 기분더라구요. 하노탑까지는 꼭 풀고 다음을 배워야겠습니다. - 박정근
    • 근데 저거 int를 return하라고 헤더를 만들어 줘서 문제생기지 않냐? - 윤종하
    • 아.. 그러고보니 그거때문에 경고생기네ㅜ 작년에 만든거 그데로 썼음ㅋㅋ - 박정근

3.8. 7회차

3.8.1. 내용

  • 배열의 개념
    • 동일한 자료형의 여러개의 변수를 일괄되게 선언한다.
    • index를 용하여 자료들에게 접근한다.
  • 배열의 초기화
    • 선언시에 바로 배열을 초기화 할때에는 중괄호 {}를 사용한다.
    • 배열을 선언한 후에 배열의 각 원소에 값을 저장하러면 index를 용한다.
    • ex) a1 = 10;

3.8.2. 후기

  • 배열만을 공부하려니까 자꾸 포인터쪽으로 연결되네요ㅠㅠ 포인터는 나중에 따로하려고 했는데 배열을 하면서 같 공부해야겠습니다. - 박정근

3.9. 8회차

3.9.1. 내용

  • 다차원배열
    • 연속적인 저장공간을 만드는 배열에서 1차원 뿐만 아니라 2차원 또는 그 상의 배열도 생각할 수 있다.
    • 2차원 배열의 경우 행과 열로 나누어 생각하면 편하지만 사실은 1차원의 연속된 저장공간에 저장되는 배열다.
  • 다차원 배열을 용하여 성적과 학번을 출력하기

#include <stdio.h>

int main(){

	int stu[2][3]={{20114231,20116849,20113837},{47,85,76}};
	int i,max=0,h=0;
	for(i=0;i<=2;i++){

		if(stu[1][i]>max){
			max=stu[1][i];
			h=i;
		}
	}
	printf("%d",stu[0][h]);
	return 0;
}

3.9.2. 후기

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:42
Processing time 0.0302 sec