조건문, 함수 정대진 (2014.08.06) C Programming -3 일차 - 2014 ITA 8 월 강의.

Slides:



Advertisements
Similar presentations
멘토링 2 주차 장 프로그래밍을 위한 자바의 자료형  값이 변하지 않는 상수  메모리 기억공간인 변수.
Advertisements

YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
제6장 조건문.
어서와 Java는 처음이지! 제3장선택과 반복.
제 3 장 변수와 자료형.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
컴퓨터 응용 및 실습 Part1. OOP&Java Programming data type Review
C 언어 기초 2 위덕대학교 에너지전기공학부 이 수 형 2009년 2학기.
2016 ITA 1월 강의 C Programming -4일차- 포인터배열 및 이중포인터 정대진 ( )
C++ Espresso 제1장 기초 사항.
제 1장 C 언어의 소개.
C++ Espresso 제2장 제어문과 함수.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
C 10장. 함수의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
6장. printf와 scanf 함수에 대한 고찰
Choi, Namseok Java 기초 (Java의 제어문과 배열) Choi, Namseok
제  3 장  Lex 사용하기.
7. while 문의 흐름 제어.
명품 Java Programming.
AVR - Chapter 15 황 지 연.
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express.
Chapter 06. 선택문.
변수와 자료형.
프로그래밍2 및 실습 C언어 기반의 C++ 2.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4장 제어문 선택문: if 문, if – else 문, switch 문
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
adopted from KNK C Programming : A Modern Approach
Chapter 2 Lexical Elements, Operators, and the C System
Chapter 10 함수 기본.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 05. 상수와 기본 자료형.
제어문 & 반복문 C스터디 2주차.
4장 - PHP의 표현식과 흐름 제어-.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 09. C언어의 핵심! 함수!
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
처음으로 배우는 C 프로그래밍 제3부 함수 제 6 장 함수 작성.
Part 09 배열 안산1대학 디지털정보통신과 임 성 국.
[INA470] Java Programming Youn-Hee Han
자바 5.0 프로그래밍.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
파일 입출력.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 08. 조건에 따른 흐름의 분기.
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
박성진 컴퓨터 프로그래밍 기초 [03] 변수와 자료형 박성진
어서와 C언어는 처음이지 제16장.
Lecture 03 제어문과 메소드 Kwang-Man Ko
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
C.
printf("Global Korea\n");
어서와 C언어는 처음이지 제22장.
Presentation transcript:

조건문, 함수 정대진 ( ) C Programming -3 일차 ITA 8 월 강의

KAIST IT 아카데미 C Programming B 반 목차  복습  조건문  반복문 생략, 탈출  조건문 2  함수  배열 2

KAIST IT 아카데미 C Programming B 반 복습 (1)  데이터 표현 방식  10 진수, 16 진수, 8 진수  Bit 연산자  sizeof()  ASCII 코드  상수 심볼릭 상수 (const)  형 변환 자동 형 변환 강제 형 변환 (casting)  printf() 함수  서식 출력  scanf() 함수 3

KAIST IT 아카데미 C Programming B 반 복습 (2)  반복문  while 문  do while 문 무조건 한 번 실행 마지막 while() 에 세미콜론 필수  for 문 가장 많이 쓰는 반복문 한 줄에 필요요소 모두 작성  반복을 위한 변수 초기화  조건검사  조건을 넘어서게 만드는 연산 4

KAIST IT 아카데미 C Programming B 반 복습용 프로그램 실습  사용자로부터 숫자 (1~10) 사이의 값을 입력 받고, 그 수만큼 직각삼각형의 크기를 늘려 출력하는 프로그램을 작성하시오  예시 ( 숫자 5 입력 시 ) * ** *** **** ***** 5

KAIST IT 아카데미 C Programming B 반 조건문  if 문 6

KAIST IT 아카데미 C Programming B 반 조건문  if 문을 이용한 간단한 계산기 작성 7 이 프로그램의 비효율성은 !?

KAIST IT 아카데미 C Programming B 반 조건문  if-else 문 8

KAIST IT 아카데미 C Programming B 반 조건문  if-else-if-else… 구성 9

KAIST IT 아카데미 C Programming B 반 조건문  if-else-if-else… 구성 10

KAIST IT 아카데미 C Programming B 반 프로그램 실습  하나의 정수를 입력받고 그 수가 홀수인지, 짝수인지 출력하는 프로그램을 작성하시오 11

KAIST IT 아카데미 C Programming B 반 프로그램 실습  1 개의 for 문을 if 문과 병행하여 1~100 까지의 수 들 중에서 2 의 배수들의 합, 3 의 배수들의 합, 5 의 배수들의 합을 구하는 프로그램을 작성하시오 12

KAIST IT 아카데미 C Programming B 반 프로그램 실습  두 개의 수를 입력 받고, 두 수의 대소관계를 알려주는 프로그램을 작성하시오 13

KAIST IT 아카데미 C Programming B 반 반복문 생략, 탈출  특정 조건이 만족 시 반복문 탈출 14

