adopted from KNK C Programming : A Modern Approach

Slides:



Advertisements
Similar presentations
03 변수와 자료형 세종대학교 최옥경 교수 참고 : 한빛미디어 뇌를 자극하는 C, INFINITY Perfect C.
Advertisements

기본 자료형 순천향대학교 정보기술공학부 이 상 정. 자료형의 선언 컴퓨터프로그래밍 1 순천향대학교 정보기술공학부 이 상 정 3 자료형 선언 기본 자료형문자형 char 정수형 int 실수형 float double 형없음 void.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
제6장 조건문.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
제 3 장 변수와 자료형.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
C++ Espresso 제1장 기초 사항.
제 1장 C 언어의 소개.
C 언어 문자 집합과 토큰 C 프로그램의 구조 C 소스 코딩을 준비하는 방법
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
강좌명 : C++프로그래밍 (C++ Programming)
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
4장: 자료형과 수식.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
프로그래밍언어론 2nd edition Tucker and Noonan
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
변수와 자료형.
명품 Java Programming.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Chapter 06. 선택문.
변수와 자료형.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
제 2 장 변수와 상수.
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4주차: Data Types and Functions
5장. 상수와 기본 자료형. 5장. 상수와 기본 자료형 5-1 C 언어가 제공하는 기본 자료형 자료형(data type) 기본 자료형 사용자 정의 자료형 int val; "선언할 변수의 특징을 나타내기 위한 키워드" 기본 자료형 기본적으로 제공이 되는 자료형 사용자.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
Chapter 2 Lexical Elements, Operators, and the C System
C언어 프로그래밍의 이해 Ch13. 선행처리기와 주석문.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
Formatted Input/Output
제 2장 어휘구조와 자료형 토 큰 리 터 럴 주 석 자 료 형 배 열 형.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
제어문 & 반복문 C스터디 2주차.
Chapter 04 자료 유형.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
프로그래밍언어론 2nd edition Tucker and Noonan
처음으로 배우는 C 프로그래밍 제3부 함수 제 6 장 함수 작성.
4장 자료형.
Chapter 05. 입출력 함수.
자바 5.0 프로그래밍.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
누구나 즐기는 C언어 콘서트 제2장 기초 사항 IT응용시스템공학과 김형진 교수.
adopted from KNK C Programming : A Modern Approach
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
1학기 정리 지난 학기에 배운 내용을 복습해 본다..
C언어 프로그래밍의 이해 Ch03. 기본 자료형, 변수와 상수.
제5장 디버깅과 추적 문봉근.
3주차: Control Flow and Others
어서와 C언어는 처음이지 제16장.
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
C.
printf("Global Korea\n");
Presentation transcript:

adopted from KNK C Programming : A Modern Approach C Fundamentals adopted from KNK C Programming : A Modern Approach

Program: Printing a Pun 파일 이름은 자유롭게 짓되 확장자는 항상 .c 로 지정할 것을 권고 for example: pun.c 컴파일하기 실행하기 (linux 라는 조건 하에) #include <stdio.h> // directive 지시자 int main(void) // function 함수의 시작 { /* 문장 시작 */ printf("To C, or not to C: that is the question.\n"); return 0; } /* 문장 끝, 함수 끝 */ % cc -o pun pun.c or % gcc -o pun pun.c % ./pun

간단한 프로그램의 기본 골격 C 언어의 세 가지 핵심 요소 1 Directives 지시자 int main(void) 2 { } Example: #include <stdio.h> int main(void) 2 { } 시작 문장들 3 끝

The General Form: Directives 지시자 지시자에 쓰인 명령들이 전처리기에서 활용됨 <stdio.h> 는 헤더이고 표준 입출력 라이브러리 함수들의 정의를 포함 Directives 는 언제나 #으로 시작 기본적으로 directives는 한 줄씩 표현; 줄의 끝을 알리는 세미콜론이나 특별한 마커가 없음 1 directives Example: #include <stdio.h>

