C 언어 스터디 02 - 제어문, 반복문, 함수
-
Upload
yu-yongwoo -
Category
Software
-
view
122 -
download
2
Transcript of C 언어 스터디 02 - 제어문, 반복문, 함수
C/C++ Study 02
Copyright© 2015 by YoWu. All rights reserved. http://luckyyowu.tistory.com ([email protected])
제어문, 반복문, 함수
if / switch
for / while / do-while
함수
지역/전역변수
재귀함수
제어문
제어문
• 조건
• if
• switch case
• 반복
• while, for
• 흐름제어
• continue, break
IF
• 조건에 따른 분기
• 코드 블럭
• if(조건) {
printf();
}
• if(조건)
printf();
예제 - 1
IF ELSE
• else
• else if
if (조건A) {
이거; }
else if (조건 B) {
저거; }
else if (조건 C) {
요거; }
else {
이도저도아닌거; }
예제 - 2
실습 - 1
• 두개의 정수(A, B)를 입력받아 A가 B의 배수인지 검사하는
프로그램 작성
SWITCH
• if랑 비슷
switch(변수) {
case 1:
실행문 1;
break;
case 2:
실행문 2;
break;
default:
실행문 3;
}
예제 - 3
실습 - 2
• 두 개의 정수 값을 입력 받고 연산자를 입력 받아 +, -, *,
/를 처리하는 계산기 프로그램을 작성(switch-case 사용)
FOR
• 조건에 따른 명령 반복문
for (초기값; 조건식; 증감식) {
명령;
}
예제 - 4
예제 - 5
WHILE
• for와 유사한 명령 반복문
• 증감식이 코드블록 내에 위치한다.
• for랑 구조가 같다. (while이 더 빠르단건 미신)
while (조건식) {
명령;
증감식;
}
예제 - 6
DO-WHILE
• while와 유사한 명령 반복문
do {
명령;
증감식;
} while (조건식);
예제 - 7
흐름 제어
• continue
• 반복문의 조건문으로
• break
• 반복문 밖으로
실습 - 3
• 아래와같이출력되게프로그램작성
함수
• 함수 종류
• 라이브러리
• 사용자 정의
• 함수는 왜 사용하나?
함수
•함수 기본 구조
•선언과 정의
반환형 함수이름(인수1, 인수2, ….)
{
함수 내용
}
예제 - 8
함수
• 반환형X, 파라미터X
• 반환형X, 파라미터O
• 반환형O, 파라미터O
void 함수이름() {
함수 내용;
}
void 함수이름(인수) {
함수 내용;
}
반환형 함수이름(인수) {
함수 내용;
return 반환값;
}
예제 - 9
실습 - 4
• 몇 단을 출력할지를 입력 받아 구구단을 출력하는 사용자정의 함수를 작성해 프로그램을 만드시오
변수
• 종류
• 지역 변수
• 전역 변수
• Static 변수
• 어떻게 다른가?
지역 변수
•지역 변수는 메모리의 어디?
•함수 호출 시 전달 인자는?
•메모리에서 생존 기간은?
예제 - 10
전역 변수
• 전역 변수는 메모리의 어디?
• 어떻게 다른 함수에서 접근할 수 있는가?
• 메모리에서 생존 기간은?
예제 - 11
STATIC 변수
• 전역 변수와 지역 변수의 특징을 둘 다 가지고 있음
• 메모리의 어디에 할당되어 있는가?
예제 - 12
재귀 함수 (recursive)
• 함수 내에서 다시 자신을 호출하는 함수
void Recursive(void)
{
printf(“recursive!\n”);
Recursive();
}
예제 - 13
실습 - 5
• 재귀함수를 사용해 팩토리얼 구현
과제
• 스택, 메모리 데이터 영역에 대해 조사 (앞에서의 변수들은메모리의 어디?, 생성, 소멸시기 포함)
• 스택 프레임에 대해 조사
• 컴파일러, 링커에 대해 조사(각각의 역할, 결과물, 과정 등자세히)
과제
• 10진수를 입력 받아 2진수로 출력하는 프로그램 작성
• 아래와 같이 출력되게 프로그램 작성
• 아래와 같이 출력되게 프로그램 작성 2 (짝수만 들어옴)
과제
• 두 개의 정수를 입력 받아 최대 공약수를 구하는 사용자정의 함수를 만들어 프로그램 작성
• 재귀함수를 이용해 피보나치 수열 구현
• 재귀함수를 이용해 10진수를 2진수로 만들어주는 함수를이용해 프로그램 작성
• 스터디 시간에 했던 실습들