C 언어와 프로그래밍 개요

Similar documents
C 프로그램의 기본

슬라이드 1

슬라이드 1

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

슬라이드 1

PowerPoint Presentation

OCW_C언어 기초

Microsoft PowerPoint - ch01.ppt

슬라이드 1

C 언어와 프로그래밍 개요

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap03-변수와데이터형.pptx

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

C 언어와 프로그래밍 개요

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - chap-03.pptx

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

ABC 2장

금오공대 컴퓨터공학전공 강의자료

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - [2009] 02.pptx

10장. 구조체

C 언어 프로그래밊 과제 풀이

슬라이드 1

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2)

Microsoft PowerPoint - chap12-고급기능.pptx

쉽게 풀어쓴 C 프로그래밍

8장. 포인터

Microsoft PowerPoint - chap11.ppt [호환 모드]

PowerPoint Presentation

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

OCW_C언어 기초

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

중간고사

Microsoft PowerPoint - chap05-제어문.pptx

PowerPoint Presentation

OCW_C언어 기초

Microsoft PowerPoint - chap4_2013 [호환 모드]

C++ Programming

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap08-1 [호환 모드]

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap06-4 [호환 모드]

untitled

Microsoft PowerPoint - chap06-5 [호환 모드]

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

1 장 C 언어복습 표준입출력배열포인터배열과포인터함수 const와포인터구조체컴파일러사용방법 C++ 프로그래밍입문

untitled

02장.배열과 클래스

0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4

컴파일러

03 상수, 변수, 자료형

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - ch07 - 포인터 pm0415

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>


Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - chap-06.pptx

목차 배열의개요 배열사용하기 다차원배열 배열을이용한문자열다루기 실무응용예제 C 2

슬라이드 1

Microsoft PowerPoint - chap11-포인터의활용.pptx

본 강의에 들어가기 전

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint Presentation

Microsoft PowerPoint - chap06-8 [호환 모드]

Microsoft PowerPoint - 03_(C_Programming)_(Korean)_Pointers

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - chap01-C언어개요.pptx

쉽게 풀어쓴 C 프로그래밍


C 언어와 프로그래밍 개요

Microsoft PowerPoint - KNK_C01_intro_kor

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

Microsoft PowerPoint - 제11장 포인터(강의)

KNK_C01_intro_kor

C++ Programming

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - additional01.ppt [호환 모드]

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - C프로그래밍-chap15.ppt [호환 모드]

Microsoft PowerPoint - C++ 5 .pptx

Chapter_06

Microsoft PowerPoint - chap06-8.ppt

untitled

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

PowerPoint 프레젠테이션

Microsoft PowerPoint - Chapter8.pptx

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

윤성우의 열혈 TCP/IP 소켓 프로그래밍

1장. 유닉스 시스템 프로그래밍 개요

Transcription:

2019-1 st 프로그래밍입문 (1) 2 장. C 프로그램기본 박종혁교수 서울과학기술대학교컴퓨터공학과 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr

목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2

예제 2-1 : 첫번째 C 프로그램 3

주석 (Comment) 주석을다는방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 주석처리 (comment out) 4

주석예제 C 스타일주석 /* a comment */ /* * A comment can be written in this fashion * to set it off from the surrounding code. */ /**************************** * If you wish, you can * * put comments in a box. * ****************************/ C++ 스타일주석 // This is a comment in C++ 5

어휘원소, 연산자, C 시스템 구문 올바른프로그램을만들수있게하는규칙 컴파일러 C 프로그램이구문에맞는지검사 오류가있다면, 오류메시지출력 오류가없다면, 목적코드생성 컴파일과정 C 프로그램 토큰으로분리 토큰을목적코드로변환 토큰종류 : 키워드, 식별자, 상수, 문자열상수, 연산자, 구두점 6

문자와어휘원소 프로그램에서사용할수있는문자 소문자 : a b c... z 대문자 : A B C... Z 숫자 : 0 1 2 3 4 5 6 7 8 9 특수문자 : + - * / = ( ) [ ] < > '! @ # $ % & _., ; :? 여백문자 : 공백, 개행, 탭 컴파일러는이러한문자들을구문단위인토큰으로모은다 7