The General Form: 함수 C 언어의 세 가지 핵심 요소 int main(void) 2 { } Library functions 들은 c 언어에서 기본으로 제공함 main 함수는 필수적임 main 특별함: 프로그램이 실행되면 제일 처음 호출되어 실행됨 main 의 실행 결과로 상태 코드를 리턴함; 0이면 정상 종료를 뜻함 어떤 컴파일러에서는 return 문장이 없으면 경고 메시지를 출력함 int main(void) 함수 이름 main 이라는 이름 아래 같이 실행 될 여러 문장이 묶여 있음 2 { # of statements return x + 1; } 함수가 계산한 값을 호출한 대상에게 돌려주기 위해 return 문장을 씀

The General Form: Statements 문장 pun.c 은 두 종류의 문장을 썼음uses only two kinds of statements. 하나는 return 문장; 다른 하나는 function call (함수 호출). 함수에 명시된 작업을 처리하라고 시키는 것을 함수를 호출한다라고 함 (calling the function). pun.c 은 printf 를 호출하여 문자를 출력함: printf("To C, or not to C: that is the question.\n"); C 언어의 세 가지 핵심 요소 statements 프로그램이 동작하면 실행해야 될 명령들로서 모든 문장은 세미콜론으로 마침표를 찍어야 함 3

문자열 출력: printf printf 함수가 문자열을 출력하면 쌍따옴표로 묶인 모든 글자는 출력하되 쌍따옴표는 출력하지 않음 printf 에서 문장을 바꾸기 위해서는 \n (the new-line character) 를 쌍따옴표 안에 넣어야 함 printf("To C, or not to C: that is the question.\n"); 같은 효과 printf("To C, or not to C: "); printf("that is the question.\n"); printf("Brevity is the soul of wit.\n --Shakespeare\n"); more on printf on following section

주석 comment comment 는 /*으로 시작하고 */으로 끝남. /* This is a comment */ 주석은 프로그램 내에 어디든 나타날 수 있음 여러 줄에 걸쳐서 또는 한 줄에도 나올 수 있음 한 줄 이상 걸치는 주석 /* Name: pun.c Purpose: Prints a bad pun. Author: K. N. King */ C99 표준에서는 한 줄짜리 주석을 위해 // 을 사용함 // A comment, which ends automatically at the end of a line // 의 장점: 안전함: 한줄만 주석되기 때문에 실수를 줄여줌 여러 줄을 // 로 주석 처리할 때 가독성이 좋음

Variables and Assignment 변수와 할당 프로그램이 데이터를 임시로 저장할 수 있어야 함 임시로 저장할 수 있는 공간이 변수 variables. 변수와 할당을 사용하려면 다음을 알아야 함 Type 형/타입 Declaration 선언 Initialization 초기화 1 2 3 int height = 183;

Variables and Assignment: 형/타입 모든 변수는 type이 있어야 함 C 에는 여러 형이 있음 그 중 몇 가지는 int 와 float. int (integer 의 약어) 형은 정수를 저장함 예: 0, 1, 392, or –2553. float (short for floating-point의 약어) 형은 int 형 보다 더 큰 수를 표현 float 형 변수는 소수점도 저장할 수 있음 예: 379.125. float 변수의 단점: 연산이 늦음 float 정밀하지 않음

Variables and Assignment: Declarations 선언 변수는 먼저 declared 선언된 후 사용 다음과 같이 사용하는 것이 가능하다 main 에 선언문들이 포함되어 있다면 이를 활용하는 문장들보다 앞에 있어야 함 int height; float profit; int height, length, width, volume; float profit, loss; int main(void) { declarations statements }

Variables and Assignment: 할당 (1/2) height = 8; // 숫자 8은 상수 변수에 값을 할당하거나 사용하기 전에는 먼저 선언되어야 함 float 형 변수는 소수점 단위까지 저장함 profit = 2150.48; 소수점 단위의 상수 뒤에 f 를 붙여서 float 변수에 저장하는 것이 좋음: profit = 2150.48f; 어떤 컴파일러는 f 가 없으면 경고 메시지를 출력함

Variables and Assignment: 할당 (2/2) int 형 변수는 정수를 저장하고 float 형 변수는 실수를 저장함 형을 섞어서 쓰는 것은 가능하지만, 안전하지 않음 (예, int 값을 float 변수에 할당하기) 변수에 값이 할당되면 연산식에 사용될 수 있음 할당자 우변은 식이 올 수 있음. 표현식에는 상수, 변수, 연산자들로 구성됨 height = 8; length = 12; width = 10; volume = height * length * width; // volume is now 960

Variables and Assignment: Initialization 초기화 어떤 변수들은 자동으로 0으로 초기화 되지만, 대부분 그렇지 않다 기본 값이 없는 변수인 경우 그리고 할당되지 않은 변수를 uninitialized. 초기화 안됨이라고 표현함 초기화 안된 변수를 쓰면 예상치 못하는 결과를 얻게 됨 어떤 컴파일러들에서는 프로그램이 멈추는 경우도 생김 초기화과정을 선언에 포함시킬 수 있음 int height = 8; // The value 8 is said to be an initializer. int height = 8, length = 12, width = 10; int height, length, width = 10; // initializes only width

변수의 값 출력하기 printf 를 사용하여 변수의 현재 값을 출력할 수 있음 %d 는 height 의 값이 표현될 위치를 표시하는 형식지정자 하나의 printf 문장에 표현될 수 있는 변수의 개수에 제한 없음: printf("Height: %d Length: %d\n", height, length); Height: h printf("Height: %d\n", height); Details of printf on following section

입력값 읽기 scanf 는 printf 의 형제와 같은 입출력 라이브러리 함수이다. scanf 가 int 형 값을 읽는 예: scanf("%d", &i); /* reads an integer; stores into i */ & 심볼은 scanf를 쓰는데 쓰임. Details of scanf on following section

상수에 이름 부여하기 매크로 정의 기능을 사용하여 상수에 이름을 부여 가능: #define INCHES_PER_POUND 166 프로그램이 컴파일 되면 전처리기가 매크로가 사용된 곳을 숫자로 치환함 전치리 과정에서 다음과 같은 문장은 다음과 같이 바뀜 매크로의 값이 수식일 수도 있음: #define RECIPROCAL_OF_PI (1.0f / 3.14159f) 단, 연산자가 있는 경우 괄호로 묶어야 함 매크로 이름은 대문자로 쓰는 것이 관용적 weight = (volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND; weight = (volume + 166 - 1) / 166;

Identifiers 식별자 Identifiers 식별자: 변수, 함수, 매크로와 다른 여러 것들의 이름 문자, 숫자, 밑줄이 허용되지만, 숫자 또는 밑줄만 첫글자로 쓸 수 있음: C 식별자의 글자수는 제한 없음 쓰면 안되는 식별자의 예: 10times get-next-char C 대소문자 구분 times10 _done symbol_table current_page symbolTable currentPage job joB jOb jOB Job JoB JOb JOB all are different

Keywords 아래의 keywords 는 식별자로 쓸 수 없음: 키워드는 (예외 _Bool, _Complex, _Imaginary) 모두 소문자로만 쓸 수 있음. 라이브러리 함수의 이름 (e.g., printf) 역시 소문자임 auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while inline* restrict* _Bool* _Complex* _Imaginary* *C99 only

Layout of a C Program (1/2) C 프로그램은 tokens으로 이루어짐. 토큰은: Identifiers 식별자 Keywords 키워드 Operators 연산자 Punctuation 구두점 Constants 상수 String literals 문자 다음 문장은 printf("Height: %d\n", height); 7 개의 토큰으로 이루어짐: printf Identifier ( Punctuation "Height: %d\n" String literal , Punctuation height Identifier ) Punctuation ; Punctuation

Layout of a C Program (2/2) 하나의 문장은 여러 줄로 나뉠 수 있음 토큰 사이의 공백 (연산자 앞 뒤의 공백, 쉼표 뒤의 공백 등) 은 사람이 읽기 편하라고 존재. Indentation 들여쓰기는 중첩문장들을 읽기 쉽게 해줌 Blank lines 빈 줄은 프로그램을 논리적으로 구성하는데 용이함