제 7 강 C언어의 기본 구문(Syntax).

Slides:



Advertisements
Similar presentations
Chapter 2. Text Patterns 2.1 ~ 2.3 서울시립대 전자전기컴퓨터공학과 데이터마이닝 연구실 G 노준호.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 실 습실 습 1.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
제 5 장 구문 정의  프로그래밍 언어의 기본 문자 집합  Alphabet 문자 (A-Z) 26 개 + 아라비아 숫자 (0 - 9) 10 개  예 ) Fortran : 기본 문자 집합 + 13 개의 특수문자 (=+ - * / ( ),. $ ‘ : 공백 ) Algol60.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
제2장 프로그램 개발과정 C Express.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발 과정 C Express.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
1. 컴파일러 개론 1-1. Compiler 정의 1-2. Language Processing System
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
쉽게 풀어쓴 C언어 Express 제2장 프로그램 개발과정 C Express.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
#include <stdio.h> int main(void) { float radius; // 원의 반지름
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
형식언어와 유한상태기계.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
C / C++ Programming in multi platform
1. C++ 시작하기.
C 언어 연습문제 (formatted I/O)
제 17 강 formatted I/O shcho.pe.kr.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
26. 매크로와 전처리기.
C언어 콘서트 제2장 기초 사항.
Cross Compiler 설치.
6장. printf와 scanf 함수에 대한 고찰
C++프로그래 밍 컴퓨터정보과 / 이기희교수.
1주차: 프로그래밍언어란 무엇인가? C 언어란? C 프로그래밍을 위한 준비
adopted from KNK C Programming : A Modern Approach
어서와 C언어는 처음이지 제14장.
27장. 모듈화 프로그래밍.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Regular Expression 1 Powerful pattern matching with regular expression to a string while () { if ( /ab*c/ ) { print $_; } } substitute operator s/abc*c/def/;
자바 5.0 프로그래밍.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
Fucntion 요약.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
6장 연습 문제 풀이 학번 : 이름 :조 재한.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
Regular Expression 1 Powerful pattern matching with regular expression to a string while () { if ( /ab*c/ ) { print $_; } } substitute operator s/abc*c/def/;
제 6 강 Getting started.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
제 15 강 문자와 코드 shcho.pe.kr.
DK-128 개발환경 설정 아이티즌 기술연구소
Flow Diagram IV While.
7장. 다양한 형태의 반복문. 7장. 다양한 형태의 반복문 7-1 반복문이란? 반복문의 기능 세 가지 형태의 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 7-1 반복문이란? 반복문의 기능 특정 영역을 특정 조건이 만족하는 동안에 반복.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
함수, 모듈.
제 22 강 논리식 및 논리 값 shcho.pe.kr.
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
Microsoft Word 2002 제1장 문자열의 삽입과 변경.
C.
윈도우에서의 유니코드.
프로그래밍 개론 Ⅰ 제 1장 . 서론 ②.
수업 내용 수업 목표 강의 내용 강의 계획서 교과서 및 참고도서 평가 방법 수강생의 학습 방법 제안 강의자료 사이트
실 습 2.
1장. C Language Synopsis.
제 10 강 문자 입출력.
Presentation transcript:

제 7 강 C언어의 기본 구문(Syntax)

개요 C언어 프로그램의 기본 구성 문법

실습 directory mkdir lab07 cd lab07

언어 ? 言語 Language 001010101000100101010010101010 main(){ printf("Hello"); } 컴파일러 source program source code machine code

자연 언어 Alphabet: a,b,c,d,…, A,B, ㄱ,ㄴ,ㄷ,ㅏ,ㅕ 구두점, 특수 기호: ~!@#$%^&*().,;: 단어: 대한민국, America, soccer 문장: “오늘은 월드컵 4강 경기가 있는 날입니다.” 글: 관련된 여러 문장의 순서적 모임

프로그래밍 언어 alphabet: a,b,c,d,…A,B,C,D C언어에서 한글은 되지 않음. 특수 기호: ~&*%.;:"’\ etc. token: 독립된 의미를 가진 최소 단위 korea, i, number_1, &, ;, etc. sentences: 컴퓨터에게 완전한 하나의 동작을 지시 program: 프로그래머가 원하는 일 (task)을 완성하도록 여러 개의 문장으로 구성함.

자연어와 C언어 알파벳: 유사함 구두점, 특수 기호: 유사 단어 : 토큰 문장:문장 글: 프로그램

소스 코드에 사용하는 글자 set 26x2 alphabet A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Numerals 0 1 2 3 4 5 6 7 8 9 29 graphic characters ! " # % & ’ ( ) * + , - . / : ; < = > ? [ \ ] ˆ _ { | } ˜ 폰트에 따라 \ 대신 \ 로 보이기도 함

Quiz 07_01