KAIST IT 아카데미 C Programming B 반 반복문 생략, 탈출  특정 조건이 만족 시 생략 15

KAIST IT 아카데미 C Programming B 반 반복문 생략, 탈출  반복문의 continue, break 는 한 반복문 안에서만 생략, 탈출이 가능  생각해 보아요 ~!  1. 2 중첩으로 for 문을 만들었음  2. 특정 조건이 만족되었을 때 2 중첩 for 문을 모두 탈출하고 싶 음  HOW!?!? 16

KAIST IT 아카데미 C Programming B 반 조건문 2  switch-case 문 17

KAIST IT 아카데미 C Programming B 반 조건문 2  switch-case 문 18

KAIST IT 아카데미 C Programming B 반 조건문 2  switch-case 문  switch() 안에는 정수만 사용 가능 !! 따라서 문자 1 개도 사용 가능  case 문에는 콜론 (:) 반드시 필요  break; 를 적지 않으면 다음 case 문까지 실행  default: 는 가장 마지막에 작성  if-else 문과 완벽 호환 불가능  if-else 문과 같은 기능을 한다면 훨씬 빠름 19

KAIST IT 아카데미 C Programming B 반 조건문 2  switch-case 문 20

KAIST IT 아카데미 C Programming B 반 프로그램 실습  (turboc.h 사용 ) 1. 키보드의 상하좌우키를 입력 받아 # 을 이동 2. 스페이스 입력 시 화면 지우기 3. q, Q 를 입력 시 프로그램 종료 위의 기능을 가진 프로그램 작성하기  힌트 : 무한루프 사용 gotoxy() 사용 키를 입력받을 시 getch() 함수 사용 예시 ) char 타입변수 = getch(); 상하좌우키 스캔코드 : 0xE0, 키보드 그림 21 상 72 하 80 좌 75 우 77

KAIST IT 아카데미 C Programming B 반 프로그램 실습  (turboc.h 사용 ) 1. 사용자로부터 화면의 좌표를 입력 받고 2. 입력받은 좌표로부터 우하단으로 이동을 시작하여 3. # 문자를 이동하고 상하좌우의 벽에 닿으면 반사 4. 임의의 키가 입력될때까지 (kbhit() 함수 ) 하는 프로그램을 작성하시오 22

KAIST IT 아카데미 C Programming B 반 함수  함수 제작 이유  Divide and Conquer 문제를 작은 단위로 나누어서 해결하기  함수의 크기 하나의 일만 담당하도록 디자인  함수의 형태 23

KAIST IT 아카데미 C Programming B 반 함수  printf() 함수 예시  리턴값 리턴 값을 굳이 받을 필요 없음 리턴값은 반드시 하나 리턴값이 없는 리턴 !!!  void 형에서의 return; 24

KAIST IT 아카데미 C Programming B 반 함수  간단 함수 제작 ( 숫자 비교 함수 )  함수의 정의와 선언 ( 함수선언 ( 정의 아님 ) 은 함수가 사용되기 전 에 필수 ) 25

KAIST IT 아카데미 C Programming B 반 함수  함수 정의 예제 26

KAIST IT 아카데미 C Programming B 반 지역변수  해당 지역에서만 유효한 변수 27  정의된 함수안에서면 접근 가능  한 지역에서 동일 이름 변수 생성 불가  다른 지역에 동일 이름 변수 생성 가능  해당 지역에서 벗어날 시 소명  호출 될 때마다 새롭게 할당  파라미터도 지역변수

KAIST IT 아카데미 C Programming B 반 전역변수  전역변수  함수 외부에서 선언  프로그램 시작부터 종료 시까지 존재  초기화 없을 시, 0 값으로 초기화  프로그램 전체 영역 어디서든 접근 가능  지역변수의 이름이 전역변수의 이름을 가림 28

KAIST IT 아카데미 C Programming B 반 전역변수  전역변수  함수 외부에서 선언  프로그램 시작부터 종료 시까지 존재  초기화 없을 시, 0 값으로 초기화  프로그램 전체 영역 어디서든 접근 가능  지역변수의 이름이 전역변수의 이름을 가림  가급적이면 사용 자제 ( 많을 시, 프로그램의 가독성 및 호환성 저 하 ) 29

KAIST IT 아카데미 C Programming B 반 전역변수  전역변수 30

KAIST IT 아카데미 C Programming B 반 전역변수  전역변수 31  지역변수 이름이 전역변수 이름을 덮는 예  C 에서는 이런 경우에 전역변수 사용불가

KAIST IT 아카데미 C Programming B 반 Static 변수  static 변수  선언된 함수 내에서만 접근 가능 ( 지역변수 특성 )  처음 생성 시에만 초기화  생성 후 프로그램 종료 시까지 메모리에 존재 ( 전역변수 특 성 ) 32

KAIST IT 아카데미 C Programming B 반 Register 변수  Register 변수  CPU 내부에 존재하는 메모리공간에 할당  자주 사용하여 빠른 접근이 요구될 때  일반적인 프로그램에서는 자주 사용하지 않음 33

KAIST IT 아카데미 C Programming B 반 함수  재귀함수  스스로를 호출하는 함수  무한 반복의 예 34

