[[TableOfContents]]
= 출석 및 진행 =

 * [권우성]
 * [채유빈]
 * 3시부터 약 1시간 30분 진행

= 아이스브레이킹 =
 * 서로 모른다길래 첫인상 얘기함.
 * 우성 -> 유빈 : 너무 좋고..(?) 예쁘고, 키 크고, 공부 잘 해보이고, 착해보인다.
 * 유빈 -> 우성 : 밝아보이고 친해지면 재밌을 것 같아요. 좋아보여요.
  * 강사에 대한 첫인상이 궁금해지는군요. - [김준석]
 

= 수업 내용 =
== main 함수 ==
 * 프로그램의 시작점
{{{
main()
{
	1+1;
}  
}}}
== printf 함수 ==
 * 출력을 위한 함수
 * stdio.h í•„ìš”
{{{
main()
{
	printf("%d\n", 1+1);
}
}}}
 * printf 함수가 명시적으로 정의되지 않았기 때문에 컴파일에 실패하거나, 경고가 뜸.
== include ==
 * 함수들을 쓸 수 있도록 함.
 * .h : 함수들의 집합
{{{
#include <stdio.h>
main()
{
	printf("%d\n", 1+1);
}
}}}
== 주석 ==
 * // 를 통해 한 줄 주석을 할 수 있다!
== %d ==
 * print decimal ( 십진수 )
== 변수 및 자료형 범위 ==
{{{
printf("%d", 10000000000);
printf("%lld", 10000000000);
}}}
 * lld는 더 큰 범위 표현 가능 (long long)
 * %f 와 %lf
== 논리, 비트, 비교 연산 ==
 * 비트 연산 : <<(left shift), >>(right shift), &(and), |(or), ^(xor), !(not)
 * 논리 연산 : &&(and), ||(or)
 * 비교 연산 : ==, !=, >=, <=, >, <
  * !=, >=, <= 에서 등호가 오른쪽에 있는 것이 중요합니다. 예를 들어, x=!y 는 x y를 비교한 것이 아니라, y에 !(not) 비트 연산을 한 결과를 x에 대입한 것입니다.
== if ==
 * 어떤 명령을 조건에 따라 실행되거나 실행되지 않게 할 수 있는 문법
{{{
//	if(x=0)		// x에 0을 대입
//	if(x==0)	// x와 0을 비교
	if(조건문){
		명령1;
	}
	// 조건문이 맞을 경우 명령1을 실행합니다.
	// 중괄호를 쓰는 습관을 들이면 편합니다.
}}}
= 다음 수업에 필요한 내용 =
 * else if, 전역 변수, 함수
 * 생략 가능한 내용 : 삼항연산자(?:)
 * 재귀함수를 이용한 반복문을 먼저 설명하려 합니다.
= 후기 =
 * [권우성] : 논리연산자 같은거 복습하게 된 것 같다.
 * [채유빈] : 교수님한테 못물어보는거 편하게 물어볼 수 있어서 좋았어요.
 * [정진경] : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 문자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세한 문법이나 C 표준에 대한 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또한 중간중간에 코드를 작성한 것에 대한 출력을 물어보면서 알고 있는지 확인하는 과정이 중요한 것 같습니다.
   * 적혀있지 않아서 질문 드립니다. 실습을 하였나요? - [김준석[

= 질문에 대한 답변 =
 * goto 안쓰나요? - [권우성]
{{{
while(){
	while(){
		while(){
			// 다중 반복문을 한번에 빠져나오려 할 때 goto를 쓰기도 합니다.
			// 하지만 권장되지는 않습니다.
			if(조건문){ goto exit_loop; }
		}
	}
}
exit_loop:
}}}


-----------
[새싹교실/2012]