자전거를 배우려면 안장에 올라가 페달을 밟아라.

Slides:



Advertisements
Similar presentations
제6장 조건문.
Advertisements

프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 1-1 C 언어의 개론적 이야기 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 C 언어도 프로그래밍 언어 중 하나이다. 컴파일이란 무엇인가? 프로그래밍.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
C 프로그래밍.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제8장 함수 C Express Slide 1 (of 26)
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 14. 포인터와 함수에 대한 이해.
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express.
변수와 자료형.
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4장 제어문 선택문: if 문, if – else 문, switch 문
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
제2장 데이터형과 표준 입출력문 문봉근.
제 6장 함수 Hello!! C 언어 강성호 김학배 최우영.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
컴퓨터 프로그램은 여러 기능의 복합체이다. 라이브러리 함수와 사용자 정의 함수
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
-Part2- 제2장 다차원 배열이란 무엇인가.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
3주차: Control Flow and Others
컴퓨터 프로그램 제 1장 공학문제 해결 김 문 기.
어서와 C언어는 처음이지 제16장.
argc, argv 의 사용방법 #include <stdio.h>
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
printf("Global Korea\n");
개정판 누구나 즐기는 C언어 콘서트 제3장 변수와 자료형 출처: pixabay.
어서와 C언어는 처음이지 제22장.
Presentation transcript:

자전거를 배우려면 안장에 올라가 페달을 밟아라. C 언어의 특징 쉽다 연습이다. 자전거를 배우려면 안장에 올라가 페달을 밟아라. C 프로그래밍을 배우려면 컴퓨터 앞에 앉아 프로그래밍하라. 넘어지면 피나고 자전거 망가진다. 에러 나도 피 안나고 컴퓨터 멀쩡하다. 친절하게도 컴파일러가 에러 교정을 가이드한다. 더욱 친절하게도 교수님이 지도해 준다.

컴퓨터 프로그래밍 공부의 왕도 이 책은 예제에 의한 학습 연습에 의한 학습 연습, 또 연습, 또 연습하고… 그러다 보면 어느새 고수.. 이 책은 절 끝에서 예제 프로그램의 다양한 변신을 해 봄 3~7장 뒤에는 스스로 해 보는 프로젝트 문제

스타일 좋은 스타일은 어디서나 각광받는다. 프로그래밍 목표 = 옳게 작동 + 좋은 스타일 이 책은 스타일링 요소를 중요하게 다룬다. 좋은 스타일은 어디서나 각광받는다. http://tvpot.daum.net/clip/ClipViewByVid.do?vid=JTJf238z1wA$ 나쁜 스타일 좋은 스타일

1.1 나도 C 프로그래머이다. 구문과 의미를 이해하면 나도 C 프로그래머이다. #include main() 함수 printf() retrun 0와 반환형 int 주석문 /* … */

1.1.1 명령문 모든 명령문의 끝은 ;로 끝남 C 언어의 명령문 종류는 많지 않다. 여러 문을 하나의 묶음으로 만들려면 복합문 { … } 주석문 여러 줄 /* ... */ 한 줄 // ... C의 예약어

C 프로그래밍 절차

컴파일러 (부록 E) C 언어를 기계어로 번역 명령어 라인 인터페이스 통합 개발 환경 (IDE)

Dev C++ 컴파일러 사용하기

오류 메시지를 주의깊게 살피는 습관을 가져라.

C 언어의 정의

printf(), puts(),putchar() 의 차이점은? printf의 경우에는 %d 등과 같은 서식문자열을 출력할 수 있고, puts는 단순히 문자열만 출력 가능 즉, 단순 문자열만 출력하는 경우라면 puts를 쓰는 것이 좋음

예제 1 //******************************************************************** // 표준 출력에 Hello World !를 출력하는 프로그램 #include <stdio.h> int main() { puts("Hello, World !"); return 0; }

예제 2 //******************************************************************** // '본인의 학과, 본인의 학번, 이름' 을 출력하는 프로그램 #include <stdio.h> int main() { puts("본인의 학과, 본인의 학번, 이름"); return 0; }

