U E D R , A S I H C RSS

새싹교실/2012/열반/120319

1. 출석 및 진행


  • 우성
  • 유빈
  • 3시부터 약 1시간 30분 진행

2. 아이스브레이킹

  • 서로 모른다길래 첫인상 얘기함.
  • 우성 -> 유빈 : 너무 좋고..(?) 예쁘고, 키 크고, 공부 잘 해보이고, 착해보인다.
  • 유빈 -> 우성 : 밝아보이고 친해지면 재밌을 것 같아요. 좋아보여요.

3. 수업 내용

3.1. main 함수

  • 프로그램의 시작점

main()
{
	1+1;
}  

3.2. printf 함수

  • 출력을 위한 함수
  • stdio.h 필요

main()
{
	printf("%d\n", 1+1);
}
  • printf 함수가 명시적으로 정의되지 않았기 때문에 컴파일에 실패하거나, 경고가 뜸.

3.3. include

  • 함수들을 쓸 수 있도록 함.
  • .h : 함수들의 집합

#include <stdio.h>
main()
{
	printf("%d\n", 1+1);
}

3.4. 주석

  • // 를 통해 한 줄 주석을 할 수 있다!

3.5. %d

  • print decimal ( 십진수 )

3.6. 변수 및 자료형 범위

printf("%d", 10000000000);
printf("%lld", 10000000000);
  • lld는 더 큰 범위 표현 가능 (long long)
  • %f 와 %lf

3.7. 논리, 비트, 비교 연산

  • 비트 연산 : <<(left shift), >>(right shift), &(and), |(or), ^(xor), ~(not)
  • 논리 연산 : &&(and), ||(or) !(not)
  • 비교 연산 : ==, !=, >=, <=, >, <
    • !=, >=, <= 에서 등호가 오른쪽에 있는 것이 중요합니다. 예를 들어, x=!y 는 x y를 비교한 것이 아니라, y에 !(not) 논리 연산을 한 결과를 x에 대입한 것입니다.
    • C언어에는 boolean 타입이 없습니다. 보통 int로 참과 거짓을 표현하고, 모든 비트가 0일 경우에만 거짓이고, 그 외는 참입니다.

3.8. if

  • 어떤 명령을 조건에 따라 실행되거나 실행되지 않게 할 수 있는 문법

//	if(x=0)		// x에 0을 대입
//	if(x==0)	// x와 0을 비교
	if(조건문){
		명령1;
	}
	// 조건문이 맞을 경우 명령1을 실행합니다.
	// 중괄호를 쓰는 습관을 들이면 편합니다.

4. 다음 수업에 필요한 내용

  • else if, 전역 변수, 함수
  • 생략 가능한 내용 : 삼항연산자(?:)
  • 재귀함수를 이용한 반복문을 먼저 설명하려 합니다.

5. 후기

  • 우성 : 논리연산자 같은거 복습하게 된 것 같다.
  • 유빈 : 교수님한테 못물어보는거 편하게 물어볼 수 있어서 좋았어요.
  • 정진경 : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 문자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세한 문법이나 C 표준에 대한 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또한 중간중간에 코드를 작성한 것에 대한 출력을 물어보면서 알고 있는지 확인하는 과정이 중요한 것 같습니다.
    • 적혀있지 않아서 질문 드립니다. 실습을 하였나요? - 김준석

6. 질문에 대한 답변

  • goto 안쓰나요? - 우성

while(){
	while(){
		while(){
			// 다중 반복문을 한번에 빠져나오려 할 때 goto를 쓰기도 합니다.
			// 하지만 권장되지는 않습니다.
			if(조건문){ goto exit_loop; }
		}
	}
}
exit_loop:



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