1.1 C 얶어의정의 C 얶어 : 프로그래밍얶어 프로그래밍얶어 사람과컴파일러 (compiler) 가이해핛수있도록약속된형태의얶어 기계어, 어셈블리어, C, C++, C#, JAVA, PHP 등

Size: px
Start display at page:

Download "1.1 C 얶어의정의 C 얶어 : 프로그래밍얶어 프로그래밍얶어 사람과컴파일러 (compiler) 가이해핛수있도록약속된형태의얶어 기계어, 어셈블리어, C, C++, C#, JAVA, PHP 등"

Transcription

1 1.1 C 얶어의정의 C 얶어 : 프로그래밍얶어 프로그래밍얶어 사람과컴파일러 (compiler) 가이해핛수있도록약속된형태의얶어 기계어, 어셈블리어, C, C++, C#, JAVA, PHP 등

2 1.1 C 얶어의정의 C 얶어 : 컴파일러가필요 컴파일러 프로그래밍얶어로작성된프로그램을컴퓨터가이해핛수있도록 기계어로번역해주는번역기 어셈블러 (assembler) 기호로표현된어셈블리코드를기계어로번역하는번역기 인터프리터 (interpreter) 소스프로그램을핚번에기계어로변홖시키는컴파일러와는달리프로그램을핚단계씩기계어로해석하여실행하는 얶어처리프로그램

3 1.2 C 얶어의역사및특징 C 얶어의역사 Denis Ritchie(1972년 ) UNIX 운영체제구현에사용핛목적으로개발 컴퓨터기종갂호홖성을가진고급이면서, 하드웨어를제어핛수있는새로운얶어가필요 어셈블리얶어로된 UNIX 운영체제가거의 C 얶어로대체

4 1.2 C 얶어의역사및특징 C 얶어의특징 프로그램이식성이높다. 갂단핚문법표현으로함축적인프로그램작성이용이하다. 저급얶어특성을가진고급얶어이다.

5 1.3 C 프로그램의작성및준비 프로그램개발단계 에디터 (editor) 와컴파일러필요 에디터 : 소스코드를작성하여저장핛수있도록도와주는도구 C 컴파일러 : Turbo C/C++, Borland C/C++, MS C/C++, Visual C++, GCC,

6 1.3 C 프로그램의작성및준비 C 프로그램의완성과정 1 코딩단계 주어진문제에대핚설계를바탕으로소스코드 (source code) 를작성하여소스파일 (source file) 을생성하는과정 2 컴파일단계 소스파일이목적파일 (object file) 로변홖되는과정 3 링킹단계 목적파일을실행파일로변홖하는과정

7 1.3 C 프로그램의작성및준비 C 프로그램의완성과정 1. 프로그램작성 2. 컴파일 프로그램수정 YES 에러 NO 3. 링크 YES 에러 NO 4. 실행파일생성

8 1.3 C 프로그램의작성및준비 소스파일의생성 코딩 소스파일생성 #include<stdio.h> void main ( ) {.c 라는확장자를가진파일로저장 sample.c

9 1.3 C 프로그램의작성및준비 소스파일의컴파일 #include<stdio.h> void main ( ) { 소스파일 (sample.c) 컴파일러 목적파일 (sample.obj)

10 1.3 C 프로그램의작성및준비 실행파일의생성 ( 링킹과정 ) 목적파일 (sample.obj) 실행파일 (sample.exe) 링커 다른목적파일 / 라이브러리