어휘분석 /* Read in two integers and print their sum. */ 주석문 : /* 부터 */ 까지는공백으로대치 #include<stdio.h> 전처리지시자 : 전처리기가처리 int main(void){ int a, b, sum; 키워드 : int, void 식별자 : main, a, b, sum 연산자 : ( ) 구두점 : {,,, ; inta, b, sum; -> (X) int absum -->absum 을하나의식별자 8

키워드 키워드 C 언어에서고유한의미를가지는토큰 예약된단어 C 키워드 9

식별자 식별자는문자, 숫자, 그리고특수문자인밑줄문자 (_) 로 구성된토큰으로, 문자또는밑줄문자로시작해야함 C 시스템은소문자와대문자를구별함 식별자의선택은의미를생각하여함 10

문장 (statement) C 프로그램을이루는기본단위 각문장은세미콜론 (;) 으로끝난다 ~ 문 : 선언문, 입력문, 출력문, 조건문, 반복문등 11

콘솔프로그램과 main 함수 콘솔프로그램에는반드시 main 함수가필요하다 12

함수의구성요소 함수를만들때는리턴형, 함수이름, 매개변수가필요하다 13

진입점 (entry-point) 함수 C 프로그램이처음시작될때호출되는함수 main 함수는콘솔프로그램의진입점함수이다 C 프로그램에는 main 함수가반드시필요하다 14

main 함수의리턴값 프로그램의종료코드 (exit code) 를리턴한다 main 함수의리턴값은운영체제로전달 0 이면, 정상종료이고 0 이아니면비정상종료 main 함수의 return 문은생략할수있다 프로그램종료시 0 리턴 15

들여쓰기 알아보기쉽도록한줄에한문장씩작성한다 블록 (block) : { } 로묶인문장들 Visual Studio 의들여쓰기단축키 Ctrl+K, Ctrl+D 또는블록선택후 Ctrl+K, Ctrl+F 16

입출력 콘솔프로그램 콘솔 ( 명령프롬프트 ) 에서실행되는프로그램 키보드로부터입력을받아서처리결과를콘솔에텍스트로출력 17

입출력라이브러리를사용하기위한준비 <stdio.h> 를포함한다 헤더파일 (.h) 라이브러리함수의이름, 리턴형, 매개변수에대한정보를담고있는파일 18

콘솔출력 콘솔에텍스트를출력하려면 printf 함수를이용한다 출력할내용을 " " 로묶어서 printf 함수의 ( ) 안에써준다 19

#define 과 #include 의사용 # : 전처리기지시자 (Preprocessing Directive) 전처리기 (Preprocessor) - 컴파일전에전처리지시자로먼저정의되어있는것들을프로세서에등록하는것 전처리지시자 (Preprocessor Directives) - #include 와같이앞에 # 이붙는명령어들 예 ) #include"my_file.h" my_file.h 파일의사본포함 C 에서제공하는표준헤더파일 : stdio.h, string,h, math.h,... <xxx.h> #define LIMIT 100 #define PI 3.14159 #define C 299792.458 20

프로그램작성순서 프로그램을작성하는순서 데이터를입력하기전에반드시입력할데이터를저장할기억공간이있어야한다 ( 변수선언이입력문전에있어야한다 ) 일반적인프로그램의작성순서 21

변수 어떤값을저장하기위한공간 변수를사용하려면변수명과데이터형 (data type) 이필요하다 변수는선언후사용해야한다. 22

변수의선언및사용 변수의선언 변수명은영문자와숫자, 밑줄기호 (_) 를사용해서만든다 첫글자로는반드시영문자나밑줄기호가와야한다 변수의사용 변수에값을대입하려면 = 을이용한다 23

입력과출력 : printf() 와 scanf() printf() : 화면출력 printf(" 서식지정문자열 ", " 변수 "); 서식지정문자열 일반문자열, 변환문자열 (%), 확장문자열 ( ) printf() 의변환문자열 printf( "% 변환문자 "," 변수 "); 변수 를변환형식에맞추어화면출력 scanf() : 키보드입력 scanf() 의변환문자열 scanf( % 변환문자, & 변수 ); 변환문자형식으로입력받아들임 24

입력과출력 : printf() 와 scanf() 25

