Download presentation
Presentation is loading. Please wait.
1
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의
2
키워드와 식별자 키워드 auto do goto signed unsigned break double if sizeof void
case else int static volatile char enum long struct while const extern register switch continue float return typedef default for short union
3
키워드와 식별자 식별자 키워드이외에 프로그램에서 사용자가 필요에 따라 이름을 만들어 사용하는 단어들이 있는데
키워드이외에 프로그램에서 사용자가 필요에 따라 이름을 만들어 사용하는 단어들이 있는데 이것을 식별자라고 한다. 식별자를 구성하는 문자로는 영문 대소문자(A~Z, a~z), 숫자(0~9), 밑줄(_)의 63개 뿐이다. 식별자의 첫 글자로 숫자를 사용할 수 없다. 대소문자를 구별하며 키워드는 사용할 수 없다.
4
상수와 변수 02 상수 종 류 사용 예 정수형 상수 실수형 상수 50, 100, -120 3.141592, 2.88e-4
문자열 상수 "Hello, World" 문자 상수 'b', 'z', '6' 기호 상수 #define PI
5
상수와 변수 02 변수 int age; 자료유형 변수이름;
상수는 한 번 입력한 값이 프로그램의 종료 시까지 동일한 값이고, 이에 비해서 변수는 값이 계속 변할 수 있는 값이다. 변수는 프로그램에서 임시로 자료 값을 저장할 수 있는 저장 장소이다. 변수를 만들면 변수에 값을 저장할 수 있고 이 값은 계속 바뀔 수 있다. 변수를 만들기 위해서는 변수 선언을 하여야 한다. 변수 선언의 예 int age; 자료유형 변수이름;
6
상수와 변수 02 변수의 초기화 두 개의 변수를 따로 따로 선언할 경우 선언과 동시에 초기화 하는 방법 int a = 10;
int a = 10; int b = 20; 두 개의 변수를 동시에 선언할 경우 int a = 10, b = 20; 선언과 동시에 초기화 하는 방법 int age = 20; 선언 후에 초기화 하는 방법 int age ; age = 20;
7
【예제 3-1】Ex1.c 02 변수의 초기값 예제 01 #include <stdio.h>
02 int main(void) 03 { 04 int num1= 10, num2; 05 printf("num1의 초기 값은 %d이다\n", num1); 06 printf("num2의 초기 값은 %d이다\n", num2); 07 num2 = 20; 08 num1 = 30; 09 printf("num1의 새로운 값은 %d이다\n", num1); 10 printf("num2의 새로운 값은 %d이다\n", num2); 11 return 0; 12 } 표준입력 스트림
8
여러 가지 데이터 형 03
9
여러 가지 데이터 형 03 데이터의 허용범위 정수형 바이트 수 허용범위 (signed) short (int) 2
허용범위 (signed) short (int) 2 -215 ∼ unsigned short (int) 0 ∼ (signed) int 4 -231 ∼ unsinged int 0 ∼ long (int) unsinged long (int)
10
【예제 3-2】Ex2.c 02 오버플로우 예제 01 #include <stdio.h>
오버플로우 예제 01 #include <stdio.h> 02 #include <math.h> 03 int main(void) 04 { 05 short a, b ; 06 unsigned short c; 07 a = pow(2, 15) - 1; // = 32767 08 b = pow(2, 15); // 215 = 32768 09 c = pow(2, 15); 10 printf("a의 값은 %d이다\n", a); 11 printf("b의 값은 %d이다\n", b); 12 printf("c의 값은 %d이다\n", c); 13 return 0; 14 } 표준입력 스트림
11
【예제 3-3】Ex3.c 02 실수형 자료의 초기값 예제 01 #include <stdio.h>
02 int main(void) 03 { 04 float a; 05 double b; a = 12.34; 07 b = 56.78; printf("float 형 a의 값은 %f 이다.\n", a); 09 printf("double 형 b의 값은 %lf 이다.\n", b); printf("소수점 자리수를 조정한 후의 값\n"); 11 printf("float 형 a의 값은 %.2f 이다.\n", a); 12 printf("double 형 b의 값은 %.3lf 이다.\n", b); return 0; 14 } 표준입력 스트림
12
【예제 3-5】Ex5.c 02 문자형 자료의 초기값 예제 01 #include <stdio.h>
02 int main(void) 03 { 04 printf("소문자 a 의 ASCII 값은 %d이다.\n", 'a'); 05 printf("소문자 b 의 ASCII 값은 %d이다.\n", 'b'); 06 printf("대문자 A 의 ASCII 값은 %d이다.\n", 'A'); 07 printf("대문자 B 의 ASCII 값은 %d이다.\n", 'B'); printf("ASCII 97은 %c이다.\n", 97); 09 printf("ASCII 98은 %c이다.\n", 98); 10 printf("ASCII 65는 %c이다.\n", 65); 11 printf("ASCII 66은 %c이다.\n", 66); 12 return 0; 13 } 표준입력 스트림
13
형변환 04 자동 형변환의 방향 자동 형변환의 예 강제 형변환의 예
char → short → int → unsinged → long → float → double 자동 형변환의 예 int a = 10; float b = 20.05, c ; c = a + b; // a = 10.00으로 실수형으로 자동 변환됨 이럴 경우 a가 정수형이고 b가 실수형이므로 데이터가 손실되지 않으면서 연산하기 위해 a의 형이 자동적으로 float형으로 바뀌게 된다. 강제 형변환의 예 float x; float y = 14.66; x = (int) y / 2; 이 경우에 실수형 y를 int형으로 바꾸지 않으면 x에는 7.33이 저장되나, y를 정수형으로 캐스팅 하였기에 먼저 y값이 14로 바뀌어 x에 7.00이 저장된다.
14
【예제 3-6】Ex6.c 02 문자형 자료의 초기값 예제 01 #include <stdio.h>
02 int main(void) 03 { 04 int a = 10, b = 20, c; 05 float d = 5.6, e = 8.4, f; 06 c = d + e; 07 printf("c = d + e의 연산 결과는 %.2f이다.\n", (float)c); 08 f = d + e; 09 printf("f = d + e의 연산 결과는 %.2f이다.\n", f); 10 f = d + (int)e; 11 printf("f = d + (int)e의 연산 결과는 %.2f이다.\n", f); 12 return 0; 13 }
15
자료형의 재정의 05 재정의 방법 typedef 기본 자료형 재정의 자료명; 사용 예 :
① typedef unsigned char BYTE; BYTE a; ② typedef int integer; integer b;
16
【예제 3-7】Ex7.c 02 자료형의 재정의 예제 01 #include <stdio.h>
02 typedef int integer; 03 typedef unsigned int u_int; 04 int main(void) 05 { 06 int a = 10, c, e; 07 integer b = 20; 08 u_int d; 09 c = a + b; 10 printf("변수 c 는 %d이다.\n", c); 11 e = a + d; 12 printf("변수 e 는 %d이다.\n", e); 13 return 0; 14 } 표준입력 스트림
Similar presentations