printf("Global Korea\n"); C기본문법Basic Syntax 토큰Token 토큰은 원시 소스코드를 컴파일하는 과정에서 문법적 의미를 분류하는 최소단위 그 종류로는 키워드, 식별자, 상수, 변수, 연산자 등이 있다 예시 문장 설 명 printf("Global Korea\n"); - 예시에서 제시한 문장은 총 5개의 토큰으로 구성 되어 있다. 1. printf 2. ( 3. "Global Korea\n" 4. ) 5. ; 도서출판 한산
C기본문법Basic Syntax 키워드keyword 키워드는 예약어reserved word라고도 한다 변수, 함수, 식별자의 이름으로 사용할 수 없다 C언어에서 정의된 키워드는 다음과 같다 키워드의 종류 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 도서출판 한산
C기본문법Basic Syntax 식별자identifier 식별자는 변수, 배열, 함수 이름으로 사용 프로그래머에 의해서 의미를 부여받게 된다 다음은 식별자를 만들 때 알아두어야 할 주의사항을 나타낸다 ❏식별자의 이름은 문자, 숫자, 키보드의 기호 중에 밑줄표Underscore/Underline인(_)를 조합하여 구성된다. ❏문자는 알파벳alphabet의 대문자와 소문자를 사용한다. 이때 대문자와 소문자는 서로 다른 문자로 인식한다. ❏숫자는 0부터 9까지를 사용하며, 식별자 이름의 선두에는 숫자를 사용할 수 없다. ❏키워드의 명칭은 식별자로 사용할 수 없다. ❏식별자의 이름은 반드시 알파벳(대/소문자) 또는 기호의 밑줄표(_)만으로 시작한다. 도서출판 한산
C기본문법Basic Syntax 식별자identifier의 예시 도서출판 한산 올바른 식별자의 사용 예 설 명 A 알파벳의 대문자 사용가능 sum 알파벳의 소문자 사용가능 TotalNumber 알파벳의 대문자와 소문자의 조합으로 사용가능 First_number 밑줄표는 어느 위치에도 사용가능 _totalline avg7 숫자가 선두 위치가 아닌 문자 뒤에 위치하므로 사용가능 avg_24 숫자가 선두 위치가 아닌 밑줄표 뒤에 위치하므로 사용가능 도서출판 한산
C기본문법Basic Syntax 식별자identifier의 예시 도서출판 한산 잘못된 식별자의 사용 예 설 명 7A 이름의 선두 위치에 숫자는 사용불가 sum# 식별자 이름에 밑줄표(_) 기호 이외는 사용불가 Total+Number First number 하나의 식별자 이름에 공백은 사용불가 124 %avg7 도서출판 한산
C기본문법Basic Syntax 변수variable 선언 변수란 데이터가 대입되어 저장될 공간의 이름으로 프로그래머에 의해 임의적으로 만들어 사용 변수 선언 시에 주의사항은 식별자의 주의사항과 같다 다음은 변수의 사용 예를 나타낸다 변수 선언의 형식 변수 선언의 예 설 명 자료형 ︹ 변수이름; - [정수형]: int x; - 변수 x를 정수형로 선언함으로서 x에 저장되는 데이터는 정수여야 한다. - [실수형]: float x, y; double x, y; - 변수 x와 y를 실수형로 선언함으로서 x와 y에 저장되는 데이터는 실수여야 한다. - 동일한 자료형인 변수들에 대해서는 콤마comma를 사용하여 구분한다. - [문자형]: char x, y; - 변수 x와 y를 문자형로 선언함으로서 x와 y에 저장되는 데이터는 문자여야 한다. 도서출판 한산
C기본문법Basic Syntax 표준 입력Input/출력Output 함수 입력이란 프로그램에 데이터를 공급하는 것을 의미 출력이란 컴퓨터 외부장치인 모니터 또는 프린터를 통해 데이터를 표시한다는 것을 의미 C언어에서 표준 입출력 함수는 헤더 파일인 stdio.h에 정의되어 있기 때문에 원시 소스코드의 제일 윗줄에 #include<stdio.h>를 선언해야 한다 표준 입력과 출력함수에서 사용되고 있는 입/출력 형식 지정문자열은 다음과 같다 도서출판 한산
C기본문법Basic Syntax 입/출력 형식 지정문자열 도서출판 한산 기본 자료형 자료형 입/출력 형식 지정 문자열 의 미 정수Integer int %d 입력 10진수 정수를 입력 받는다. 출력 10진수 정수를 출력한다. 실수Floating Point float %f 소수점이 있는 실수로 입력 받는다. [4byte공간 사용] 소수점이 있는 실수로 출력한다. double %lf [8byte공간 사용] 문자Character char %c 한 개의 문자를 입력 받는다. 한 개의 문자로 출력한다. 문자열String %s 문자열을 입력 받는다. 문자열로 출력한다. 도서출판 한산
C기본문법Basic Syntax 표준 출력 함수 ❏ 출력 문법의 형식1 printf함수는 출력장치인 모니터를 이용하여 정수, 실수, 문자, 문자열의 데이터 값을 해당 데이터 형식에 맞추어 출력하는 함수를 의미 printf의 맨 마지막 문자인 f는 format의 선두 문자 printf함수의 문법과 출력 형식지정 문자열을 정리하면 다음과 같이 2 가지의 문법 형식으로 나누어 생각할 수 있다 ❏ 출력 문법의 형식1 문 법 형식 1 printf("출력 문자열"); printf함수 내의 큰 따옴표quotation marks의 기호인 (" ") 사이에 기입된 내용 중에 출력 형식지정 문자열이 없는 경우는 단순히 출력 문자열의 내용이 화면에 표시되게 된다 도서출판 한산
C기본문법Basic Syntax 도서출판 한산 원시 소스코드 흐름도 printf("Power C ∖n"); 설 명 출 력 도서출판 한산
C기본문법Basic Syntax ❏ 출력 문법의 형식2 문 법 형식 2 printf("출력 형식지정 문자열", 인자 리스트); printf함수 내의 큰 따옴표의 기호인 (" ") 사이에 출력 형식지정 문자열이 있는 경우는 출력 형식지정 문자열이 인자에 저장된 값을 받아 출력하는 형태 자료형에 따라서 출력 형식지정 문자열은 다르게 표현된다 각각의 자료형에 따른 출력 형식지정 문자열들의 사용 방법에 대해서 살펴보도록 하자 도서출판 한산
C기본문법Basic Syntax ❏ 정수형의 출력 예제 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 정수형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: int num1; // 변수 num1,num2,num3를 7: int num2; // 자료형이 정수형인 8: int num3; // int로 선언했다. 9: 10: num1=30; // 변수 값 30을 저장 11: num2=70; // 변수 값 70을 저장 12: 13: num3=num1+num2; // num1과 num2의 총 합의 14: // 값을 num3에 저장 15: 16: printf("%d+%d=%d ∖n", num1, num2, num3); 17; } 도서출판 한산
C기본문법Basic Syntax ❏ 정수형의 출력 예제 도서출판 한산
C기본문법Basic Syntax ❏ 실수형의 출력 예제 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 실수형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: float num1; // 변수 num1,num2,num3를 7: float num2; // 자료형이 실수형인 8: float num3; // float로 선언했다. 9: 10: num1=3.5; // 변수 값 3.5를 저장 11: num2=6.5; // 변수 값 6.5를 저장 12: 13: num3=num1+num2; // num1과 num2의 총 합의 14: // 값을 num3에 저장 15: 16: printf("%f+%f=%f ∖n", num1, num2, num3); 17: } 도서출판 한산
C기본문법Basic Syntax ❏ 실수형의 출력 예제 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 출력 예제[한 개의 문자 경우] 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 문자형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char num1; // 변수 num1,num2,num3를 7: char num2; // 자료형이 문자형인 8: char num3; // char로 선언했다. 9: 10: num1='S'; // 변수 값 S 문자를 저장 11: num2='u'; // 변수 값 u 문자를 저장 12: num3='m'; // 변수 값 m 문자를 저장 13: 14: printf("%c%c%c ∖n",num1,num2,num3); 15: } 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 출력 예제[한 개의 문자 경우] 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 출력 예제[문자열의 경우] 도서출판 한산 1: /* 자료형이 문자형으로 선언 */ 원시 소스코드 흐름도 1: /* 자료형이 문자형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char *num1="Power"; // 포인터 선언 7: char num2[]="C Language"; // 배열 선언 8: char num3 ="impossible"; // 잘못된 선언 9: 10: printf("%s %s∖n",num1,num2); 11: } 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 출력 예제[문자열의 경우] 도서출판 한산
C기본문법Basic Syntax 표준 입력 함수 ❏ 입력 문법의 형식 표준 입력함수인 scanf는 키보드keyboard를 통해서 정수, 실수, 문자, 문자열의 데이터 값을 해당 데이터 형식에 맞추어 입력받는 함수를 의미 printf와 마찬가지로 맨 마지막 문자인 f는 format의 선두 문자 키보드를 통해서 데이터를 입력받는 경우에 있어서 흐름도 상에서의 기호는 를 사용하게 된다 ❏ 입력 문법의 형식 문 법 형식 scanf("입력 형식지정 문자열", &인자 리스트); scanf함수를 이용하여 각각의 데이터들을 키보드로부터 입력받는 경우는 인자 리스트 앞에 엠퍼센트ampersand 기호인 & 를 붙여 입력 데이터를 저장하게 된다 엠퍼센트 기호는 인자들의 주소address를 의미 도서출판 한산
C기본문법Basic Syntax 입력 데이터의 종류 별로 분류하여 scanf함수를 이용하는 방법 도서출판 한산 기본 자료형 자료형 이름 입력 형식 변수 선언 키보드를 통한 데이터 입력의 사용 예 정수 int %d int a; scanf("%d", &a); 변수 a의 주소를 이용하여 변수 a에 정수 값을 입력받는다. 실수 float %f float a; scanf("%f", &a); 변수 a의 주소를 이용하여 변수 a에 실수 값을 입력받는다. double %lf double a; scanf("%lf", &a); 문자 char %c char a; scanf("%c", &a); 변수 a의 주소를 이용하여 변수 a에 한 개의 문자를 입력받는다. 문자열 %s char a[]; scanf("%s", a); 문자열도 마찬가지로 주소를 이용하여 문자열 데이터를 입력받는다. 이때 scanf 내의 a는 변수 이름의 의미가 아니라 선두/대표 어드레스(주소)를 뜻한다. 도서출판 한산
C기본문법Basic Syntax ❏ 정수형의 입력 예제 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 정수형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: int num1; // 변수 num1,num2,num3를 7: int num2; // 자료형이 정수형인 8: int num3; // int로 선언했다. 9: 10: scanf("%d",&num1); // 키보드를 통해서 11: scanf("%d",&num2); // 정수 값을 입력 12: 13: num3=num1+num2; // num1과 num2의 총 합의 14: // 값을 num3에 저장 15: 16: printf("%d+%d=%d ∖n", num1, num2, num3); 17; } 도서출판 한산
C기본문법Basic Syntax ❏ 정수형의 입력 예제 도서출판 한산
C기본문법Basic Syntax ❏ 실수형의 입력 예제 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 실수형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: float num1; // 변수 num1,num2,num3를 7: float num2; // 자료형이 실수형인 8: float num3; // float로 선언했다. 9: 10: scanf("%f",&num1); // 키보드를 통해서 11: scanf("%f",&num2); // 실수 값을 입력 12: 13: num3=num1+num2; // num1과 num2의 총 합의 14: // 값을 num3에 저장 15: 16: printf("%f+%f=%f ∖n", num1, num2, num3); 17; } 도서출판 한산
C기본문법Basic Syntax ❏ 실수형의 입력 예제 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 입력 예제[한 개의 문자 경우] 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 문자형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char num1; // 변수 num1,num2,num3를 7: char num2; // 자료형이 문자형인 8: char num3; // char로 선언했다. 9: 10: scanf("%c %c %c",&num1,&num2,&num3); 11: 12: printf("%c%c%c ∖n",num1,num2,num3); 13: } 도서출판 한산
C기본문법Basic Syntax ❏ 문자형의 입력 예제[한 개의 문자 경우] 도서출판 한산
C기본문법Basic Syntax ❏ 문자열 입력 예제[문자열의 경우] 도서출판 한산 원시 소스코드 흐름도 1: /* 자료형이 문자형으로 선언 */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char num1[15]; // 배열로 선언 7: 8: scanf("%s",num1); // 키보드를 통한 9: // 문자열을 입력 10: printf("%s∖n",num1); 11: } 도서출판 한산
C기본문법Basic Syntax ❏ 문자열 입력 예제[문자열의 경우] 배열의 이름인 a는 배열의 첫 번째 원소가 있는 주소 배열 원소 a[0] a[1] a[2] a[3] 데이터 data1 data2 data3 data4 주 소 &a[0] &a[1] &a[2] &a[3] a a+1 a+2 a+3 배열의 이름인 a는 배열의 첫 번째 원소가 있는 주소 &a[0]를 가리킨다. 즉, 배열의 이름인 a와 첫 번째 주소인 a[0]는 동일한 데이터인 data1의 값을 취한다. 여기서 변수 a[0]의 첫 번째 주소인 &a[0]를 선두/대표 어드레스라고 한다. 도서출판 한산
C기본문법Basic Syntax 그 밖의 입•출력 함수 다양한 자료형을 입력하는 scanf함수, 다양한 자료형을 출력하는 printf함수 이외에도 표준 입•출력 헤더파일을 선언하지 않으면 사용할 수 없는 또 다른 표준 입•출력 함수에 대해서 나타낸다 기능 분류 표준 입•출력 함수 형 식 한 문자 입력 getchar 변수=getchar(); 한 문자 출력 putchar putchar(변수); 문자열 입력 gets gets(변수); 문자열 출력 puts puts(변수); 도서출판 한산
C기본문법Basic Syntax getchar함수 예제 도서출판 한산 1: /* 한 문자 입력을 위한 getchar() */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: int a; // int a; 대신에 char a;로 선언해도 된다. 7: 8: printf("한 문자를 입력하세요:∖n"); 9: a=getchar(); // 키보드를 통해 입력된 한 개의 문자는 10: // 변수 a에 저장된다. 11: printf("%c∖n", a); // 변수 a에 저장된 문자를 모니터에 출력된다. 12: } 도서출판 한산
C기본문법Basic Syntax getchar함수 예제 흐름도 출 력 도서출판 한산
C기본문법Basic Syntax putchar 함수 예제 도서출판 한산 1: /* 한 문자 출력을 위한 putchar() */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char a; // 변수 a에 한 문자를 입력 할 것이므로 7: // 자료형은 char로 지정. 8: printf("한 문자를 입력하세요:∖n"); 9: a=getchar(); // 키보드를 통해 한 개의 문자 입력. 10: putchar(a); // 변수 a를 호출하여 저장된 입력 값을 모니터에 출력. 11: printf("∖n"); // 한 줄 개행시킴. 12: } 도서출판 한산
C기본문법Basic Syntax putchar 함수 예제 흐름도 출 력 도서출판 한산
C기본문법Basic Syntax gets함수 예제 도서출판 한산 1: /* 문자열 입력을 위한 gets() */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char a[15]; // 변수 a에 문자열을 입력할 것이므로 자료형은 char로 7: // 지정하고 변수 a는 배열로 선언한다. 8: printf("문자열을 입력하세요:∖n"); 9: gets(a); // 키보드를 통해 문자열을 입력한다. 10: 11: printf("%s∖n",a); // 문자열을 출력하므로 출력 지정문자열은 %s로 지정. 12: } 도서출판 한산
C기본문법Basic Syntax gets함수 예제 흐름도 출 력 도서출판 한산
C기본문법Basic Syntax puts함수 예제 도서출판 한산 1: /* 문자열 입력을 위한 gets() */ 2: #include <stdio.h> 3: 4: main( ) 5: { 6: char a[15]; // 변수 a에 문자열을 입력할 것이므로 자료형은 char로 7: // 지정하고 변수 a는 배열로 선언한다. 8: printf("문자열을 입력하세요:∖n"); 9: gets(a); // 키보드를 통해 문자열을 입력한다. 10: puts(a); // 변수 a에 입력된 문자열을 모니터에 출력함과 11: // 동시에 자동으로 한 줄 개행시킨다. 12: } 도서출판 한산
C기본문법Basic Syntax puts함수 예제 흐름도 출 력 도서출판 한산
Q&A Thank you. 도서출판 한산