C언어 콘서트 제2장 기초 사항.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
© 2012 생능출판사 All rights reserved 쉽게 풀어쓴 C 언어 Express C Express 제 2 장 프로그램 개발과정.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
제2장 프로그램 개발과정 C Express.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express Slide 1 (of 31)
Power C++ 제1장 C++ 소개.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Chapter 7. 조건문.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
누구나 즐기는 C언어 콘서트 제2장 기초 사항.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
8장 함수 함수의 필요성 라이브러리 함수와 사용자 정의 함수 함수의 정의, 원형, 호출 배열을 함수 인자로 전달 재귀호출.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
26. 매크로와 전처리기.
Power Java 제4장 자바 프로그래밍 기초.
2주차: 변수, 수식, Control Flow.
6장. printf와 scanf 함수에 대한 고찰
14장. 포인터와 함수에 대한 이해.
11장. 1차원 배열.
Chapter 2 기 초 사 항.
C 2장. C 프로그램 시작하기 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express Slide 1 (of 27)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
19. 함수 포인터와 void 포인터.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
연산자 (Operator).
쉽게 풀어쓴 C언어 Express 제2장 프로그램 작성 과정 C Express.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
자바 5.0 프로그래밍.
김선균 컴퓨터 프로그래밍 기초 - 7th : 함수 - 김선균
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 08. 함수.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Fucntion 요약.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
함수, 모듈.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
프로그래밍 개론 Ⅰ-실습 2장 데이터와 식①.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
어서와 C언어는 처음이지 제21장.
C.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
수업 내용 수업 목표 강의 내용 강의 계획서 교과서 및 참고도서 평가 방법 수강생의 학습 방법 제안 강의자료 사이트
13. 포인터와 배열! 함께 이해하기.
실 습 2.
Presentation transcript:

C언어 콘서트 제2장 기초 사항

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번 장에서 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

첫번째 프로그램 Hello World!

주석 주석(comment): 프로그램에 대한 설명

3가지 방법의 주석 /* 한 줄로 된 주석 */ /* 여러 줄로 된 주석 */ // 여기서부터 줄의 끝까지 주석

헤더 파일 포함 #include는 소스 코드 안에 특정 파일을 현재의 위치에 포함 헤더 파일(header file): 컴파일러가 필요로 하는 정보를 가지고 있는 파일 stdio.h: standard input output header file 주의! 전처리기 지시자 문장 끝에는 세미콜론을 붙이면 안 된다.

헤더 파일 포함

줄바꿈 및 들여쓰기

함수 함수(function): 특정한 작업을 수행하기 위하여 작성된 독립적인 코드

함수 작업을 수행하는 문장은 함수 안에 들어가야 함

main() 함수 main() 함수: C 프로그램에서 가장 먼저 실행되는 함수

함수의 구성요소

문장 함수는 여러 개의 문장으로 이루어진다. 문장들은 순차적으로 실행된다. 문장은 ;(세미콜론)으로 끝나야 한다.

함수 반환문 return은 함수의 결과값을 외부로 반환합니다. return 0; 운영 체제 main() printf(“Hello World!”); return 0; 운영 체제

중간 점검 1. 주석이 하는 역할은 무엇인가? 2. 주석을 여러 줄로 하려면 어떤 스타일을 사용하여야 하는가? 3. #include 문은 어떤 동작을 하는가? 4. 모든 문장의 끝에 있어야 하는 기호는?

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번에 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

출력 함수 printf() printf()는 컴파일러가 제공하는 함수로서 출력을 담당합니다.

응용 프로그램 #1 다음과 같은 출력을 가지는 프로그램을 제작하여 보자. Hello World! Kim ChulSoo

첫번째 버전 문장들은 순차적으로 실행된다는 사실 이용 /* 첫번째 프로그램의 응용 */ #include <stdio.h> int main(void) { printf("Hello World!"); printf("Kim ChulSoo"); return 0; } 우리가 원하는 결과가 아님! Hello World!Kim ChulSoo

줄바꿈 문자 \n 줄바꿈 문자인 \n은 화면에서 커서를 다음줄로 이동시킨다.

변경된 프로그램 줄바꿈 문자를 포함하면 우리가 원하던 결과가 된다. /* 첫번째 프로그램의 응용 */ #include <stdio.h> int main(void) { printf("Hello World!\n"); printf("Kim ChulSoo\n"); return 0; } Hello World! Kim ChulSoo

구구단 출력 프로그램 구구단의 일부를 출력 #include <stdio.h> int main(void) { printf("3 X 1 = 3\n"); printf("3 X 2 = 6\n"); printf("3 X 3 = 9\n"); return 0; } 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9

중간 점검 1. 줄바꿈 문자인 "\n"이 하는 역할은 무엇인가? 2. main() 함수 안의 문장들은 어떤 순서대로 실행되는가?

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번에 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

일반적인 프로그램의 형태 데이터를 받아서(입력단계), 데이터를 처리한 후에(처리단계), 결과를 화면에 출력(출력단계)한다.

첫번째 덧셈 프로그램

변수 Q) 변수란 무엇인가? int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum; // 두 정수의 합을 저장하는 변수 Q) 변수란 무엇인가? 프로그램이 사용하는 데이터를 일시적으로 저장할 목적으로 사용하는 메모리 공간