KAIST IT 아카데미 C Programming B 반 함수  재귀함수  스스로를 호출하는 함수  탈출 조건이 존재하는 경우의 예 35

KAIST IT 아카데미 C Programming B 반 함수  재귀함수의 사용 예 36  사용이 편리  메모리 사용이 큼  재귀함수를 일반함수로 표현 가능

KAIST IT 아카데미 C Programming B 반 #define 활용  매크로 상수 정의 가능  사용법 #define GAME_TIME 240 함수 바깥에서 사용 ( 전역변수와 같은 기능 )  const 변수와 같이 사용 가능  순서에 주의 ( 정의되지 않은 매크로 상수를 사용 불가능 )  연산식으로 정의 시, 괄호로 묶을 것 !!!  매크로 함수 정의 가능  일단 매크로 상수 먼저 잘 사용하고 나중에 배우겠습니다. 37

KAIST IT 아카데미 C Programming B 반 프로그램 실습  두 정수를 입력 받고 두 수를 swap 하는 함수를 작성하시오 38

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  우리가 사용해 본 표준 함수  printf(), scanf(), delay()  다양한 종류의 표준 함수  입출력 함수  수학 함수  문자열 함수  시간 함수  파일 입출력 함수  프로그램 제어 함수  메모리 할당 함수  기타 부수적인 함수 39

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  삼각함수  헤더파일 : math.h  double sin(double x);  double cos(double x);  double tan(double x);  double asin(double x);  double acos(double x);  double atan(double x);  double sinh(double x);  double cosh(double x);  double tanh(double x); 40

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  지수함수  헤더파일 : math.h  double sqrt(double x);// x 의 제곱근  double pow(double x,double y);// x^y  double log(double x);// 자연로그  double log10(double x);// 상용로그  double exp(double x); // e^x  double hypot(double x,double y);// root(x^2 + y^2) 41

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  정수화 함수  헤더파일 : math.h  double floor(double x);// 내림  double ceil(double x);// 올림  반올림 !? floor(x+0.5) 42

KAIST IT 아카데미 C Programming B 반 프로그램 실습  다음의 프로그램을 작성하시오  1. 함수 실수 1 개와 정수 1 개를 입력 받음 ( 파라미터 ) 소수점 정수번째에서 반올림 ( 양수 음수 0 가능 )  소수점 -1 자리 반올림 : >  소수점 0 자리 반올림 : >  소수점 1 자리 반올림 : > 반올림된 결과값 리턴  2. 1 에서 만든 함수 활용하는 main 프로그램 사용자로부터 실수 1 개, 정수 1 개를 입력 받음 1 번 함수 실행 실행 결과 화면에 출력 43

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  절대값 함수  헤더파일 : math.h  int abs(int n);  long labs(long n);  double fabs(double x); 44

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  표준 난수 함수  헤더파일 : stdlib.h  int rand(void);//0~RANMAX 범위의 수 무작위 추출  void srand(unsigned int seed);// 난수발생기 시드 초기화 45

KAIST IT 아카데미 C Programming B 반 표준 함수 사용  표준 난수 함수  헤더파일 : stdlib.h  int rand(void);//0~RANMAX 범위의 수 무작위 추출  void srand(unsigned int seed);// 난수발생기 시드 초기화  난수 발생 시간으로 초기화  srand((unsigned)time(NULL)); rand() % n 46

KAIST IT 아카데미 C Programming B 반 배열  배열의 필요성 47

KAIST IT 아카데미 C Programming B 반 배열  1 차원 배열 48

KAIST IT 아카데미 C Programming B 반 배열  1 차원 배열 49

KAIST IT 아카데미 C Programming B 반 배열  1 차원 배열 50

KAIST IT 아카데미 C Programming B 반 프로그램 실습  5 명의 성적을 입력받기 위한 배열을 생성하고, 5 명의 점수를 순차적으로 입력 받아 평균을 출력하는 프로그램을 만드시오 51

KAIST IT 아카데미 C Programming B 반 배열  문자열 52

KAIST IT 아카데미 C Programming B 반 배열  문자열  NULL 문자 53

KAIST IT 아카데미 C Programming B 반 배열  문자열  문자열 입력 배열의 이름 앞에는 & 를 붙이지 않음 !!! 54

KAIST IT 아카데미 C Programming B 반 프로그램 실습  영문으로 구성된 긴 단어 ( 의미있을 필요 없음 ) 를 입력 받아 단어의 역순으로 화면에 출력하라  ex) alpha -> ahpla 55

KAIST IT 아카데미 C Programming B 반 프로그램 실습  영문 소문자로 구성된 긴 문장을 입력받아 이 문자열 내의 각 알파벳 문자 개수를 구하여 출력하라.  ex) alpha -> a:2, h:1, l:1, p:1 56

KAIST IT 아카데미 C Programming B 반  다음 수업 내용  포인터  앞으로 배울 내용들  포인터  문자와 문자열  구조체  파일 입출력  메모리관리 ( 동적할당 )  약간의 디버깅방법 오늘 수업 종료