영어의 구문 규칙 <sentence>  <noun_phrase> <verb_phrase> <noun_phrase>  <determiner> <noun> | <pronoun> | <proper noun> <verb_phrase>  <verb> | <verb ><noun_phrase> <verb>  go | kick | … <determiner>  a | the <noun>  table | ball | … <pronoun>  I | he | they <proper noun>  Sandra | Boa |

문장 생성의 예 <S>  <NP> <VP>  <pronoun> <VP>  He <VP>  He <V> <NP>  He kicked <NP>  He kicked <Det> <N>  He kicked the <N>  He kicked the ball

실습 (lab07_01) 아래 문법을 이용하여 “I love Boa” 라는 문장을 생성해보라 파일명 sentence.txt <S>  <NP> <VP> <NP>  <Det> <N> | <pronoun> | <proper noun> <VP>  <V> | <V> <NP> <V>  go | kick | love | … <Det>  a | the <N>  table | ball | … <pronoun>  I | he | they <proper noun>  Sandra | Boa |

C 언어의 구문 규칙 예제 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 identifier ::= (letter | underscore) {letter_or_digit}* underscore ::= _

C언어의 구문 규칙 (예제) 다음중 이름(identifier)으로서 사용될 수 없는 것은? A 점수 1_AB _the_new_value_is AB and CD -value

예약어(keyword)

Quiz 07_02

C언어의 구문 규칙: 상수(constant) 정수: 0, 1, 234324, 실수: 0.12, 3.1415, .1415, 123. 6.0E23 문자: ’a’ ’1’ ’$’ 문자열: "hello" "this is a sample"

띄어쓰기 자연언어: 단어와 단어는 띄어쓴다. 인용 부호 내에서는 예외이다. I love Korea (O) Ilove Korea (X) "Ilove Korea"는 틀렸다 (O) C언어: 토큰과 토큰은 띄어 쓴다. 단 문맥으로 보아 구분이 명확한 것은 붙여써도 상관없다. int main ( ) { printf ("Hello") ; } int main(){printf("Hello");}

Hello world의 분석 #include <stdio.h> /* * programmed by Sehyeong Cho */ int main( ) { // printf prints to the screen printf("안녕하세요.\n"); } Token 찾아 보기 블랭크 집어 넣기 줄 바꾸어 보기

전처리 명령 preprocessing directives #include ... #if ... #define ... 컴파일러가 처리하기 전에 text로서 대체됨

실습(lab07_02) 앞의 프로그램을 두개의 파일 hello2.c와 hello2.h로 나눈다. #include <stdio.h> main(){ #include "hello2.h" } hello2.h에 들어갈 내용: printf("Hello, world\n"); gcc hello2.c로 컴파일하여 실행하여보라.

Comments Surrounded by /* and */ Not effective if surrounded by " " "Hello /* there */" Cannot surround another comment /* /* Comment1 */ /* Comment2 */ */ Single line comment: //

실습(lab07_03) Single line comment 파일명: comment.c hello.c와 동일한 내용의 파일을 작성하되, comment를 모두 single-line comment로 바꾼다. 또, single-line comment는 multi-line comment (/* ... */)로 바꾼다. 컴파일, 수행하여 이상 없음을 확인하고 제출. 제한 시간: 2분

문자열(string) 상수 문자열 상수 내 줄바꿈 불가 또는 비권장 "This is a wrong example" "This is a right\n example" "(double quote)와 ’(single quote)는 다름. 문자열 내에 "을 넣으려면? "He said, \"yes\"." 문자열 내에 \을 넣으려면? "Backslash is \\" 너무 길어서 어쩔 수 없이 줄을 바꾼다면? "This is a really long line of string,\ and I used two lines to write it."

examples main(){ printf("Hello, world"); printf("안녕하세요.\n"); everyone."); }  출력 결과는? Hello, world안녕하세요. Hello, everyone.

lab07_04 다음의 프로그램을 수정하여 올바르게 만들어 실행하여보고 제출하라.(hello3.c) #include <stdio.h> main( ) { // printf prints to the screen printf(’안녕하세요.\n’); }

lab07_05 다음과 같은 출력을 하는 프로그램을 작성하라. print.c 출력 결과: He said, "Yes."

lab07_06 다음과 같은 형태의 출력을 하는 프로그램을 작성하라. 파일: print2.c 출력 결과: 따옴표는 \” 을, backslash는 \\ 을, 줄바꿈을 하려면 \n을 사용하면 출력할 수 있다.

Indentation (들여쓰기) #include <stdio.h> /* * programmed by Sehyeong Cho */ int main( ){ // printf prints to the screen printf("안녕하세요.\n"); }

Windows programmers #include <stdio.h> /* * programmed by Sehyeong Cho */ main( ) { // printf prints to the screen printf("안녕하세요.\n"); }

Bad indentation style:an example #include <stdio.h> /* * programmed by Sehyeong Cho */ main( ) { // printf prints to the screen printf("안녕하세요.\n"); }

Summary 구문 규칙 해독 방법 comment /* */ // 문자열(string) 전처리기 indentation

제 7 강 끝.