슬라이드 1

Similar documents
슬라이드 1

ABC 2장

K&R2 Reference Manual 번역본

C 언어와 프로그래밍 개요

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

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

untitled

슬라이드 1

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - chap-03.pptx

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

슬라이드 1

int main(void) int a; int b; a=3; b=a+5; printf("a : %d \n", a); printf("b : %d \n", b); a b 3 a a+5 b &a(12ff60) &b(12ff54) 3 a 8 b printf(" a : %x \

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

untitled

OCW_C언어 기초

untitled

Microsoft PowerPoint - Lesson2.pptx

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

Microsoft PowerPoint - KNK_C01_intro_kor

KNK_C01_intro_kor

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습

Microsoft PowerPoint - ch01.ppt

OCW_C언어 기초

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - chap05-제어문.pptx

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


ABC 3장

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

Microsoft PowerPoint - chap03.ppt

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap06-2pointer.ppt

歯9장.PDF

Chapter_06

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

쉽게 풀어쓴 C 프로그래밍

중간고사

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

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

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap12-고급기능.pptx

03장.스택.key

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

컴파일러

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

슬라이드 1

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - lec2.ppt

슬라이드 1

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

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

슬라이드 1

PowerPoint 프레젠테이션

03 상수, 변수, 자료형

C++-¿Ïº®Çؼ³10Àå

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

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

: 1 int arr[9]; int n, i; printf(" : "); scanf("%d", &n); : : for(i=1; i<10; i++) arr[i-1] = n * i; for(i=0; i<9; i++) if(i%2 == 1) print

PowerPoint 프레젠테이션

3장 어휘분석

PowerPoint Presentation

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

The C++ Programming Language 4 장타입과선언 4.11 연습문제 Hello,world! 프로그램을실행시킨다. 프로그램이컴파일되지않으면 B3.1 을참고하자. #include<iostream> //#include 문, 헤더파일, 전처리지시

02 C h a p t e r Java

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

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

chap7.key

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint - ch07 - 포인터 pm0415

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

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

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

chap10.PDF

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - chap-04.pptx

Microsoft PowerPoint - 07_(C_Programming)_(Korean)_Composite_Data_Types

Microsoft PowerPoint - chap-06.pptx

PowerPoint 프레젠테이션

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

비트와바이트 비트와바이트 비트 (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 - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - chap-04.pptx

untitled

Tcl의 문법

PowerPoint Presentation

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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

슬라이드 1

KNK_C02_form_IO_kor

C 프로그래밊 개요


C++ Programming

11장 포인터

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 2장 변수와 자료형 pptx

Transcription:

3 장. 선행자료 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2019-1 st 프로그래밍입문 (1)

2 목차 1.1 문자와어휘원소 1.2 구문법칙 1.3 주석 1.4 키워드 (Keyword) 1.5 식별자 (Identifier) 1.6 상수 (Integer, Constant) 1.7 문자상수, 문자열상수 1.8 연산자와구두점

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

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

5 어휘분석 /* 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을하나의식별자,

6 예제프로그램 printf("input two integer: "); scanf("%d%d", &a, &b); printf, scanf : 식별자, (): 함수임을알림 "Input two integer: " : 문자열상수 & : 주소연산자, & a, & b (O), &a,&b (O), &a &b (X), a&, &b (X) sum=a + b ; =, + : 연산자, sum=a+b; (O), sum = a + b ; (O), s u m = a + b ;(X)

7 1.2 구문규칙 BNF(Backus-Naur Form) 으로기술예 ) digit = 0 1 2 3 4 5 6 7 8 9 생산규칙 의미 : 구문카테고리 digit 는기호 0 또는 1,..., 또는 9 로다시쓸수있다.

8 생산규칙에사용되는기호들 italics 구문카테고리 ::= " 다시쓰면 " 의기호 선택들을분리 { } 1 괄호안의항목중하나만선택 { } 0+ 괄호안의항목을영번이상반복 { } 1+ 괄호안의항목을한번이상반복 { } opt 옵션인항목

9 ** 생산규칙예제 ** letter_or_digit letter_or_digit ::= letter digit letter ::= lowercase_letter uppercase_letter lowercase_letter ::= a b c... z uppercase_letter ::= A B C... Z digit ::= 0 1 2 3 4 5 6 7 8 9 alphanumeric_string ::= {letter_or_digit} 0+ 3, ab777c, 알파뉴메릭문자열 u_alpha_string ::= uppercase_letter {letter_or_digit} 0+ conditional_statement ::= if (expression) statement {else statement} opt

10 1.3 주석 주석 /* 과 */ 사이에있는임의의문자열 주석은토큰이아님 컴파일러는주석을하나의공백문자로대치 문서화도구로사용함 ( 프로그램설명, 정확성증명 등 ) C++ 주석 줄단위주석 // 다음부터그행끝까지가주석임 C 스타일의주석도사용

11 ** 주석예제 ** 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++.

12 1.4 키워드 키워드 C 언어에서고유한의미를가지는토큰 예약된단어 C 키워드 auto do goto signed unsigned break double if sizeof void case else int static volatile char enum long struct while const extern register switch continue float return typedef default for short union

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

14 식별자생성규칙 identifier ::= {letter underscore} 1 {letter underscore digit} 0+ underscore ::= _ 올바른예제 K, _id, iamanidentifier2, so_am_i

15 식별자의틀린예 not#me /* special character # not allowed */ 101_south /* must not start with a digit */ -plus /* do not mistake - for _ */ C 표준라이브러리에정의된식별자 : printf, scanf,... 의미가쉽게연상되는식별자 ( 변수 ) 사용할것. 밑줄문자 (_) 로시작되는식별자는가급적사용하지말것.

16 1.6 상수 정수상수 0, 17, 234, 0x17 실수상수 1.0, 3.141592, 23E2 문자상수 'a', 'b', '+', '\n' 문자열상수 "hello", "very good" 열거상수 enum 에의해선언된상수 ( 주의 ) -49 : 상수수식 // 음수정수상수는상수수식으로간주함

17 1.7 문자열상수 문자열상수 - 큰따옴표에의해묶인일련의문자들 올바른예제 "a string of text" "" " " " a = b + c; " " /* this is not a comment */ " " a string with double quotes \" within" 잘못된예제 /* "this is not a string" */ "and neither is this"

18 1.8 연산자와구두점 연산자 +, -, *, /, % 구두점 괄호, 중괄호, 콤마, 세미콜론등 연산자와구두점은문맥에따라결정됨 % printf("%d", a); // 형식제어문자 a = b % 7; // 나머지연산자 ( ) printf("hello"); // 연산자 a = (23 + 2) * 2 // 구두점

19 예제 ) 자판기잔돈계산프로그램 #include <stdio.h> int main() { int input, change; int w500, w100, w50, w10; } printf(" 돈을입력하세요 : "); scanf("%d", &input); change = input - 150; w500 = change / 500; change = change % 500; w100 = change / 100; change = change % 100; w50 = change / 50; change = change % 50; w10 = change / 10; printf("500 원짜리동전 %d 개 \n", w500); printf("100 원짜리동전 %d 개 \n", w100); printf("50 원짜리동전 %d 개 \n", w50); printf("10 원짜리동전 %d 개 \n", w10); return 0; // input 은투입액, change 는잔돈을저장할변수 // 각동전의개수를저장할변수 // 커피값이 150 원일때잔돈계산 // 500 원동전의개수 // 아직지급하지못한남은잔돈