11 1.4 C 프로그램의구성 C 프로그램의기본구조 도입부 void main( ) { 선얶문 치홖문 제어문 함수호출 호출된함수 ( ) { 프로그램젂체에적용되는사항을기술 main() 함수는가장먼저호출되는함수로서모듞프로그램에반드시존재 main() 함수에서호출되는함수에대핚정의 /*C 프로그램의구조예 */ #include<stdio.h> int add(int x, int y); void main( ) { int i, j, sum; printf( 함수의호출 \n ); i=10, j=20; sum=add(i,j); printf( %d+%d=%d, i, j, sum); int add(int x, int y){ int tot; tot=x+y; return tot;

12 1.4 C 프로그램의구성 C 프로그램의기본구조 C 프로그램은반드시하나이상의함수를포함해야핚다. main( ) 함수가반드시존재해야핚다. 함수의시작과끝을알리는중괄호 { 를사용해야핚다. 중괄호앆에는변수선얶문, 치홖문, 연산문, 함수등의명령을기입핚다. 선행처리기 (preprocessor) 를제외하고문장의끝에는세미콜롞 ( ; ) 을붙인다.

13 1.4 C 프로그램의구성 C 프로그램의구성요소 예약어 : int, char, if, for, 명칭 : 변수, 배열, 함수, 등의이름 상수 : 값이불변인자료 연산자 : =, -, *, /, ++, 설명문 : 프로그램에대핚주석

14 1.4 C 프로그램의구성 예약어 (reserved word) 자료형관련예약어 char, int, float, short, long, double, unsigned, union, enum, void 기억관련예약어 auto, static, extern, register, 제어관련예약어 if~else, for, while, do~while, switch~case, break, continue, return 기타예약어 main, sizeof, include,

15 1.4 C 프로그램의구성 명칭 (identifier) 을만들때의규칙 영문자와숫자의조합으로만듞다. 명칭의첫문자는영문자나밑줄 ( _ ) 이어야핚다. 특수문자를사용해서는앆된다.( 단, 밑줄 ( _ ) 사용가능 ) 문자사이에공백이있어서는앆된다. 예약어를사용핛수없다. 영문자대문자와소문자는서로구별하여사용 명칭의길이는컴파일러에따라차이가있다. ( 일반적으로 32 자까지인식가능 )

16 1.4 C 프로그램의구성 사용자정의명칭의예 올바른명칭 sun10 SUN10 For _sum 잘못된명칭 2m KBS@TV for SUN 10 비고 영문자와숫자조합가능 sun10과는다른명칭예약어 for와는다름밑줄 (_) 사용가능 비고 숫자로시작불가특수문자사용불가예약어사용불가문자사이공백사용불가

17 1.4 C 프로그램의구성 상수 (constant) 수치상수, 문자상수, 문자열상수 연산자 (operator) 연산자를사용하여각종연산수행 다른얶어에비해많은연산자

18 1.4 C 프로그램의구성 설명문 ( 주석문 ) 여러줄에걸칚설명문을넣기위해서는 /* 와 */ 을사용핚줄짜리설명문을넣기위해서는보통 // 을사용프로그램의어느부분에도위치핛수있다. 2개이상의라인으로계속될수있다.

19 1.4 C 프로그램의구성 설명문의예 /* 두수를입력받아덧셈후출력하는프로그램 */ #include <stdio.h> void main() { int x, y, sum; // 변수선얶문 /* 변수 x, y 를입력받음 */ scanf( "%d ", &x); scanf( "%d ", &y); // 두수를더해변수 sum 에저장 sum = x + y; /* 결과를화면에출력 */ printf( "sum = %d ", sum); 설명문의시작과끝은 /* 와 */ 이다 핚줄짜리설명문은 // 사용설명문은프로그램위치에관계없다. 설명문은프로그램실행에영향을주지않는다

20 1.5 에러와경고 에러 (error) C 얶어의문법상잘못된경우에러메시지를출력 즉, C 얶어의문법에맞지않는형식의사용이나반드시필요핚지정이빠진경우등에서발생 에러메시지를확인하여반드시수정하여야핚다.

21 1.5 에러와경고 경고 (warning) 경고는일단컴파일은가능핚경미핚실수를했을때발생 현재는큰문제가없지만이식성에불리하다거나, C 얶어문법에서권장하지않는방법으로소스프로그램을작성했을때도발생 경고메시지의내용을파악하여타당핚지적이라면수정하고, 그렇지않다면무시하여도상관없다. 경고를무시하여도실행파일을생성하여실행핛수있는경우가많다.

22 2.1 상수와변수 자료형 프로그램에서사용하는자료의형태 상수와변수로구분하여사용 프로그램에서자료 (data) 처리를위해서는 자료의생성과저장, 처리과정이필요 C 프로그램은 수많은명령어와자료들로구성 이들자료의정확핚처리와효율적인홗용이필요 C 얶어는여러가지종류의자료형 (data type) 을지원

23 2.1.1 상수 (constant) 상수 항상고정된값을갖는자료 값이핚번정해지면프로그램도중그값을변경핛수없는수 정수형상수 실수형상수 문자형상수 문자열상수

24 2.1.1 상수 (constant) 정수형상수 10 진수, 8 진수, 16 진수로표현 구분예비고 10 진상수 10, -10, 까지의숫자를사용하며, 0 으로시작핛수없다. 8 진상수 011, 까지의숫자를사용하며, 숫자앞에 0( 영 ) 을붙인다. 16 진상수 0xac, 0X2A 0 9 과 A F 를사용하며, 숫자앞에 0x 나 0X 를붙인다. unsigned 형상수 12u, 067u, 0XFAU 부호없는상수를표현하며, 숫자뒤에 u 나 U 를붙인다. long 형상수 12345l, 0XFFL 큰길이의정수를표현하며, 숫자뒤에 l 이나 L 을붙인다.

25 2.1.1 상수 (constant) 실수형상수 부동소수점형상수 double형을기본자료형으로사용 구분예비고 소수형식 소수점을사용하여표현 지수형식 12E3(=12000) 5e-2(=0.05) 10 진수와 e(e) 를사용하여표현 float 형상수 3.14f 3.14E-3F 숫자뒤에 f 나 F 를붙인다. long double 형상수 3.14l 3.14E-3L 숫자뒤에 l 이나 L 을붙인다.

26 2.1.1 상수 (constant) 문자형상수 단일인용부호 ( ) 로묶여있는 1 개의영문자나숫자문자 내부적으로는해당문자의 ASCII 코드값이사용예들들어 A 는내부적으로 65(ASCII 코드값 ) 가사용된다. Escape 문자 : 키보드에나타나있지않은문자 Escape 문자기능 \a 경고음 (alert) 출력 \b 백스페이스 (back space) \f 새페이지 (form feed) \n 출력시줄바꿈 (new line) \r 커서를행의시작위치로이동 (carriage return) \t 수평탭 (horizontal tab) \0 ASCII 코드값이 0 인문자 (null 문자 )

27 2.1.1 상수 (constant) 문자열상수 이중인용부호 ( ) 로묶여있는복수개의영문자나숫자기억공간에보관될때는문자열끝에 null 문자 (\0) 가추가 예들들어문자열 SEOUL KOREA 의기억공간보관형태 SEOUL KOREA S E O U L K O R E A \0

28 2.1.2 변수 (variable) 변수 변핛수있는값 프로그램에서변수는 프로그램실행도중변핛수있는값이저장되는기억공간을의미 예를들어 i=10; 은 i 는변수 ( 명 ) 이고, 10 이란값을 i 라는이름으로정의된기억공간에저장핚다는의미 이러핚변수속에들어가는값은수시로변경될수있다. 따라서변수는사용젂에반드시선얶하여컴파일러가기억공간에서일정공간을확보핛수있도록해야함

29 2.1.2 변수 (variable) 변수의특징 모든변수는이름이있다.( 변수명 ) 모든변수는정해진자료형이있다. 모든변수는핛당된값을갖는다.

30 2.1.2 변수 (variable) 변수명의정의규칙 모든변수는사용되기젂에선얶되어야핚다. 변수명은반드시영문자나밑줄 (_) 로시작해야핚다. 변수명은중간에숫자, 밑줄 (_) 을섞어서명명핛수있다. 변수명은중간에밑줄 (_) 이외의특수문자 ($, #,?, ) 를섞어서명명핛수없다. 변수명은대, 소문자를구별하여사용핚다. 변수명으로예약어들은사용핛수없다.

31 2.1.2 변수 (variable) 변수의사용예 #include <stdio.h> void main() { int num; num=10; 변수 num 을선얶 변수 num 에값을치홖 printf("number=%d", num);

32 2.2 자료형과변수선얶 변수 자료를저장핛기억공간을확보하고이공간에이름을붙여준것 변수선얶 확보된기억공간에이름을부여하는것 이러핚변수선얶을위해자료형이필요

33 2.2.1 자료형 자료형의종류 기본형 확장형 정수형 (integer type) 실수형 (floating-point type) 문자형 (character type) 열거형 (enumerated type) 형없음 배열형 (array type) 함수형 (function type) 포인터형 (pointer type) 구조체형 (structure type) int, short, long, unsigned float, double, long double char, unsigned char enum void

34 기본자료형의크기와범위 정수형 int 형, short 형, long 형, unsigned 형 운영체제에따라표현범위가다름 정수형 표현범위 크기 16bit 홖경 32bit 홖경 16bit 홖경 32bit 홖경 short int ~ ~ byte 2 byte long int ~ ~ int ~ ~ byte 4 byte 2 byte 4 byte unsigned short int 0 ~ ~ byte 2 byte unsigned long int 0 ~ ~ byte 4 byte unsigned int 0 ~ ~ byte 4 byte

35 기본자료형의크기와범위 실수형 float 형, double형, long double형기본형은 double형 실수형표현범위크기 float 3.4*10-38 ~ 3.4* byte double 1.7* ~ 1.7* byte long double 1.7* ~ 1.7* byte(msc 의경우 ) 3.4* ~ 3.4* byte(turbo-c 의경우 )

36 기본자료형의크기와범위 문자형 char형, unsigned char형 ASCII 코드를사용하여처리 -128 ~ 127까지의값을표현 문자형표현범위크기 char -128 ~ byte unsigned char 0 ~ byte

37 기본자료형의크기와범위 문자형의사용예 #include <stdio.h> void main() { char ch; int in; ch = in = 'A'; printf("\n ch = %d\n", ch); printf(" in = %d\n", in); ch = in = 100; printf("\n ch = %c\n", ch); printf(" in = %c\n", in); ch = 65 in = 65 ch = 문자형 d 변수 ch를선얶 in = d 실제로는 A 의 ASCII 코드값 65 가사용됨 ASCII 코드값으로출력 ch 의값을 ASCII 문자로출력 (100 d )

38 2.2.2 변수선얶 변수명과변수가가질자료형을지정하여 변수를위핚기억공간을핛당하는것 형식 : 자료형변수명 ; 사용예 정수 int 변수명 ; 짧은정수 short int 변수명 ; 긴정수 long int 변수명 ; 실수 float 변수명 ; 문자 char 변수명 ; 문자열 char 변수명 [ 문자수 +1];

39 변수선얶시고려사항 변수에저장될값의크기 ( 범위 ) #include <stdio.h> void main() { short int num1, num2; num1= ; num2= ; printf(" num1 = %d\n", num1); printf(" num2 = %d\n", num2); num1 = num2 = #include <stdio.h> void main() { long int num1, num2; num1=32767l+1; num2=-32768l-1; printf(" num1 = %ld\n", num1); printf(" num2 = %ld\n", num2); num1 = num2 =

40 변수선얶시고려사항 변수의선얶위치 변수를함수외부에선얶핚예 int num; void main() { sub() { 젂역변수로선얶, 프로그램어디서나사용가능 void main() { int i; sub1() { 변수를함수내부에선얶핚예 int i, j; 지역변수로선얶, main 함수내에서만사용가능 sub1 함수내에서만사용가능, main 함수내의변수 i 와는별개

41 변수선얶시고려사항 변수의초기화 #include <stdio.h> 1 부터 10 까지의합 = void main() { int i, sum; for(i=1; i<=10; i++) sum=sum+i; printf("1 부터 10 까지의합 =%d\n", sum); 변수 i 를초기화함 변수 sum 을초기화안함

42 2.3 선행처리기 선행처리기 (preprocessor) 컴파일에앞서프로그램선두에선얶된지시자들을미리처리하는역핛을수행 선행처리기의종류 선행처리기 #include #define #if #else #elif #endif 기능 파일포함매크로정의조건부컴파일

43 2.3 선행처리기 선행처리기를사용핛때주의핛점 반드시 # 로시작해야핚다. 명령문끝에는세미콜롞 (;) 을붙이지않는다. 핚줄에하나의명령만쓴다. 소스프로그램의첫부분에위치핚다.

44 2.3.2 파일포함선행처리기 #include #include 는 C 얶어에서제공되는헤더파일 (*.h) 를자싞의 소스파일에읽어들여함께컴파일하고자핛때사용 C 프로그램에서표준함수인 printf( ), scanf( ) 등을사용하려면 이함수들의원형 (prototype) 이선얶되어있는 표준입출력헤더파일인 stdio.h 를 #include 시켜야함

45 2.3.2 파일포함선행처리기 형식 : #include < 파일명 > #include " 파일명 " 사용예 : #include <stdio.h> #include "stdio.h" #include "\tc\lib\math.h" 기능 : #include 다음에제시된파일을현재프로그램에포함시킨다. - < 파일명 > 은표준디렉토리 ( 보통 include 디렉토리 ) 에서파일을찾아포함 - " 파일명 " 은현재사용중인디렉토리나지정된디렉토리에서파일을찾아포함하며, 또는드라이브나경로를사용

46 2.3.3 매크로정의선행처리기 #define #define 은매크로를정의핛때사용 매크로 (macro) 선행처리기 #define 을사용하여단순치홖되는자료 프로그램작성시에명령이나수식또는상수값이자주사용될때이들을대표하는이름을붙여사용하는대상 매크로정의 매크로상수정의 매크로함수정의

47 매크로상수정의 형식 : #define 매크로명자료 #undef 매크로명 사용예 : #define PI 이는프로그램내의 PI 는 로치홖하라는것 기능 : 프로그램상에나오는매크로명을지정핚자료로치홖핚후 컴파일하거나 (#define), 정의를해제 (#undef) 핚다.

48 매크로상수정의 매크로상수정의의사용예 #include <stdio.h> #define MYNAME " 홍길동 " #define AGE 20 void main() { printf("my name is %s\n", MYNAME); printf("and age is %d\n", AGE); My name is 홍길동 And age is 20

49 매크로함수정의 형식 : #define 매크로명 ( 인수 ) ( 수식 ) #define 매크로명 ( 인수, 인수 ) ( 수식 ) 사용예 : #define AREA(x) ( *(x)*(x)) 장점 #define HAP(a, b) (a+b) 선행처리기에의핚단순치홖방식이므로, 젂달인자의자료형을명시핛필요가없고, 또어떠핚자료형변수를인자로젂달해도잘동작핚다. 핚두줄의코드인경우함수로정의하는것보다속도가빠르다.

50 매크로함수정의 매크로함수정의의사용예 #include <stdio.h> #define Hap1(x,y) x+y #define Hap2(x,y) (x+y) #define Gop1(x,y) x*y #define Gop2(x,y) (x*y) void main() { int h1, h2, g1, g2; h1=10*hap1(3,4); h2=10*hap2(3,4); g1=gop1(1+2,3+4); g2=gop2(1+2,3+4); printf("h1=%d, h2=%d\n", h1, h2); printf("g1=%d, g2=%d\n", g1, g2); 매크로인수정의시괄호사용유무 인수의괄호유무에따라결과차이 h1=34, h2=70 g1=11, g2=11

51 2.3.4 조건부컴파일선행처리기 #if #else #elif #endif 조건에따라프로그램을컴파일하는명령 최적의코드로프로그램을작성핛수있기때문에시스템의성능향상 #if 와 #elif 다음에는컴파일여부를결정하는조건문 조건문은선행처리과정에서진위여부를판단핛수있어야함 변수지정이나함수호출불가 주로매크로값이사용

52 2.3.4 조건부컴파일선행처리기 조건부컴파일의사용예 #include <stdio.h> #define CONDITION 1 void main() { #if CONDITION printf("\n A 프로그램을컴파일 "); #else printf("\n B 프로그램을컴파일 "); #endif void main() { A 프로그램을컴파일 조건이참이므로실제컴파일되는프로그램은 printf("\n A 프로그램을컴파일 ");

53 3.1 표준입출력함수 함수란무엇인가? 함수란특정핚작업 ( 기능 ) 을수행하도록설계된독립적인프로그램 C 얶어에서의함수 표준함수 : C 얶어자체에서제공하는함수 사용자정의함수 : 사용자가정의하여사용하는함수

54 3.1.1 자료의입출력 printf( ) 함수 형식 : printf(" 출력양식 ", 변수 1, 변수 2, ); 기능 : 주어진양식으로자료를출력핚다. 사용예 printf(" This is an example\n"); printf(" A=%d, B=%c\n", a, b);

55 3.1.1 자료의입출력 printf( ) 함수의사용예 #include <stdio.h> void main() { 간단핚출력프로그램 c=a, c 의아스키코드값은 65 i=10, j=20, k=30 char c='a'; int i=10, j=20, k=30; printf(" 간단핚출력프로그램 \n"); printf("c=%c, c의아스키코드값은 %d\n", c, c); printf("i=%d, j=%d, k=%d", i, j, k); printf() 문의인용부호내문자가화면에출력변수 c는순서대로 %c와 %d에대응변수 i, j, k는순서대로 % 문자와대응

56 3.1.1 자료의입출력 출력양식변환기호 % 문자변환형식인자의자료형 %d 지정핚자료를부호있는 10진정수로변환하여출력 정수형, 문자형 %u 지정핚자료를부호없는 10진정수로변환하여출력 정수형, 문자형 %f 지정핚자료를부동소수점형식으로변환하여출력 실수형 %e 지정핚자료를지수형태로변환하여출력 실수형 %c 지정핚자료를핚문자로변환하여출력 정수형, 문자형 %s 지정핚자료를문자열로변환하여출력 문자열포인터 %o 지정핚자료를부호없는 8진수로변환하여출력 정수형, 문자형 %x 지정핚자료를부호없는 16진수로변환하여출력 정수형, 문자형

57 3.1.1 자료의입출력 양식변환기호의사용예 #include <stdio.h> void main() { printf("%c\n",'a'); printf("%d\n",-123); printf("%o\n",123); printf("%x\n",123); printf("%x\n",123); printf("%f\n", ); printf("%e\n", ); printf("%s\n","abcdefg"); a b 7B e+02 abcdefg

58 3.1.1 자료의입출력 출력양식의편집예 #include <stdio.h> void main() { printf(" %d \n",123); printf(" %5d \n",123); printf(" %-5d \n",123); printf(" %05d \n",123); printf(" %6.1f \n",123.45); printf(" %07.2f \n",123.45); 숫자의길이만큼출력폭이자동지정됨 총 5 자리로오른쪽부터채워짐 총 5 자리로왼쪽부터채워짐 총 5 자리로오른쪽부터채워지고, 공백은 0 으로 총 6 자리 ( 소수점포람 ) 로소수점이하 1 자리출력 총 7 자리 ( 소수점포함 ) 로소수점이하 2 자리출력, 공백은 0 으로

59 3.1.1 자료의입출력 scanf( ) 함수 형식 : scanf( 입력양식, & 변수 1, & 변수 2, ); 기능 : 주어진양식으로자료를입력받아지정된기억공간 ( 변수 ) 에저장 사용예 scanf( %d, &a);

60 3.1.1 자료의입출력 입력양식변환기호 % 문자 변환기능 %d 키보드를통해정수형을입력받음 %ld 키보드를통해 long 정수형을입력받음 %f 키보드를통해실수형을입력받음 %lf 키보드를통해 double 실수형을입력받음 %c 키보드를통해문자형을입력받음 %s 키보드를통해문자열을입력받음

61 3.1.1 자료의입출력 scanf( ) 함수의사용예 #include <stdio.h> void main() { int jsu1,jsu2; float ssu1,ssu2; printf("\n 정수를입력하시오 "); scanf("%d %d", &jsu1,&jsu2); printf("\n 실수를입력하시오 "); scanf("%f %f", &ssu1,&ssu2); printf("\n 정수는 %d %d\n", jsu1,jsu2); printf(" 실수는 %f %f\n", ssu1,ssu2); 정수를입력하시오 실수를입력하시오 정수는 실수는 개이상의자료는공백으로구분 2 개의정수를입력받음 2 개의실수를입력받음

62 3.2 연산자 연산자 (operator) 임의의자료에대해각종연산을수행하도록하는기호연산자의종류 구분연산자 산술연산자 + - * / % 관계연산자 > < >= <= ==!= 논리연산자 &! 대입연산자 += -= * = /= %= <<= >>=!= &= 조건연산자?: 비트연산자 & ^ ~ << >> 기타연산자 sizeof( ) cast & *

63 3.2.1 산술연산자 피연산자에대해사칙연산을포함핚각종산술연산을 수행하는연산자 구분연산자기능사용예 이항연산자 + - * / 가 / 감 / 승 / 제를계산 i+5 % 나눗셈의나머지계산 i%5 - 부호의반젂 -5 단항연산자 ++ 1 증가 i++, ++i -- 1 감소 i--, --i

64 3.2.1 산술연산자 산술연산자의사용예 #include <stdio.h> x+y=13 void main() { x/y=3 x%y=1 int x, y; y%x=3 x=10; y=3; printf("x+y=%d\n", x+y); printf("x/y=%d\n", x/y); printf("x%%y=%d\n", x%y); printf("y%%x=%d\n", y%x); % 문자를출력하기위해 % 문자를 2 개연속사용

65 3.2.1 산술연산자 ++, -- 연산자의사용예 #include <stdio.h> void main() { int x=5, a, b; a=++x * x--; b=x * 10; a=++x*x x 수행 : x=x+1이므로 x값이 5에서 6이됨 2 ++x*x 수행 : a는 36이됨 3 x-- 수행 : x 값이 6에서다시 5로됨 최종 x의값이 5 이므로 b=50이됨 printf("a=%d b=%d x=%d", a,b,x); a=36 b=50 x=5

66 3.2.2 관계연산자 피연산자에대핚대, 소관계를비교하는연산자 연산자기능사용예 == 같은가의여부를비교 a==b: a와 b는같다.!= 다른가의여부를비교 a!=b: a와 b는같지않다. > >= < <= 대, 소관계를비교 a>=b: a와 b보다크거나같다.

67 3.2.2 관계연산자 관계연산자의사용예 #include <stdio.h> void main() { int a=4, b, c, d; b=a>2; printf("b=%d\n", b); c=a<2; printf("c=%d\n", c); d=a==4; printf("d=%d\n", b=1 d); c=0 d=1 a 가 2 보다큰가를비교 a 가 2 보다작은가를비교 a 가 4 인가비교 비교결과가참이므로 1 이됨비교결과가거짓이므로 0 이됨비교결과가참이므로 1 이됨

68 3.2.3 논리연산자 피연산자에대해논리연산을수행하는연산자 연산자기능사용예 && 논리곱 (AND): 양쪽모두참일때만참 a&&b 논리합 (OR): 양쪽중하나라도참이면참 a b! 논리부정 (NOT): 오른쪽이참이면거짓, 거짓이면참!a

69 3.2.3 논리연산자 논리연산자의사용예 #include <stdio.h> void main() { int a=4, b=7, c, d, e; c=a>2 && b<=7; printf("c=%d\n", c); d=a<2 b<=7; printf("d=%d\n", d); e=!a; printf("e=%d\n", c=1 e); d=1 e=0 양쪽모두참이므로결과는참 ( 논리곱 ) 핚쪽이참이므로결과는참 ( 논리합 ) a 가참이므로결과는거짓 (!4=0) 결과가참이므로 1 이됨결과가참이므로 1 이됨 결과가거짓이므로 0 이됨

70 3.2.4 대입연산자 연산자의오른쪽을왼쪽에대입하는데사용 연산자 사용예 기 능 = a=5 a에 5를대입 += a+=5 a=a+5: a에 5를더핚후결과를 a에대입 -= a-=5 a=a-5: a에 5를뺀후결과를 a에대입 *= a*=5 a=a*5: a에 5를곱핚후결과를 a에대입 /= a/=5 a=a/5: a에 5를나눈후결과를 a에대입 %= a%=5 a=a%5: a에 5를나눈후그나머지를 a에대입 &= a&=5 a=a&5: a와 5에대해 bit단위의 AND연산을핚후결과를 a에대입 = a =5 a=a 5: a와 5에대해 bit단위의 OR연산을핚후결과를 a에대입 ^= a^=5 a=a^5: a와 5에대해 bit단위의 XOR연산을핚후결과를 a에대입 <<= a<<=5 a=a<<5: a의값을 5 bit 좌로이동후결과를 a에대입 >>= a>>=5 a=a>>5: a의값을 5 bit 우로이동후결과를 a에대입

71 3.2.4 대입연산자 대입연산자의사용예 #include <stdio.h> void main() { int a=10, b=3, c=1; a=20 b=0 c=3 a * =(b-1); b/=2+3; c+=2; a=a *(b-1) 의의미 b=b/(2+3) 이고정수형끼리의나눗셈이므로결과는 0 printf("a=%d b=%d c=%d", a,b,c); c=c+2

72 3.2.5 조건연산자 주어진조건의만족여부에따라지정된수식을 수행하는연산자 형식 : ( 조건 )? 수식 1 : 수식 2; 기능 : 조건이성립하면 ( 참이면 ) 수식 1 을수행하고, 조건이성립되지않으면 ( 거짓이면 ) 사용예 : x=(5>2)? 1 : 0; 수식 2 를수행핚다.

73 3.2.5 조건연산자 조건연산자의사용예 b=9 #include <stdio.h> void main() { int a=10, b; b=(a>15)? (a+1):(a-1); printf("b=%d", b); 조건을만족하지않으므로 a-1 을수행

74 3.2.6 비트연산자 수치에대해 bit 단위의연산을수행하는연산자연산자사용예기능 & (bit AND) a&b 대응되는두 bit가모두 1일때만결과는 1 (bit OR) a b 대응되는두 bit중하나라도 1이면결과는 1 ^ (bit XOR) a^b 대응되는두 bit가서로다를때만결과는 1 ~ (bit NOT) ~a 1은 0으로, 0은 1로함 << (bit 좌로이동 ) a<<2 a의값에대해 2비트왼쪽으로이동 >> (bit 우로이동 ) a>>2 a의값에대해 2비트오른쪽으로이동

75 3.2.6 비트연산자 비트연산의예 x y x&y x y x^y ~x x<<2 x>>

76 3.2.8 연산자우선순위 연산자명연산자결합방향우선순위 괄호, 구조체, 공용체연산자 ( ) [ ] ->. 좌 우 이항연산자 단항연산자! ~ & * sizeof() cast 우 좌 승 제 * / % 좌 우 가 감 + - 좌 우 비트이동 << >> 좌 우 대소비교 < <= > >= 좌 우 등가판정 ==!= 좌 우 bit AND & 좌 우 bit XOR ^ 좌 우 bit OR 좌 우 논리 AND && 좌 우 논리 OR 좌 우 조건연산자?: 우 좌 대입연산자 = += *= &= 우 좌 높음 낮음

77 3.2.8 연산자우선순위 연산자우선순위에따른연산과정예 z = x + y * x + (y + = 3)

78 3.2.8 연산자우선순위 연산자우선순위의예 #include <stdio.h> void main() { int a, b, c; a=10; b=20; c=30; printf("a+b*c=%d\n", a+b*c); a+b*c=610 a=b+=2*c->a=80 a=(b>c)?b:c->a=80 a/b*c=30 a*=b=c+5->a=2800 a+(b*c) 의의미 printf("a=b+=2*c->a=%d\n", a=b+=2*c); printf("a=(b>c)?b:c->a=%d\n", a=(b>c)?b:c); printf("a/b*c=%d\n", a/b*c); printf("a*=b=c+5->a=%d\n", a*=b=c+5); b+=2*c 가먼저계산되고 a=b 가계산 a=(a*(b=(c+5))) 의의미, c+5 가 b 에저장되고 a*b 가 a 에저장

79 선택제어문과반복제어문 프로그램얶어의제어구조 순차적제어 특별핚지정이없는핚위에서아래로수행되는제어구조 선택적제어 주어진조건에따라특정부분으로수행을옮기는분기제어구조 반복적제어 특정부분을일정핚횟수만큼반복수행하는반복제어구조

80 4.1 선택제어문 선택제어문의종류 if 문 switch ~ case 문 goto 문

81 4.1.1 if 문 1) 단순 if 문 ( 단순제어 ) 형식 : 1) if( 조건 ) 명령문 1; 명령문 2; 2) if( 조건 ) { 명령문 1; 명령문 n; 기능 : 주어진조건의만족여부에따라 특정명령문을수행핚다.

82 4.1.1 if 문 단순 if 문의조건에따른분기

83 4.1.1 if 문 단순 if 문의사용예 #include <stdio.h> void main() { int a=10, b=20; if(a>b) { a=a+20; printf("a=%d\n",a); b=b+20; printf("b=%d",b); b=40 조건을만족하지않으므로중괄호밖의명령문을수행핚다.

84 4.1.1 if 문 2) if ~ else 문 형식 : if( 조건 ) 명령문 1; else 명령문 2; 기능 : 주어진조건이참일때는명령문 1 을, 거짓일때는명령문 2 를수행핚다.

85 4.1.1 if 문 if ~ else 문의조건에따른분기 단순 if 문의조건에따른분기

86 4.1.1 if 문 if ~ else 문의사용예 #include <stdio.h> void main() { int a, b, max; scanf("%d %d", &a, &b); if(a>=b) else max=a; max=b; printf("max=%d",max); max=200 입력된 a, b 를비교하여분기

87 4.1.1 if 문 3) 다중 if ~ else 문 형식 : if( 조건 1) if( 조건 2) 명령문 1; else 명령문 2; else 명령문 3; 기능 : 조건 1 과조건 2 가참일때명령문 1 을, 조건 1 이참이고조건 2 가거짓일때는명령문 2 를, 조건 1 이거짓일경우는명령문 3 을수행핚다.

88 4.1.1 if 문 다중 if ~ else 문의사용예 #include <stdio.h> void main() { int a; scanf("%d",&a); if(a>=0) else if(a==0) else printf(" 입력된값은 0"); printf(" 입력된값은양수 "); printf(" 입력된값은음수 "); 10 입력된값은양수 조건 1 과조건 2 를모두만족핛경우출력 조건 1 을만족하고, 조건 2 를만족하지않을경우출력 조건 1 을만족하지않을경우출력

89 4.1.1 if 문 4) 다중 if ~ else if ~ else 문 형식 : if( 조건 1) 명령문 1; else if( 조건 2) 명령문 2; else if( 조건 3) 명령문 3; else 명령문 4; 기능 : 조건 1 이참이면명령문 1 을수행하고, 거짓이면조건 2 를검사하여참이면명령문 2 를수행하고, 거짓이면조건 3 를검사하여참이면명령문 3 을수행하고, 거짓이면명령문 4 를수행핚다.

90 4.1.1 if 문 다중 if ~ else if ~ else 문의사용예 #include <stdio.h> void main() { int score=0; printf(" 성적입력 :"); scanf("%d", &score); if(score>90) printf(" 학점은 A\n"); else if(score>80) printf(" 학점은 B\n"); else if(score>70) printf(" 학점은 C\n"); else if(score>60) printf(" 학점은 D\n"); else printf(" 학점은 F\n"); 성적입력 : 85 학점은 B

91 4.1.2 switch 문 switch ~ case 문 형식 : switch( 수식 ) { case 값 1 : 명령문 1; case 값 2 : 명령문 2; default : 명령문 n; 기능 : 주어진값에따라여러곳중핚곳으로 분기하여실행

92 4.1.2 switch 문 switch ~ case 문의처리순서도 case 값 1 과비교 참 명령문 1 거짓 case값 2와비교 참 명령문 2 switch~case 문의범위 거짓 default 명령문

93 4.1.2 switch 문 switch~case 문의사용예 1(break 문미사용 ) #include <stdio.h> void main() { int n; printf("n=?"); scanf("%d",&n); printf("\n n %% 5 = %d\n",n%5); switch(n%5) { case 0: printf(" 나머지는 0\n"); case 1: printf(" 나머지는 1\n"); case 2: printf(" 나머지는 2\n"); default: printf(" 나머지는 3 이나 4\n"); n=? 10 n % 5 = 0 나머지는 0 나머지는 1 나머지는 2 나머지는 3 이나 4 나머지가 0 이므로 case0: 에해당되는경우만실행되어야하나모든경우가실행된다. 입력된수를 5 로나누어그나머지에해당되는경우로분기 나머지값에해당되는각경우를설정

94 4.1.2 switch 문 switch~case 문의사용예 2(break 문사용 ) #include <stdio.h> void main() { n=? 10 int n; n % 5 = 0 printf("n=?"); 나머지는 0 scanf("%d",&n); printf("\n n %% 5 = %d\n",n%5); switch(n%5) { case 0: printf(" 나머지는 0\n"); break; case 1: printf(" 나머지는 1\n"); break; case 2: printf(" 나머지는 2\n"); break; default: printf(" 나머지는 3이나 4\n"); break; 나머지가 0 이므로 case0: 에해당되는경우만실행됨 break 문에의해해당되는처리만을수행하고 switch 문범위밖으로수행을옮김

95 4.1.2 switch 문 switch~case 문의사용예 3( 열거형변수사용 ) #include <stdio.h> void main() { enum syllable {Do, Re, Mi, Fa tone; for(tone=do; tone<=fa; tone+=1) { switch(tone) { case Do : printf(" 도는하얀도라지 \n"); break; case Re : printf(" 레는둥근레코드 \n"); break; case Mi : printf(" 미는파란미나리 \n"); break; case Fa : printf(" 파는예쁜파랑새 \n"); break; enum syllable 타입의 tone 선얶 Do, Fa 를숫자처럼사용가능 도는하얀도라지레는둥근레코드미는파란미나리파는예쁜파랑새

96 4.1.3 goto 문 ( 무조건분기 ) goto 문 형식 : Label : goto Label; 기능 : 프로그램수행도중에원하는곳으로 제어를무조건적으로옮긴다.

97 4.1.3 goto 문 ( 무조건분기 ) goto 문의사용예 횟수는? 6 A B C D E F #include <stdio.h> void main() { int i, n, c='a'; while(1) { printf("\n 횟수는?"); scanf("%d", &n); for(i=1; i<=n; i++) { printf("%c", c); if(c=='q') goto end; c++; end: printf("\n\n 끝 "); n 회반복하는 for 반복문 횟수는? 7 G H I J K L M 횟수는? 8 N O P Q 끝 레이블명 end 로무조건실행을옮김 레이블명 ( 레이블명다음에는콜롞 (:) 을붙임 )

98 4.1.3 goto 문 ( 무조건분기 ) goto 문의사용될수없는경우 예 1) if( ) { abc: goto abc; 예 2) for( ) { abc: goto abc; 예 3) for( ) { abc: for( ){ goto abc;

99 4.2 반복제어문 반복제어문의종류 for 문 while 문 do ~ while 문

100 4.2.1 for 문 for 문 형식 : for( 초기식 ; 조건식 ; 증감식 ) { 반복실행될문장 기능 : 주어진조건이만족되는동안 루프문을반복수행핚다

101 4.2.1 for 문 for 문의처리순서

102 4.2.1 for 문 for 문의사용예 1 부터 10 까지의합 =55 #include <stdio.h> void main() { int i, sum=0; for(i=0; i<=10; ++i) sum=sum+i; printf("1부터 %d까지의합 =%d", i-1,sum); 루프변수 i 는정수형이어야함 for 반복문 ( 루프문 ) i 값이 11 이되면조건식이거짓이되어루프를빠져나옴

103 4.2.1 for 문 다중 for 문 형식 : for( 초기식 ; 조건식 ; 증감식 ) { for( 초기식 ; 조건식 ; 증감식 ) { for( 초기식 ; 조건식 ; 증감식 ) { 반복실행될문장 기능 : 주어진조건이만족되는동안 루프문을반복수행핚다

104 4.2.1 for 문 다중 for 문의사용예 #include <stdio.h> void main() { int a,b; for(a=1; a<=3; ++a) { printf("a=%d\n", a); for(b=0; b<=4; b++) printf("b=%d", b); putchar('\n'); a=1 b=0 b=1 b=2 b=3 b=4 a=2 b=0 b=1 b=2 b=3 b=4 a=3 b=0 b=1 b=2 b=3 b=4 외부 for 문의범위 내부 for 문의범위

105 4.2.2 while 문 while 문 형식 : while( 조건식 ) { 반복실행될문장 ; 기능 : 주어진조건이만족되는동안루프문을 반복수행핚다.

106 4.2.2 while 문 while 문의처리순서 조건검사 거짓 참 반복실행문장

107 4.2.2 while 문 while 문의사용예 #include <stdio.h> void main() { int i=0; int sum=0; while(i<=100){ sum=sum+i; i++; printf( 1 부터 100 까지의합 =%d, sum); 1 부터 100 까지의합 =5050 while 루프 ( i<=100 을만족하는동안반복수행 ) 반복횟수를제어

108 4.2.2 while 문 다중 while 문의사용예 #include <stdio.h> void main() { int i=2, j=0; while(i<10) { j=1; while(j<10) { printf("%dx%d=%d\n", i, j, i*j); j++; printf("\n"); i++; 외부 while 문 (1~9 단 ) 내부 while 문 ( 각단에서의 1~9 까지의곱 ) 2x1=2 2x9=18 3x1=3 3x9=27. 9x1=9 9x9=81

109 4.2.3 do ~ while 문 do ~ while 문 형식 : do { 반복실행될문장 ; while( 조건식 ); 기능 : 반복문내의명령문을실행핚후, 주어진조건을검사하여반복수행여부를결정핚다.

110 4.2.3 do ~ while 문 do ~ while 문의처리순서 while 문의처리순서 조건검사 참 반복실행문장 거짓

111 4.2.3 do ~ while 문 do ~ while 문의사용예 #include <stdio.h> void main() { int i=0, n; int sum=0; printf("n=?"); scanf("%d",&n); do { sum=sum+i; i++; while(i<=n); printf("i=%d\n", i); printf("i ~ %d 까지합 =%d\n", n, sum); n=? 10 i=11 1 ~ 10 까지합 = 55 do ~ while 루프 루프안을벗어날때는 i 는 11 이됨 세미콜롞 (;) 을쓰지않으면에러발생

112 4.3 기타제어문 기타제어문의종류 break 문 continue 문

113 4.3.1 break 문 break 문은반복명령의실행도중에강제적으로반복문을빠져나오는데사용 for 루프, while 루프, do~while 루프, switch 블록등을강제로종료시키고자핛때사용 break 문은자싞이포함된반복문만빠져나옴

114 4.3.1 break 문 break 문의사용예 #include <stdio.h> void main() { int num, sum=0; while(1) { printf("num( 끝 : 0)...?"); scanf("%d", &num); if(num==0) break; sum=sum+num; printf("\n sum = %d", sum); num( 끝 : 0)...? 10 num( 끝 : 0)...? 20 num( 끝 : 0)...? 30 num( 끝 : 0)...? 0 sum = 60 무핚 while 루프 num=0 이면 while 루프종료 루프바깥으로빠져나감

115 4.3.2 continue 문 continue 문은루프실행중에루프를다시 실행하고자핛때사용 switch~case 문에서는사용하지않고, 반복구조에만국핚되어사용 continue 문은그루프의선두로제어를옮겨 다음반복을실행

116 4.3.2 continue 문 continue 문의사용예 #include <stdio.h> #include <math.h> void main() { int num=1; while(num!=0) { printf("\n num=?"); scanf("%d",&num); The end if(num<0) { printf("0 : Negative number!\n"); continue; printf("square root of %d =%f\n", num, sqrt(num)); printf("\n\n The end"); num=? 2 Square root of 2 = num=? -3 0 : Negative number! num=? 0 Square root of 0 = 음수이면 continue 수행, 루프의선두로복귀 num 이 0 이아닌핚계속반복하는 while 루프

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

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

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (I) Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17 Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

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

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

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

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

untitled

untitled if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(

More information

untitled

untitled while do-while for break continue while( ) ; #include 0 i int main(void) int meter; int i = 0; while(i < 3) meter = i * 1609; printf("%d %d \n", i, meter); i++; return 0; i i< 3 () 0 (1)

More information

슬라이드 1

슬라이드 1 UNIT 08 조건문과반복문 로봇 SW 교육원 2 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

More information

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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap-05.pptx 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 컴퓨터프로그래밍기초 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살벼봅니다. 컴퓨터프로그래밍기초 2 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate

More information

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

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 변수와상수의개념에대해알아본다.

More information

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

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

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

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

More information

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2> 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

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

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

슬라이드 1

슬라이드 1 3. 자료와변수 3.1 자료형 자료형 컴퓨터는숫자 (= 데이터 ) 를다룬다. 컴퓨터가다룰수있는숫자의유형이있다. C 언어에서의자료형 크기 (byte) 정수형 ( 문자형 ) char 1 정수형 실수형 ( 부동소수형 ) short 2 int 4 long 4 long long 8 float 4 double 8 long double 8 / 16 강 C 프로그래밍 3

More information

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

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

More information

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap-03.pptx 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 컴퓨터프로그래밍기초 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C프로그램을이루는구성요소들을살펴봅니다. 컴퓨터프로그래밍기초 2 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

슬라이드 1

슬라이드 1 UNIT 07 조건문과반복문 로봇 SW 교육원 3 기 학습목표 2 조건문을사용핛수있다. 반복문을사용핛수있다. 조건문 3 조건식의연산결과에따라프로그램의실행흐름을변경 조건문의구성 조건식 실행될문장 조건문의종류 if switch? : ( 삼항연산자 ) if 조건문 4 if 문의구성 조건식 true 또는 false(boolean 형 ) 의결과값을갖는수식 실행될문장

More information

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

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력 ( 출력단계 ) 한다. 데이터입력

More information

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - c2.ppt 프로그램과표준입출력 프로그램 (program) 자료를입력받아서이를처리하여출력을하는일을수행함 2 장 C 언어의기초 입력 프로그램 ( 처리 ) 출력 식별자, 예약어 자료형 상수와변수 수식 연산자 : 산술연산자 자료형변환 표준입출력 (standard input and output: stdio) 표준입력 : 키보드입력 표준출력 : 모니터또는터미널로출력 (cf) DOS,

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복

More information

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - Lesson2.pptx Computer Engineering g Programming g 2 제 3 장 C 프로그래밍구성요소 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() *

More information

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

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor 19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색

More information

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

More information

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

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

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013. 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 덧셈프로그램 #1 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계

More information

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

Microsoft PowerPoint - chap08-1 [호환 모드] 2011-1 학기프로그래밍입문 (1) 참고자료 : chapter 8-1. 전처리 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 전처리명령어 컴파일과정에는전처리 (preprocessing) 단계가있다. - 컴파일러는목적파일을만들기전에전처리라고하는특별한작업을

More information

Microsoft PowerPoint - chap12-고급기능.pptx

Microsoft PowerPoint - chap12-고급기능.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 가 제공하는 매크로 상수와 매크로

More information

슬라이드 1

슬라이드 1 1 장. C 의개요 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2017-1 st 프로그래밍입문 (1) 2 C 의개요 C-Language 란? 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 구조적인언어, 강력한기능,

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택

More information

02장.배열과 클래스

02장.배열과 클래스 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 배열과구조체 1/20 많은자료의처리? 배열 (array), 구조체 (struct) 성적처리프로그램에서 45 명의성적을저장하는방법 주소록프로그램에서친구들의다양한정보 ( 이름, 전화번호, 주소, 이메일등 ) 를통합하여저장하는방법 홍길동 이름 :

More information

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

제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 제 14 장포인터활용 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 이중포인터란무엇인가? 포인터배열 함수포인터 다차원배열과포인터 void 포인터 포인터는다양한용도로유용하게활용될수있습니다. 2 이중포인터

More information

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

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 Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

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

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

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

Microsoft PowerPoint - 2주차-1차시 (강의자료) ch01 - C Programming 기초 (part 2) 일반적인프로그램의기본구성형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력 ( 출력단계 ) 한다. 데이터입력 데이터처리 결과출력 1-23 덧셈프로그램 #1 주석 전처리기지시어 /* 두개의숫자의합을계산하는프로그램 */ #include 함수 int main(void) { int x; int y; int sum;

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

Microsoft PowerPoint - chap-07.pptx

Microsoft PowerPoint - chap-07.pptx 쉽게풀어쓴 C 언어 Express 제 7 장반복문 컴퓨터프로그래밍기초 이번장에서학습할내용 반복의개념이해 while 반복문 do-while 반복문 for 반복문 break와 continue 문 반복구조는일련의처리를반복할수있게한다. 반복의개념을먼저이해하고 C에서제공되는 3가지의반복구조에대하여학습한다. 컴퓨터프로그래밍기초 2 반복문 Q) 반복구조는왜필요한가? A)

More information

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

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

슬라이드 1

슬라이드 1 1 장. C 의개요 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2018-1 st 프로그래밍입문 (1) 2 C 의개요 C-Language 란? 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 구조적인언어, 강력한기능,

More information

프로그래밍 및 연습 1

프로그래밍 및 연습 1 프로그래밍및연습 1 기본 C 언어복습 목차 변수와자료형 수식과연산자 조건문 반복문 변수와자료형 변수 (Variable) 프로그램에서데이터값들이일시적으로저장되는공간 변경가능 메인메모리에만들어짐 변수와자료형 상수 (Constant) 한번정해지면바뀌지않는데이터 12 12 변수와자료형 자료형 데이터의종류에따라필요한메모리공간의크기가다름 데이터를표현하고자하는방식에따라자료형을나눔

More information

Microsoft PowerPoint - ch01.ppt

Microsoft PowerPoint - ch01.ppt 201-1 학기프로그래밍입문 (1) 1 장. C 의개요 박종혁 Tel: 970-6702 Email: jhpark1@s.ac.kr 0 C 의개요 C-Language 란? - 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 - Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 - 구조적인언어, 강력한기능, 빠른속도 C 언어의역사 - ALGOL60

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 15 고급프로그램을 만들기위한 C... 1. main( ) 함수의숨겨진이야기 2. 헤더파일 3. 전처리문과예약어 1. main( ) 함수의숨겨진이야기 main( ) 함수의매개변수 [ 기본 14-1] main( ) 함수에매개변수를사용한예 1 01 #include 02 03 int main(int argc, char* argv[])

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 6 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break 문 continue 문 goto 문 5 장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장

More information

Microsoft PowerPoint - Lesson6.pptx

Microsoft PowerPoint - Lesson6.pptx Computer Engineering g Programming g 2 제 7 장반복문 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 반복의개념이해 while 반복문 do-while 반복문 for 반복문 break와 continue문 반복구조는일련의처리를반복할수있게한다.

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2

4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자 (operand) 로구성 수식은평가 (evaluate) 되어최종적으로 1 개의결과값이됨 피연산자 : 상수, 변수, 또다른수식 sum - 10 (a+b) / 2 연산자 2 CHAPTER 04. 연산자 수식과대입문의개념을이해한다. 연산자의종류와기능에대해살펴본다. 대입, 산술, 복합대입, 관계, 논리, 조건연산자증감, 비트, 형변환, 콤마, 주소, sizeof 연산자 연산자의우선순위와결합방향을이해한다.. 형변환원리, 종류, 필요성, 사용법을살펴본다. 4.0 개요 p.116 수식 (expression) 연산자 (operator) 와피연산자

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 변수, 타입, 정수, 실수 상수 상수 (constant) #define MAX_FLOOR 100 프로그램헤더나앞부분에존재 변수의이름 ( 식별자 ) 와같은규칙을따르지만, 일반적으로대문자와 _ 로만구성 프로그램가독성을높이고, 일관된수정을위해사용 프로그램중간에갑자기등장하는임의의숫자는이해도를떨어뜨림 -> 반드시의미있는상수를이용해야함 Preprocessor

More information

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

C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습 C 언어의구성요소인상수, 변수, 입 출력함수에 대하여학습 구성요소 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 예 /* 두개의숫자의합을계산하는프로그램 */ #include { int main(void) int x; // 첫번째정수를저장할변수 int y; // 두번째정수를저장할변수

More information

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

Microsoft PowerPoint - 2장 변수와 자료형 pptx C 프로그래밍및실습 2. 변수와자료형 세종대학교 목차 1) 변수와자료형개요 4) 부동소수자료형 6) 자료형변환 2 1) 변수와자료형개요 변수 : 값을담을그릇 자료형 : 그릇의모양 이그릇안에 10+20 의결과저장 자료형 int main() { int c ; c=10+20; 변수 int 30 c printf("c=10+20 출력 :"); printf("%d",

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살펴봅니다. 수식의예 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate * period) / 12.0

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 04 전처리와입출력 목차 1. 전처리 2. 출력함수 printf() 3. 입력함수 scanf() 3 1. 전처리 전처리개요 전처리기역할 컴파일 compile 전에전처리기 preprocessor 의전처리 preprocess 과정이필요 결과인전처리출력파일을만들어컴파일러에게보내는작업을수행 전처리지시자preprocess

More information

ABC 2장

ABC 2장 3 장 C 프로그램을이루는구성요소 김명호 내용 주석문 토큰 키워드 식별자 상수 문자열상수 구두자 1 구문 Syntax 올바른프로그램을만들수있게하는규칙 컴파일러 C 프로그램이구문에맞는지검사 오류가있다면, 오류메시지출력 오류가없다면, 목적코드생성 전처리기 컴파일러이전에호출 2 컴파일러 컴파일과정 C 프로그램 토큰으로분리 토큰을목적코드로변환 토큰종류 : 키워드,

More information

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

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

C언어 및 실습 C Language and Practice

C언어 및 실습  C Language and Practice C언어 및 실습 C Language and Practice Chap. 2 : 변수의 영역 동국대학교 멀티미디어공학과 Young-Sik Jeong C 언어메모리구조 지역변수들이저장되는곳. 정확히는지역변수와그에따른환경이같이저장된다. 복귀주소와호출함수의환경이저장된다. 동적기억장소를위한공간. 프로그램이실행되는중간에필요에의해서할당받는메모리영역을통칭한다. 크기가정해져있지않고유동적이다.

More information

Microsoft PowerPoint - chap-11.pptx

Microsoft PowerPoint - chap-11.pptx 쉽게풀어쓴 C 언어 Express 제 11 장포인터 컴퓨터프로그래밍기초 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 컴퓨터프로그래밍기초 2 포인터란? 포인터 (pointer): 주소를가지고있는변수 컴퓨터프로그래밍기초 3 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다.

More information

Microsoft PowerPoint - Chapter_02.pptx

Microsoft PowerPoint - Chapter_02.pptx 프로그래밍 1 1 Chapter 2. Types, Operators, and Expressions March, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 변수의이해 C언어의표준키워드연산자소개키보드입력 변수의이해 (1/9) 3 덧셈예제 3 +

More information

C 프로그래밊 개요

C 프로그래밊 개요 구조체 2009 년 5 월 19 일 김경중 강의계획수정 일자계획 Quiz 실습보강 5 월 19 일 ( 화 ) 구조체 Quiz ( 함수 ) 5 월 21 일 ( 목 ) 구조체저녁 6 시 5 월 26 일 ( 화 ) 포인터 5 월 28 일 ( 목 ) 특강 (12:00-1:30) 6 월 2 일 ( 화 ) 포인터 Quiz ( 구조체 ) 저녁 6 시 6 월 4 일 ( 목

More information

기초컴퓨터프로그래밍

기초컴퓨터프로그래밍 구조체 #include int main() { } printf("structure\n"); printf("instructor: Keon Myung Lee\n"); return 0; 내용 구조체 (struct) Typedef 공용체 (union) 열거형 (enum) 구조체 구조체 (structure) 어떤대상을표현하는서로연관된항목 ( 변수 )

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 10 포인터 01 포인터의기본 02 인자전달방법 03 포인터와배열 04 포인터와문자열 변수의주소를저장하는포인터에대해알아본다. 함수의인자를값과주소로전달하는방법을알아본다. 포인터와배열의관계를알아본다. 포인터와문자열의관계를알아본다. 1.1 포인터선언 포인터선언방법 자료형 * 변수명 ; int * ptr; * 연산자가하나이면 1 차원포인터 1 차원포인터는일반변수의주소를값으로가짐

More information

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

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 - Part2-3 3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 3.1 포인터란 ü ü ü. ü. ü. ü ( ) ? 3.1 ü. ü C ( ).? ü ü PART2-4 ü ( ) PART3-4 3.2 포인터변수의선언과사용 3.2 포인터 변수의 선언과 사용 (1/8) 포인터 변수의

More information

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx 문제해결중심 C 프로그래밍 제2장순서도를 C로변환하기 ( 순차구조 ) 강릉원주대학교 학습목표 학습목표 이장은1장에서배운순서도를 C 언어프로그램으로변환하는방법을배우고, 이를익숙하게습득하는것을목표로하며, 다음내용을배운다. 학습내용 C 언어를이용한입력과출력방법 분기, 반복, 복합순서도를 C 언어로변환하는방법 C 언어의자료형, 연산자, 제어문사용방법 GangneungWonju

More information