예제 3 /* 두개의 숫자의 합을 계산하는 프로그램 */ #include <stdio.h> int main(void) { int x; // 첫번째 정수를 저장할 변수 int y; // 두번째 정수를 저장할 변수 int sum; // 두 정수의 합을 저장하는 변수 x = 100; y = 200; sum = x + y; printf("두수의 합: %d", sum); return 0; }

예제 4 // 사용자로부터 입력받은 2개의 정수의 합을 계산하여 출력 #include <stdio.h> int main(void) { int x; // 첫번째 정수를 저장할 변수 int y; // 두번째 정수를 저장할 변수 int sum; // 2개의 정수의 합을 저장할 변수 printf("첫번째 숫자를 입력하시오:"); // 입력 안내 메시지 출력 scanf("%d", &x); // 하나의 정수를 받아서 x에 저장 printf("두번째 숫자를 입력하시오:"); // 입력 안내 메시지 출력 scanf("%d", &y); // 하나의 정수를 받아서 x에 저장 sum = x + y; // 변수 2개를 더한다. printf("두수의 합: %d", sum); // sum의 값을 10진수 형태로 출력 return 0; // 0을 외부로 반환 }

예제 5 #include <stdio.h> int main(void) { int usd; // 달러화 int krw; // 원화 printf("달러화 금액을 입력하시오: "); // 입력 안내 메시지 scanf("%d", &usd); // 달러화 금액 입력 krw = 1120 * usd; // 원화로 환산 printf("달러화 %d달러는 %d원입니다.\n", usd, krw); // 계산 결과 출력 return 0; // 함수 결과값 반환 }

1.2 입출력을 해 보자. 라인 5: 변수 선언 라인 10의 scanf(): 키보드에서 데이터를 입력 라인 12: 연산을 수행하고 결과를 celsius라는 변수에 저장

프로그램의 전형적인 실행 과정

출력문 printf()

입력문 scanf() 입력 리스트에는 단일 변수 변수 앞에 주소 연산자 &

연습 문제 (실습 용)

1.3 메뉴를 제공하자. 여러 기능을 가진 프로그램이 가치가 더 높다. 두 가지 기능의 프로그램으로 확장해 보자. if 문으로 ‘선택’ 라인 5-7: 변수 선언 라인 9-13: 메뉴 디스플레이

1.3 메뉴를 제공하자. 변수 choice의 값에 따라 세 가지 경우 중의 하나를 실행 라인 15-20: 인치  센티미터 라인 21-26: 화씨  섭씨 라인 27-30: 틀린 메뉴

1.3.1 변수 변수: 어떤 값을 저장하는 곳 사용되기 전에 반드시 정의 모든 변수는 형을 가짐 (3장에서 자세히 공부) celsius, fahrenheit, centimeter, inch는 float 형 (실수) choice는 int 형 (정수) 정의할 때 초기화 가능 언제 어떻게 초기화 할지 판단은 프로그래머의 몫

변수 변수(variable) 사용 전 변수 선언 자료형 변수이름; 데이터를 저장하는 데 사용되는 기억 장소의 이름이다. 변수 이름과 저장할 데이터 값의 유형(자료형)을 지정해야 한다.      자료형 변수이름;      char c; short sum;

변수 이름을 잘 지어라. 작명법 만일 choice를 kkk로 바꾸면 기능은 같지만 스타일이 망가진다. 하얀 양복에 빨간 구두를 신은 우스운 스타일 menu는 여전히 멋진 스타일 ‘데이터의 의미를 뜻하는’ 이름은 붙여 주어라. 작명법 i, I, start, v12, _init등은 허용 8i, start*는 허용 안됨 때로 두 단어 붙여 작명 예) initial_condition이나 InitialCondition

식별자 식별자 x25 X age01 sum _jumsu address_01 25x X# 01age sum* -jumsu 변수, 상수, 함수 등에 대한 이름 문자와 숫자로 구성되며 첫 번째 글자는 반드시 문자 밑줄문자’_’도 하나의 문자로 사용될 수 있음 대소문자를 구별 바른 이름 잘못된 이름 x25  X  age01  sum  _jumsu  address_01  25x  X#  01age  sum*  -jumsu  address-01 바른 식별자, 잘못된 식별자

