Similar documents
초보자를 위한 C++

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

K&R2 Reference Manual 번역본

歯9장.PDF

, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

untitled

02 C h a p t e r Java

1

초보자를 위한 C# 21일 완성

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

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

untitled

PowerPoint 프레젠테이션

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 \

강의10

chap7.key

ePapyrus PDF Document

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


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

초보자를 위한 C++

Microsoft PowerPoint - ch01.ppt

C프로-3장c03逞풚

Chapter_06

chap10.PDF

untitled

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

Microsoft PowerPoint - chap-02.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap04-연산자.pptx

비트와바이트 비트와바이트 비트 (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 - chap01-C언어개요.pptx

Microsoft PowerPoint - chap05-제어문.pptx

슬라이드 1

PowerPoint 프레젠테이션

商用

C 프로그래밊 개요

13주-14주proc.PDF


슬라이드 1

6주차.key

슬라이드 1

OCW_C언어 기초

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

Solaris Express Developer Edition

컴파일러

강의의목표 Compiled Language vs. Interpreted Language 차이이해 Compiling의의미이해 Compiling의결과물확인 통합개발환경구축 Eclipse 통합개발환경을통한예제의 Bulid 및실행 Formatter 등의편집지원기능, Refer

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

歯7장.PDF

chap7.PDF

PowerPoint 프레젠테이션

KNK_C_05_Pointers_Arrays_structures_summary_v02

PowerPoint 프레젠테이션

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint - chap-02.pptx

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

Microsoft PowerPoint - PL_03-04.pptx

PowerPoint 프레젠테이션

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp

ºñ¸¸1Àå

PowerPoint 프레젠테이션

<4D F736F F F696E74202D204C BAB8C3E6BCB3B8ED202D20C7C1B7CEB1D7B7A1B9D6C0DBBCBAB0FAC1A42C C F>

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

Microsoft PowerPoint - Chapter_04.pptx

PowerPoint 프레젠테이션

8장 문자열


Microsoft PowerPoint - [2009] 02.pptx

vi 사용법

과목 Overview 목적: 본 과목은 C 언어를 통하여 컴퓨터를 이용한 공학적 문제 해결 과정을 학습한다. C 언어의 변수 타입, 제어문, 함수, 포인터, 구조체 등을 학습한다. C 언어와 다른 언어와의 통합의 방법에 대해 배운다. 2

PowerPoint 프레젠테이션

C++ Programming

슬라이드 1

lecture4(6.범용IO).hwp

Microsoft PowerPoint - 1C언어소개0.PPT

Microsoft PowerPoint - chap06-2pointer.ppt

중간고사

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

MPLAB C18 C

PowerPoint 프레젠테이션

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

Week5

OCW_C언어 기초

정 관

<C1D6BFE4BDC7C7D0C0DA5FC6EDC1FDBFCF28B4DCB5B5292E687770>

시편강설-경건회(2011년)-68편.hwp

untitled

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

Microsoft PowerPoint - 08_(C_Programming)_(Korean)_Preprocessing

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

슬라이드 1

Week1

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

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

초보자를 위한 자바 2 21일 완성 - 최신개정판

MAX+plus II Getting Started - 무작정따라하기

Transcription:

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국

머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr..

,. 2013 12

Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12 1.3 13 1.4 printf() 17 1.5 21 1.6 22 25 2장 C 프로그램을 이루는 구성 요소 2.1 31 2.2 33 2.3 34 2.4 36 2.5 39 2.6 40 2.7 41 49 5

3장 기본 자료형 3.1 57 3.2 60 3.3 63 3.4 int 65 3.5 char 69 3.6 _Bool 72 3.7 73 3.8 76 3.9 sizeof 78 3.10 79 84 4장 제어의 흐름 4.1,, 93 4.2 if if-else 96 4.3 103 4.4 while 105 4.5 for 110 4.6 114 4.7 do-while 115 4.8 break, continue, goto 116 4.9 switch 122 126 5장 함수 5.1 133 5.2 139 5.3 return exit() 142 5.4 144 6

5.5 148 5.6 151 5.7 155 160 6장 배열 6.1 1 166 6.2 171 6.3 174 6.4 179 6.5 187 6.6 192 6.7 198 201 7장 포인터 7.1 207 7.2 213 7.3 215 7.4 220 7.5 226 7.6 231 7.7 main() 236 7.8 237 240 7

8장 사용자 정의형 8.1 251 8.2 260 8.3 262 8.4 266 8.5 269 273 9장 비트단위 연산자 9.1 278 9.2 286 9.3 287 291 10장 입력과 출력 10.1 getchar() putchar() 296 10.2 printf() 298 10.3 scanf() 303 10.4 sprintf() sscanf() 307 10.5 309 10.6 314 10.7 316 328 A. 333 336 8

1장 프로그래밍 시작. CPU,,,. PC Windows, Windows. Windows 7/8, Mac OS X, Windows Server 2012, Linux, UNIX.,,.. (programming environment). (text editor) (compiler).,., UNIX, Linux, Windows. Windows.. C, C++, Fortran, Java, JaveScript, Basic, Perl, Python... C. C. C,,. 1장 프로그래밍 시작 9

1.1 C C Bell Dennis Ritchie 1972 PDP-11. C UNIX, C. C 1980 C, C 1990 ANSI(American National Standards Institute) C ANSI C. ANSI C 1990 ISO(International Organization for Standardization) C. C ANSI C ANSI C ISO C. C. ISO C. C 1999 ISO C. 1990 C C90, 1999 C C99. C ANSI C. C90 C99 C. C 40. 40 C. C C. C. C. C (type),.. C UNIX, Linux, Windows 7, MAX OS X.,,, C. C.. C 10

. C. C. C,. ++..... C. C.. static.. C C++ Java. C C++ Java. C C++ Java. C. C C. C.. C. C. C,. * =., == =. C. C.. 1장 프로그래밍 시작 11

1.2 프로그래밍 준비.,.. Windows MS Visual C++, Borland C++, Linux Kylix.... C. C C..... Visual C++ Borland C++, GNU gcc. gcc.. C. UNIX Linux gcc. Windows Windows Linux Cygwin gcc. Windows Cygwin, Linux. Linux. Linux,. 12

1.3 첫 번째 프로그램.,. C.. 1.1 "Hello World!". 프로그램 1.1 int main(void) printf("hello World!"); return 0; 1.1.. C. int main(void)...... return 0; C, C. C... 1장 프로그래밍 시작 13

printf("hello World!"); printf().. printf(" 출력하고자 하는 내용 ");... (C ) (source file).... UNIX, Linux, Cygwin vi, Windows,. Windows. Cygwin vi Windows Cygwin. Cygwin..c. first.c... C (high-level programming language) (mid-level programming language) C. (machine language), 0 1., C. C. (compile) (compiler)... 14

$ 컴파일러 소스파일 UNIX, Linux, Cygwin gcc first.c. $ gcc first.c., Visual C++ cl.exe Bolrand C++ bcc32. exe. Windows Windows (시작 실행 cmd). Visual C++. C:\TEMP> cl first.c first.c C:\TEMP\, c1.exe path. first.c, first.c (executable file).. first.c UNIX Linux gcc a.out, Cygwin gcc a.exe. Windows first.exe. gcc a.out a.exe, Windows exe. gcc -o a.out. Cygwin first.c first.exe. $ gcc -o first first.c.... UNIX Linux. 1장 프로그래밍 시작 15

$ a.out Cygwin. $ a a a.exe.. C:\TEMP> first first first.exe. "Hello World!". Cygwin. $ vi first.c $ gcc -o first first.c $ first Hello World! $ $ "Hello World!"..... 16

first.c (vi first.c) # include <stdio.h> i nt main(void) printf( ); retrun 0; f irst (gcc -o first first.c) 1 0010101010 1 0101010101... 0 0011101010 1 0101010000 (first) Hello World! 1.4 printf() 1.1 printf(). printf(). printf() (screen). 2-. printf(), printf() printf(). 1.1 1.2. 프로그램 1.2 int main(void) printf("hello "); printf("world!"); return 0; 1장 프로그래밍 시작 17

$ first Hello World! $ printf() printf() (new-line) ('\n'). '\' 'n'. (escape sequence). "Enter". 1.1. 프로그램 1.3 int main(void) printf("hello\n"); printf("world!\n"); return 0; 1.3. 18

$ first Hello World! $ printf() : \n printf() : \n printf(),.. 프로그램 1.4 int main(void) printf("%d * %d = %d\n", 7, 8, 7 * 8); return 0; 1.4 printf() " ".. 1.4 printf(). 첫 번째 인자 : "%d * %d = %d\n" 두 번째 인자 : 7 세 번째 인자 : 8 네 번째 인자 : 7 * 8 printf(), " ".. printf(),. 1장 프로그래밍 시작 19

printf(). %. 1.4 printf() %d... 1.4 printf(). printf("%d * %d = %d\n", 7, 8, 7 * 8); c, d, e, E, f, g, G, i, n, o, p, u, x, X, %. d f 10. 1.4 d. 7 * 8 56.. 7 * 8 = 56 f. 1.5. 프로그램 1.5 int main(void) printf("%f * %f = %f\n", 12.9, 8.8, 12.9 * 8.8); return 0; %f. 1.5. 20

12.900000 * 8.800000 = 113.520000 1.5 입력 프로그램 C scanf(). scanf() printf(). scanf(),,.. 1.6 (2014 ). 프로그램 1.6 int main(void) int year; printf("input your birth year : "); scanf("%d", &year); printf("you are %d years old.\n", 2014 - year + 1); return 0;. scanf(). year, int year. scanf(). scanf(). scanf(" 입력 데이터 형 ", &변수); printf(). %d, %f.. 1장 프로그래밍 시작 21

&. &. %d year int. 1.6 2000. Input your birth year : 2000 Enter You are 15 years old. scanf() scanf(). 1.6 "what". Input your birth year : what Enter You are -2672025 years old. -2672025. scanf(). gets() getchar() sscanf(), scanf(). 1.6 디버깅 1.3 C. C C,. C.. (debugging).. 22

.,. 프로그램 1.7 int main(void) printf("hello World!") return 0; 1.7 1.1 4 (;). gcc.. first.c: In function 'main': first.c:5: parse error before 'return' first.c main ( ) first.c 5 return ( )........ 1장 프로그래밍 시작 23

프로그램 1.8 float main(void) printf("hello World!"); 1.8 int float, return 0;. gcc. first.c: In function 'main': first.c:3: warning: return type of 'main' is not 'int', (warning).... 24

연습 문제 1 C c. C *.c. 1.1 first.c first_test... $ cp first.c first_test $ gcc first_test 2.,. ******* * * * ******* ***** * * * * * * * * * * * * * * * * * * * * * * * * * ******* ***** * ******* * * * * * * * * * * * * * ** * * * * ******* ***** 3 printf(). %. 3 4 printf().. int main(void) int num = 1234; printf("12345678901234567890\n"); printf("===%d===\n", num); return 0; 1장 프로그래밍 시작 25

(a). (b) printf() %d %6d. (c) printf() %d %06d. (d) printf() %d %-6d. (e) (b) (d) 6, 0, -. 4. int main(void) float num = 1.234512345; printf("12345678901234567890\n"); printf("===%f===\n", num); return 0; (a).? (b) printf() %f %7.2f. (c) printf() %f %07.2f. (d) printf() %f %-7.2f. (e) (b) (d) 7,., 2, 0, -. 5. int main(void) int num; printf("input a number : "); scanf("%d", num); printf("%d X %d = %d\n", num, num, num * num); return 0; 26

(a)?.,. 힌트 : scanf(). 1.5. (b) (a) 7.8?. 6. int main(void) float num1, num2, sum; printf("input 2 real numbers : "); scanf("%f %f", &num1, &num2); sum = num1 + num2; printf("%f + %f = %f\n", num1, num2, sum); return 0; (a) 3.5 8.9. : float, scanf() printf() %f. (b) 4. Input 2 real numbers : 3.5 8.9 Enter 3.50 + 8.90 = 12.40 7 1.4 1.4... 1.4.. 1장 프로그래밍 시작 27

Input 2 integer numbers : 9 8 Enter 9 * 8 = 72 8.. for, while, do-while printf(). Input a number : 5 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20... 5 * 9 = 45 9 x 4. f(x) = 3 * x 2 - x + 20,. Input x value : 4 Enter f(4) = 64 10 a, b, c x. f(x) = a * x 2 + b * x + c,. Input coefficients a, b, c : 3-1 20 Enter Input x value : 4 Enter f(4) = 64 28

11 printf().. int main(void) int i = 30, cnt; printf("12345678901234567890\n"); cnt = printf("i = %d", i); printf("\nnumber of output characters : %d\n", cnt); return 0; (a) printf().. (b) printf() printf("i = %d\n", i). 12 scanf().. int main(void) int a1, a2, a3, cnt; printf("input three integers : "); cnt = scanf("%d%d%d", &a1, &a2, &a3); printf("number of entered data : %d\n", cnt); return 0; (a) 10 20 30. (b) 10 20?. (c) 10? 30. (d)? 20 30. 1장 프로그래밍 시작 29