Difference between r1.6 and the current
@@ -7,7 +7,7 @@
== 진행 ==
* c언어 프로그래밍
* 매주 화요일 17시 ~ 19시 207관 무한상상공간
* 매주 화요일 17시 ~ 19시 208관 6층 PC 실
* 노트북 있으면 가져오시길== 수업 일지 ==
@@ -63,3 +63,143 @@
영어 : F
}}}
}}}
=== 4월 7일 화요일 ===
* 참가 : 강민승, 김석준, 이준석
* 수업 내용
* 반복문 및 조건문 복습
* 별찍기
* 이중 반복문의 사용법, 그리고 do while 반복문의 사용법
* 반복문 탈출 조건과 탈출 제어
{{{
#include<stdio.h>
#pragma warning ( disable : 4996 )
int main(){
int num;
int i, j;
do {
printf("숫자 입력 ( 1 ~ 10 사이의 정수, 다른 수 입력시 종료. ) : ");
scanf("%d", &num);
if (num >= 1 && num <= 10) {
for (i = 1; i <= num; i++) {
for (j = 1; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
else break;
} while (1);
return 0;
}
}}}
*질문 & 답변
* 삼항 연산자의 사용법.
=== 4월 14일 화요일 ===
* 참가 : 강민승, 김석준, 이준석
* 수업 내용
* 중간고사 대비 문제 풀이 및 배운 것 정리
* 전위 연산자와 후위 연산자를 응용한 문제
* Visual Studio를 통해 소스코드가 컴파일 후 실행되기까지의 과정에 대한 문제
* 2중 반복문 문제
* 문법 문제
=== 4월 28일 화요일 ===
* 참가 : 강민승, 김석준, 이준석
* 수업 내용
* 함수
* 함수는 무엇일까요? 사실 메인도 함수라고...
* 반환형과 이름, 그리고 파라미터
* 두 수를 더하는 함수를 가르쳐주었습니다.
* 재귀
* 재귀는 무엇일까요? 자기 자신을 호출함
* 예시 : fibonacci, factorial 함수
{{{
#include <stdio.h>
int fibo(int num) ;
int main(void){
int num;
int i;
printf("\n피보나치 수 입력 : \n" );
scanf("%d" , &num) ;
for(i = 0 ; i < num ; i++ ){
printf("%d " , fibo(i));
}
printf("\n\n");
return 0;
}
int fibo(int num){
if(num == 0) return 0;
else if(num == 1) return 1;
else return fibo(num-1) + fibo(num-2);
}
}}}
{{{
#include <stdio.h>
int factorial(int n);
int factorial(int n)
{
if(n<=1) return 1;
return n*factorial(n-1);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",factorial(n));
return 0;
}
}}}
* 과제 : TowerOfHanoi 함수 만들어오기 (너무 어려운가...)
=== 5월 12일 화요일 ===
* 참가 : 강민승, 김석준, 이준석
* 수업 내용
* 숙제!
* 역시 아무도 못풀어옴..
* 재귀를 어떤 방식으로 해야 할 지 감이 안잡힌다면 점화식을 세워보시길
* 배열
* 자료형을 나열 할 수 있는 구조
* 이름, [] <- 대괄호, 그리고 index로써 표현한다.
* 선언 시 크기를 숫자로써 설정
* 배열 값 더하기 예제
* 2차원 배열
* 예제 : 별 찍기
{{{
#include<stdio.h>
int main() {
int i, j;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j <= i ; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
}}}
* 과제 ㄹ 모양으로 5*5 배열에 별찍어오기
=== 5월 19일 화요일 ===
* 참가 : 강민승, 김석준, 이준석
* 수업 내용
* 포인터
* 변수의 주소 값을 보유하고 그 변수를 가리키고 있다.
* 특정 자료형을 가리키려면 자료형이 같아야 한다.
* 사실 배열의 이름도 포인터처럼 배열의 첫 번째 index를 가리킴
* 표기 방법
* index
* 주소값에 직접 숫자 - 자료형의 크기만큼 자동으로 캐스팅이 됨
* 포인터를 이용한 두 변수 값 swap 함수 예제
3.2. 3월 17일 화요일 ¶
- 참가 : 강민승, 김석준, 이대한, 이준석
- 첫 수업
- "Hello, world!"를 출력하는 소스코드를 분석
- #include<stdio.h>
- header과 return
- 위의 것을 설명하면서 function과 parameter에 대해서도 잠깐...
- printf와 scanf함수
- 변수형
- #include<stdio.h>
- 그 외 튜티들이 수업을 들으며 이해되지 않았던 부분이나 궁금한 부분에 대한 설명을 했습니다!
- "Hello, world!"를 출력하는 소스코드를 분석
- 과제 : 1. 숫자 두 개를 입력받아 덧셈, 뺄셈, 곱셈, 나눗셈을 한 뒤, 출력하기
- 문자(char) '한 글자'를 입력받아 그 대로 출력하기.
- 문자(char) '한 글자'를 입력받아 그 대로 출력하기.
3.3. 3월 31일 화요일 ¶
- 참가 : 강민승, 김석준, 이대한, 이준석
- 수업 내용
- 질문 & 답변
- #은 무엇인가?
- putchar(), getchar()은 무엇인가?
- 연산자에 대한 부가설명
- #은 무엇인가?
- 반복문
- for문
- (반복문 제어 변수 ; 반복 범위 ; 반복문 제어 변수의 연산 )
- (반복문 제어 변수 ; 반복 범위 ; 반복문 제어 변수의 연산 )
- while문
- for문
- 조건문
- if, else if 그리고 else
- if(조건 1)
- else if(조건 2)
- else (나머지 조건)
- if(조건 1)
- switch - case
- if문과 달리 범위에 따른 조건은 불가능
- 나머지 조건들은 default 로 제어
- 각 case 끝 부분에 break; 필수
- if문과 달리 범위에 따른 조건은 불가능
- if, else if 그리고 else
- 질문 & 답변
- 과제
- 국어, 수학, 영어 점수( 0점 ~ 100점 )을 입력받아서 rank를 출력하는 프로그램
- 90~100점 : A, 80~89점 : B, 70~79점 : C, 나머지 F
- EX)
- 국어, 수학, 영어 점수( 0점 ~ 100점 )을 입력받아서 rank를 출력하는 프로그램
과목 점수 입력 ( 국어 수학 영어 순 ) : 90 85 27 국어 : A 수학 : B 영어 : F
3.4. 4월 7일 화요일 ¶
- 참가 : 강민승, 김석준, 이준석
- 수업 내용
- 반복문 및 조건문 복습
- 별찍기
- 이중 반복문의 사용법, 그리고 do while 반복문의 사용법
- 반복문 탈출 조건과 탈출 제어
- 이중 반복문의 사용법, 그리고 do while 반복문의 사용법
- 별찍기
- 반복문 및 조건문 복습
#include<stdio.h> #pragma warning ( disable : 4996 ) int main(){ int num; int i, j; do { printf("숫자 입력 ( 1 ~ 10 사이의 정수, 다른 수 입력시 종료. ) : "); scanf("%d", &num); if (num >= 1 && num <= 10) { for (i = 1; i <= num; i++) { for (j = 1; j <= i; j++) { printf("*"); } printf("\n"); } } else break; } while (1); return 0; }
- 질문 & 답변
- 삼항 연산자의 사용법.
- 삼항 연산자의 사용법.
3.5. 4월 14일 화요일 ¶
- 참가 : 강민승, 김석준, 이준석
- 수업 내용
- 중간고사 대비 문제 풀이 및 배운 것 정리
- 전위 연산자와 후위 연산자를 응용한 문제
- Visual Studio를 통해 소스코드가 컴파일 후 실행되기까지의 과정에 대한 문제
- 2중 반복문 문제
- 문법 문제
- 전위 연산자와 후위 연산자를 응용한 문제
- 중간고사 대비 문제 풀이 및 배운 것 정리
3.6. 4월 28일 화요일 ¶
- 참가 : 강민승, 김석준, 이준석
- 수업 내용
- 함수
- 함수는 무엇일까요? 사실 메인도 함수라고...
- 반환형과 이름, 그리고 파라미터
- 두 수를 더하는 함수를 가르쳐주었습니다.
- 함수는 무엇일까요? 사실 메인도 함수라고...
- 재귀
- 재귀는 무엇일까요? 자기 자신을 호출함
- 예시 : fibonacci, factorial 함수
- 재귀는 무엇일까요? 자기 자신을 호출함
- 함수
#include <stdio.h> int fibo(int num) ; int main(void){ int num; int i; printf("\n피보나치 수 입력 : \n" ); scanf("%d" , &num) ; for(i = 0 ; i < num ; i++ ){ printf("%d " , fibo(i)); } printf("\n\n"); return 0; } int fibo(int num){ if(num == 0) return 0; else if(num == 1) return 1; else return fibo(num-1) + fibo(num-2); }
#include <stdio.h> int factorial(int n); int factorial(int n) { if(n<=1) return 1; return n*factorial(n-1); } int main() { int n; scanf("%d",&n); printf("%d",factorial(n)); return 0; }
- 과제 : TowerOfHanoi 함수 만들어오기 (너무 어려운가...)
3.7. 5월 12일 화요일 ¶
- 참가 : 강민승, 김석준, 이준석
- 수업 내용
- 숙제!
- 역시 아무도 못풀어옴..
- 재귀를 어떤 방식으로 해야 할 지 감이 안잡힌다면 점화식을 세워보시길
- 역시 아무도 못풀어옴..
- 배열
- 자료형을 나열 할 수 있는 구조
- 이름, [] <- 대괄호, 그리고 index로써 표현한다.
- 선언 시 크기를 숫자로써 설정
- 배열 값 더하기 예제
- 자료형을 나열 할 수 있는 구조
- 2차원 배열
- 예제 : 별 찍기
- 예제 : 별 찍기
- 숙제!
#include<stdio.h> int main() { int i, j; for(i = 0 ; i < 5 ; i++) { for(j = 0 ; j <= i ; j++) { printf("*"); } printf("\n"); } return 0; }
- 과제 ㄹ 모양으로 5*5 배열에 별찍어오기