대입문 expression을 계산하여 얻은 값을 변수 a에 저장

예제 6 실행결과: 첫 번째 점수는 7 두 번째 점수는 10 세 번째 점수는 8 네 번째 점수는 9

1.3.2 if 문 제어문은 프로그램의 실행 순서를 제어함 if 문: 조건에 따라 실행할 문을 선택

if 문 형식 if (조건식) 제어 흐름 조건식이 참이면 문장1을 실행하고, 다음 문장으로 진행        문장1; 제어 흐름 조건식이 참이면 문장1을 실행하고, 다음 문장으로 진행 조건식이 거짓이면 문장1을 실행하지 않고, 다음 문장으로 진행 조건식 거짓 참 문장 1

if 문 예 if (x > 0) printf ("x가 양수이다."); if (a < min) min = a; 주의! C 언어에서는 0은 거짓으로 0 이외의 값은 모두 참으로 간주한다. if (x)    printf("x가 0이 아님“);

if-else 문 if-else 문은 조건에 따라 실행할 문장을 선택할 수 있다. 구문 형식 if (조건식) 제어 흐름      문장1; else      문장2; 제어 흐름 조건식이 참이면 문장1을 실행하고, 거짓이면 문장 2 실행 조건식 문장 2 거짓 참 문장 1

if-else 문 예 a, b 값 중 작은 값을 min에 대입하는 문장 if (a < b) min = a; else      min = b;

복합문(compound statement) 중괄호로 둘러싸인 문장들의 집합 필요하면 변수 혹은 상수들을 먼저 선언할 수 있다. 구문 형식 {      선언들;      문장 1;      문장 2;      . . .      문장 n; } 주의! 복합문도 하나의 문장처럼 사용될 수 있다

예제7 실행결과: 입력 1: 20 입력 2: 35 작은 값: 20 큰 값: 35

중첩된 if(nested if) if 문 내에 또 다른 if 문을 포함할 수 있다. 예 이미 결정한 사항에 기초하여 또 다른 결정을 할 수 있다. 예 if (num1 < num2)    if (num1 < num3)         min = num1;     else         min = num3;

예제8

중첩된 if 문 중첩된 if 문에서, else 절은 짝이 없는 가장 가까운 if와 짝이 된다. if (num1 < num2)    if (num1 < num3)         min = num1;     else         min = num3; vs {     if (num1 < num3)        min = num1; } else min = num3;

중첩된 if 문을 이용한 다중선택 형식 if (조건식1) 문장1; else if (조건식2) 문장2; ...     문장1; else if (조건식2)      문장2;      ... else if (조건식n)     문장n;   조건식1 참 거짓 문장 1 참 조건식2 문장 2 거짓 조건식n 참 문장 n 거짓

예제9 실행결과: 점수 입력: 85 점수: 85           학점: B

if 문의 일반적 구문 조건식 ci는 관계 연산자로 만듦 exp는 단일 변수 또는 수식

연습 문제 (실습 용)

1.3.3 중첩 선택 주 메뉴와 부 메뉴를 가지도록 기능 확장해 보자.

프로그램에 자주 등장하는 여러 형태의 중첩 구조

연습 문제 (실습 용)

1.4 반복하자. 서비스를 반복하도록 기능 확장 (while 문 이용) …… …… ……

1.4.1 while 문

while 문 while 문 구문 형식 제어 흐름 조건이 거짓이 될 때까지 동일한 문장을 반복해서 실행한다.     문장1; 제어 흐름 조건식을 계산하고, 그 값이 참(0이 아닌 값)인 동안 문장 1를 반복해서 실행한다. 조건이 거짓이 되면 while 문을 종료하고 다음 문장을 실행한다. 조건식 문장 참 거짓

예제7 실행결과: 1부터 100까지 홀수의 합은 2500 입니다.

연습 문제 (실습 용)

1.5 함수를 만들자. …… …… …… 함수: 특정한 작업을 전문적으로 해 주는 프로그램 모듈 함수 호출: 라인 16과 37 함수의 원형: 라인 8 …… …… ……

함수의 정의 함수의 일반적 구문

함수의 정의와 선언 int Add(int i, int j) { int result = i+j; return result; } 전달 인자와 반환 값, 둘 다 있는 함수 int Add(int i, int j) { int result = i+j; return result; }

함수의 정의와 선언 함수 호출 과정의 이해 #include <stdio.h> int Add(int i, int j) { int result = i + j; return result; } int main(void) int d; d = Add(3, 4); printf("%d \n", d); return 0;

연습 문제 (실습 용)

1.5.2 매개 변수와 반환 값을 가진 함수 함수의 정보 교환 매개 변수: 라인 20의 fahr return 문: 라인 25

연습 문제 (실습 용)

1.6 또 다른 반복 …… 온도 변환 표를 만드는 문제 START에서 END까지 DELTA 만큼씩 증가 #define 문은 기호 상수 정의 #define symbol constant ……

1.6.1 for 문

for 문 for 문 구문 형식 제어 흐름 보통 정해진 회수만큼 반복할 때 사용된다.     문장1; 제어 흐름 수식1: 초기화를 위한 수식 루프를 시작하기 전에 한번 계산 수식2: 부울 조건식 문장1 실행 전에 계산 값이 참(0이 아닌 값)이면 문장1 실행 거짓(값이 0)이면 루프를 벗어남 수식3: 수식2의 변수 증가/감소 위한 식 문장1 실행 후에 계산 수식2 문장1 참 거짓 수식1 수식3

for 문 예 for 루프를 사용해서 1부터 100까지의 자연수의 합 계산 for (count = 1; count <= 100; count++)     total = total + count; for (count = 100; count > 0; count--)     total = total + count;

아래 while을 for로 바꿔 쓰면, 보다 간략하게 고쳐 쓰면,

연습 문제 (실습 용)

1.7 프로그래밍 스타일: 가독성 프로그래머의 개성 프로그래밍은 과학이 아니라 예술이라 말하기도 함 프로그램 스타일은 프로그래머의 개성에 많은 영향을 받음 프로그램의 모양에 관한 스타일 하나: 가독성을readability 높여라. 들여 쓰기 의미 있는 변수 이름 기능별로 구분하기 위한 빈 줄 아래는 나쁜 스타일이다. 소프트웨어의 유지보수와 재사용 측면에서 매우 중요

연습 문제 (실습 용)

1.8 C 언어의 특징 1972년 Dennis Ritchie와 Ken Thompson이 개발, 현재 가장 널리 쓰이는 언어임 학생이 가져야 할 마음 자세 중요하다. C를 잘 하면 C++와 Java도 잘 한다. 재미있다. 나의 개성을 발산하자. 다른 언어와 차별성 Unix와 밀접한 관련이 있다. (Linux 기반 임베디드에 적합) 간결하다. 기계에 가깝다. C++는 C의 객체 지향 버전이다.

C 언어의 개론 (1) 프로그래밍 언어란 무엇인가? 컴파일이란 무엇인가? 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어 프로그래밍 언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해 주는 역할을 하는 번역기

C 언어의 개론 (2) C 언어의 장점 C 언어의 단점 익숙해지는데 오랜 시간이 걸리지 않는다. 이식성이 좋다. 효율성이 높다. C 언어의 단점 프로그래밍 하는데 많은 주의를 요한다. 완전한 고급 언어에 비해 상대적으로 어렵다.

C 언어 유래 및 특징 1972년 Dennis Ritchie가 설계함 C 언어에 직접 영향을 준 언어들 특징 UNIX 운영체제 개발에 사용됨 C 언어에 직접 영향을 준 언어들 Algol  CPL  BCPL  B  C 특징 구조화된 언어로서 모듈별 설계가 가능하다. 이식성이 높다(다양한 하드웨어에서 사용 가능). 효율적이다(처리속도가 빠르다). 다양한 연산자를 제공한다. 동적 메모리 관리가 가능하다.