변수의 종류 변수는 데이터를 담는 상자로 생각할 수 있다. 변수에는 데이터의 종류에 따라 여러 가지 타입이 존재한다.

변수 선언 변수 선언: 컴파일러에게 어떤 타입의 변수가 사용되는지를 미리 알리는 것 int x; 자료형 변수의 이름

자료형 자료형(data type): 변수가 저장할 데이터가 정수인지 실수인지, 아니면 또 다른 어떤 데이터인지를 지정하는 것

변수의 이름 식별자(identifier): 변수나 함수의 이름 식별자를 만드는 규칙 식별자의 예: 식별자는 영어의 대소문자, 숫자, 밑줄 문자 _로 이루어진다. 식별자는 숫자로 시작할 수 없다. 대문자와 소문자를 구별하며 C 언어의 키워드와 똑같은 이름은 허용되지 않는다. 식별자의 예: s, s1, student_number: 올바른 식별자 s#, 2nd_student , int: 잘못된 식별자

변수 선언 int x; // 첫번째 정수를 저장하는 변수 int y; // 두번째 정수를 저장하는 변수 int sum; // 두 정수의 합을 저장하는 변수

상수 x = 100; y = 200; 상수 상수(constant): 그 값이 프로그램이 실행하는 동안 변하지 않는 수

대입 연산 대입 연산(assignment operation): 변수에 값을 저장하는 연산 대입 연산 = 배정 연산 = 할당 연산 x = 100; y = 200;

대입 연산(cont.) 다음과 같은 연산은 변수 x의 값을 하나 증가시킨다. 수학적인 의미와는 다름 x = x + 1;

산술 연산 sum = x + y; 연산 연산자 C 수식 수학에서의 기호 덧셈 + x + y 뺄셈 - x - y 곱셈 * 나눗셈 / x / y x/y 또는                  또는 x ÷ y 나머지  % x % y x mod y sum = x + y;

변수값 출력 : printf() printf(): 모니터에 출력을 하기 위한 표준 출력 라이브러리 함수

printf()의 형식

printf()의 출력 과정

형식 지정자와 변수의 타입은 일치하여야 함

복습

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번에 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

덧셈 프로그램 #2 사용자로부터 입력을 받아보자.

두번째 덧셈 프로그램 // 사용자로부터 입력받은 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을 외부로 반환 } 첫번째 숫자를 입력하시오:10 두번째 숫자를 입력하시오:20 두수의 합: 30

키보드 입력 : scanf() scanf(): 키보드로부터 입력을 하기 위한 라이브러리 함수 형식 지정자 의미 형태 %d 정수 100 %f 실수(float) 3.14 %lf 실수(double) 3.141592 %c 문자 A %s 문자열 Hello World!

scanf()

&의 의미 & 연산자: 변수의 주소를 계산하는 연산자 변수에 값을 저장하려면 변수의 주소가 필요

실수 입력 float ratio = 0.0; scanf("%f", &ratio); double scale = 0.0; scanf("%lf", &scale); 주의!!!

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번에 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

오류 수정 및 디버깅 컴파일이나 실행 시에 오류가 발생할 수 있다. 에러와 경고 오류의 종류 에러(error): 심각한 오류 경고(warning): 경미한 오류 오류의 종류 컴파일 시간 오류: 대부분 문법적인 오류 실행 시간 오류: 실행 중에 0으로 나누는 연산 같은 오류 논리 오류: 논리적으로 잘못되어서 결과가 의도했던 대로 나오지 않는 오류

오류가 발생하는 프로그램

오류 수정 과정 소스파일 test.c 오브젝트 파일 test.obj 실행파일 test.exe 컴파일러 (compiler) 링커 ERROR!! 소스파일 test.c 오브젝트 파일 test.obj 실행파일 test.exe 컴파일러 (compiler) 링커 (linker) 실행 (execution) 실행 시간 오류 논리 오류 컴파일 시간 오류

디버깅 디버깅: 논리 오류를 찾는 과정

중간 점검 1. 오류를 심각성의 정도에 따라 분류하여 보자. 2. 작성된 프로그램이 C언어의 문법을 지키지 않았으면 어떤 오류에 속하는가?

이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 이번에 학습할 내용 이번 장에서는 C프로그램을 이루는 구성요소들을 살펴봅니다. 첫번째 프로그램 설명 화면 출력 연산이 있는 프로그램 입력이 있는 프로그램 오류 수정 및 디버깅 응용 프로그램

연봉 계산 프로그램 /* 저축액을 계산하는 프로그램 */ #include <stdio.h> int main(void) { int salary; // 월급 int deposit; // 저축액 printf("월급을 입력하시오: "); scanf("%d", &salary); deposit = 10 * 12 * salary; printf("10년 동안의 저축액: %d\n", deposit); return 0; } 사용자로부터 월급을 입력받는다. 월급에 10*12를 곱하여 10년동안의 저축액을 계산한다. 결과를 출력한다. 월급을 입력하시오: 200 10년 동안의 저축액: 24000

원의 면적 프로그램 /* 원의 면적을 계산하는 프로그램*/ #include <stdio.h> int main(void) { float radius; // 원의 반지름 float area; // 면적 printf("반지름을 입력하시오: "); scanf("%f", &radius); area = 3.14 * radius * radius; printf("원의 면적: %f\n", area); return 0; } 원의 면적 계산 반지름을 입력하시오: 5.0 원의 면적: 78.500000

Q & A