printf 함수의형식문자열 (1/3) 서식지정자의미사용예실행결과 %d 정수를 10진수로출력 int num = 123; printf( %d, num); %x 정수를 16 진수로출력 (0~6, a~f 이용 ) %X 정수를 16 진수로출력 (0~9, A~F 이용 ) %f, %F 실수를부동소수점표기방식으로출력 int num = 123; printf( %x, num); int num = 123; printf( %X, num); float x = 1.23; printf( %f, x); %e, %E 실수를지수표기방식으로출력 float x = 1.23; printf( %e, x); %c 문자출력 char ch = A ; printf( %c, ch); %s 문자열출력 char name[20] = abc ; printf( %s, name); 123 7b 7B 1.230000 1.230000e+00 A abc 26

printf 함수의형식문자열 (2/3) 서식지정자의개수와출력할값의개수가일치해야한다 16 진수정수출력 27

예제 2-2 : 형식문자열을이용해서출력하기 28

printf 함수의형식문자열 (3/3) 문자폭지정 정밀도지정 실수의정밀도 - 소수점이하자릿수 정수의정밀도 - 출력할숫자의자릿수 29

printf() 옵션 printf() 의옵션지정 % 필드폭자리수변환문자 %d ->123 %5d-> 123 %10d-> _123 %2d ->123 ( 지정폭이작아도필요한폭은확보 ) %f ->654.321000( 표준폭으로출력 ) %12f -> 654.321000 ( 소수점넣어 12 자리로출력, 이하는표준폭으로출력 ) %9.2f -> _ 654.32 ( 소수점넣어 9 자리로출력, 이하는 2 자리로출력 ) 30

예제 2-3 : 문자폭지정하기 31

예제 2-4 : 정밀도지정하기 32

scanf 함수의형식문자열 (1/3) 33

예제 2-5 : 입력받은 10 진수정수를 16 진수로변환해서출력하기 34

scanf 함수의형식문자열 (2/3) 문자배열에입력받을때는 & 를지정하지않는다 서식지정자를여러개사용할수도있다 서식지정자와입력받을변수의개수가같아야한다 scanf("%s %d %c", name, &age, &gender); 실수형변수입력 %f : float 입력 %lf : double 입력 3 개 3 개 35

scanf 함수의형식문자열 (3/3) 형식문자열의공백문자 이전입력이후의공백을모두무시하고다음입력을읽어오게한다 36

예제 2-6 : 여러개의서식지정자사용하기 37

제어의흐름 if 문 일반적인형태 : if ( 조건식 ) { 문장 1 } 조건식이참 (true) 이면 (0 이아니면 ) 문장 1 실행, 단문이면 {} 생략 a=1 if (b==3) a=5; /* == : -- 와같다 연산자 ) */ printf("%d", a); - b 가 3 이면 a=5 - b 가 3 이아니면문장 (a=5) 실행안함, printf() 문실행 1 출력 if-else 문 일반적인형태 : if ( 조건식 ) { 문장 1 } else { 문장 2 } 조건식이참 (true) 이면 (0 이아니면 ) 문장 1 실행그렇지않으면문장 2 실행 38

제어의흐름 - 예시 예 ) if(cnt==0){ a=2; b=3; c=5; } else { a=-1; b=-2; c=-3; } printf("%d", a+b+c); cnt 가 0 값을가지면 10 출력, 그렇지않으면 -6 출력 39

반복문 while while 루프 일반적인형태 : while ( 조건식 ) { 문장 } #include<stdio.h> int main(void){ int i=1, sum=0; while (i<=5) { sum+=i; ++i; } printf("sum= %d n", sum); return 0; } 참고 ++i, i++; 증가 --i, i--; 감소 i=i+1; i=i-1; 40

반복문 - for for 루프 일반적인형태 : for ( 조건식 ) { 문장 } #include <stdio.h> int main(void) { int sum=0,i; for (i=1;i<=5;++i){ sum+=i; } printf( sum= %d \n,sum); return 0; } 41

42

참고문헌 천정아, Core C Programming, 연두에디션 (2019) C 가보이는그림책, ANK Co., Ltd., 성안당 (2018) Greg Perry, Dean Miller 어서와 C 언어는처음이지, 천인국옮김, 인피니티북스 (2015) KELLEY ( 역 : 김명호외 ), A Book on C, 홍릉과학출판사 (2003) 윤성우, 열혈 C 프로그래밍, 오렌지미디어 천인국, 쉽게풀어쓴 C 언어 Express, 생능출판사 서현우, 뇌를자극하는 C 프로그래밍, 한빛미디어 강성수, 쾌도난마 C 프로그래밍, 북스홀릭 고응남, C 프로그래밍기초와응용실습, 정익사 43