Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2015/반의반: Difference between revisions

From ZeroWiki
imported>skywave
No edit summary
imported>skywave
No edit summary
Line 46: Line 46:
** 4개의 좌표를 입력받아 넓이 출력  
** 4개의 좌표를 입력받아 넓이 출력  
* 그 외에 짬짬한 내용들
* 그 외에 짬짬한 내용들
** {{ stdio.h }} 외에도 {{ math.h }}와 같은 헤더 파일들이 있으며, 각각의 헤더 파일은 특정 작업과 관련된 함수들을 가지고 있음.
**  
stdio.h
외에도 {{{ math.h }}}와 같은 헤더 파일들이 있으며, 각각의 헤더 파일은 특정 작업과 관련된 함수들을 가지고 있음.
** 연산 후, 비교하고, 대입한다.
** 연산 후, 비교하고, 대입한다.
** {{ 1 <= x <= 9 }} 이런 코드는 노노.
**  
1 &lt;= x &lt;= 9
이런 코드는 노노.
** http://www.asciitable.com/ 아스키 값은 여기서 확인.
** http://www.asciitable.com/ 아스키 값은 여기서 확인.
** 정수끼리 나눌 경우 값이 정수임을 유의.
** 정수끼리 나눌 경우 값이 정수임을 유의.
** (float) (double)과 같은 캐스팅을 하거나, 3.0 같은 꼼수(?)를 쓰자
** (float) (double)과 같은 캐스팅을 하거나, 3.0 같은 꼼수(?)를 쓰자
=== 5월 7일 ===
긴 공백기를 깨고...
* 함수
** 왜 함수를 쓰는가, 함수의 구성, 프로토타입
* 포인터
** 왜 포인터를 쓰는가, 포인터 관련 문법, 포인터 동작 원리, swap example
* 배열
** 왜 배열을 쓰는가, 배열과 포인터와의 관계
#include &lt;stdio.h&gt;
#pragma warning(disable:4996)
void getNumbers(int* ary, int len);
int main() {
int pause;
int a[5];
int i;
getNumbers(a, 5);
for (i = 0; i &lt; 5; i++) {
printf("%d ", *(a + 4 - i));
}
scanf("%c", &amp;pause);
scanf("%c", &amp;pause);
return 0;
}
void getNumbers(int[] ary, int len) {
int i;
for (i = 0; i &lt; len; i++) {
scanf("%d", ary + i);
}
}
---
#include &lt;stdio.h&gt;
#pragma warning(disable:4996)
int main() {
int pause;
int a[5];
int i;
for (i = 0; i &lt; 5; i++) {
scanf("%d", &amp;a[i]);
}
for (i = 0; i &lt; 5; i++) {
printf("%d ", a[4 - i]);
}
scanf("%c", &amp;pause);
scanf("%c", &amp;pause);
return 0;
}
---
#include &lt;stdio.h&gt;
#pragma warning(disable:4996)
void printNumbers(int, int);
void swap(int*, int*);
int add1(int toAdd);
int main() {
int pause;
int a = 1;
int b = 2;
b = toAdd(b);
printf("%d %d\n", &amp;a, &amp;b);
printNumbers(a, b);
swap(&amp;a, &amp;b);
printNumbers(a, b);
scanf("%c", &amp;pause);
return 0;
}
void swap(int* swapA, int* swapB) {
int temp = *swapA;
*swapA = *swapB; // a=2;
*swapB = temp;
}
int add1(int toAdd) {
return toAdd + 1;
}
void printNumbers(int printA, int printB) {
printf("a= %d, b= %d\n", printA, printB);
}



Revision as of 13:08, 7 May 2015

설명

  • 2015년도 새싹교실 반입니다.
  • 장르는 C 프로그래밍 기초
  • 진도를 나가기 보다는 수업을 보조해 주는 방식으로 진행합니다.
  • 매주 목요일 오후 7시
  • 왜 팀 이름이 이러냐면...
    • 나중에 알랴드림

멤버

진행

3월 17일

  • 오리엔테이션
  • 팀명/시간 조정

3월 26일

  • Hello, World 살펴보기
#

이 무엇을 하나요?

int main() {}

이 뭐죠?

puts

와 {{{ printf }}}는 무슨 차이가 있어요?

    • 기타 등등...


4월 2일

  • 자료형들
    • short, int, long
    • float, double
  • 컴퓨터에서는 숫자를 어떻게 저장할까?
  • 왜 다양한 자료형들이 있을까?
  • 산술/논리 연산자들
  • (중첩) if/else
    • 점수에 따른 성적 출력하는 실습
    • 숫자 입력에 따른 출력 실습 (양수? 음수? 양수면 짝수? 홀수?)

4월 9일

  • 실습 시간
    • 쉬프트 암호화
    • 4개의 좌표를 입력받아 넓이 출력
  • 그 외에 짬짬한 내용들
stdio.h

외에도 {{{ math.h }}}와 같은 헤더 파일들이 있으며, 각각의 헤더 파일은 특정 작업과 관련된 함수들을 가지고 있음.

    • 연산 후, 비교하고, 대입한다.
1 <= x <= 9

이런 코드는 노노.

    • http://www.asciitable.com/ 아스키 값은 여기서 확인.
    • 정수끼리 나눌 경우 값이 정수임을 유의.
    • (float) (double)과 같은 캐스팅을 하거나, 3.0 같은 꼼수(?)를 쓰자

5월 7일

긴 공백기를 깨고...

  • 함수
    • 왜 함수를 쓰는가, 함수의 구성, 프로토타입
  • 포인터
    • 왜 포인터를 쓰는가, 포인터 관련 문법, 포인터 동작 원리, swap example
  • 배열
    • 왜 배열을 쓰는가, 배열과 포인터와의 관계
#include <stdio.h>
#pragma warning(disable:4996)

void getNumbers(int* ary, int len);

int main() {
	int pause;

	int a[5];
	int i;

	getNumbers(a, 5);

	for (i = 0; i < 5; i++) {
		printf("%d ", *(a + 4 - i));
	}

	scanf("%c", &pause);
	scanf("%c", &pause);
	return 0;
}

void getNumbers(int[] ary, int len) {
	int i;

	for (i = 0; i < len; i++) {
		scanf("%d", ary + i);
	}
}

---

#include <stdio.h>
#pragma warning(disable:4996)

int main() {
	int pause;

	int a[5];
	int i;

	for (i = 0; i < 5; i++) {
		scanf("%d", &a[i]);
	}

	for (i = 0; i < 5; i++) {
		printf("%d ", a[4 - i]);
	}

	scanf("%c", &pause);
	scanf("%c", &pause);
	return 0;
}


---

#include <stdio.h>
#pragma warning(disable:4996)

void printNumbers(int, int);
void swap(int*, int*);
int add1(int toAdd);

int main() {
	int pause;

	int a = 1;
	int b = 2;

	b = toAdd(b);
	printf("%d %d\n", &a, &b);
	printNumbers(a, b);

	swap(&a, &b);

	printNumbers(a, b);

	scanf("%c", &pause);
	return 0;
}

void swap(int* swapA, int* swapB) {
	int temp = *swapA;

	*swapA = *swapB; // a=2;
	*swapB = temp;
}

int add1(int toAdd) {
	return toAdd + 1;
}

void printNumbers(int printA, int printB) {
	printf("a= %d, b= %d\n", printA, printB);
}