Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
1.2 식별자
식별자(identifier)
사용자가 필요에 따라 이름을 만들어 사용하는 단어
대표적으로 변수명이나 함수명 등이 해당됨.
식별자 작성 규칙
영문 대문자와 소문자(A~Z, a~z), 숫자(0~9), 밑줄( _ )을 포함한 63개의 문자로
만 구성
첫 글자로 숫자를 사용할 수 없음.
대문자와 소문자를 구별하며, 키워드를 사용할 수 없음.
Page 5
1.2 식별자
식별자의 예
올바른 예 : data7, _data, _score, iValue, m_7Name, SEOUL
잘못된 예 : 1data, -data, int, _@mail, #count, double
Page 6
2.1 상수
상수(constant)
프로그램이 실행되어 끝날 때까지 값이 변하지 않는 자료
문자 1개는 ‘ ’ 를 사용해서 표현하고 문자열은 “ ” 를 사용해서 표현
기호 상수는 전처리문인 #define을 이용하여 상수명과 값을 지정한 후 사용
Page 7
2.2 변수
변수(variable)
프로그램에서 자료 값을 임시로 저장하는 장소
값이 계속 변할 수 있음.
변수 선언
이름이 age인 정수형 변수 1개를 선언한다는 의미
주기억장치에 age라는 정수형 크기의 메모리가 할당
Page 8
int age;자료형 변수명;
2.2 변수
변수의 초기화
선언된 변수에 처음으로 값을 저장하는 것
초깃값이 저장되기 전에는 사용자가 알 수 없는 무의미한 값(dummy)이 저장됨.
변숫값을 바꾸는 방법
Page 9
int age = 20;age = 22;
2.2 변수
Page 11
01 #include <stdio.h>0203 int main(void)04 {05 int num1 = 10, num2 = 5;0607 printf("num1의 초깃값은 %d이다.\n", num1);08 printf("num2의 초깃값은 %d이다.\n", num2);0910 // num2의 값에 새로운 정숫값을 저장한다.11 num2 = 20;12 // num1의 값에 새로운 정숫값을 저장한다.13 num1 = 30;1415 printf("num1의 새로운 값은 %d이다.\n", num1);16 printf("num2의 새로운 값은 %d이다.\n", num2);17 return 0;18 }
3.1 정수형
정수형
소수점이 없는 숫자
정수형 상수에는 양수, 0, 음수가 있으며 양수, 음수에 따라 +, - 부호 사용 가능
오버플로(overflow) : 허용 범위를 넘는 값을 변수에 저장할 경우 사용자가 의
도한 값이 아닌 전혀 다른 값이 저장되는 현상
Page 13
3.1 정수형
Page 14
01 #include <stdio.h>02 // pow( ) 함수를 사용하기 위해 <math.h> 파일을 포함한다.03 #include <math.h>0405 int main(void)06 {07 short a, b;08 unsigned short c;0910 a = pow(2, 15) - 1; // 2^15 - 1 = 3276711 b = pow(2, 15); // 2^15 = 3276812 c = pow(2, 15);1314 printf("a의 값은 %d이다.\n", a);15 printf("b의 값은 %d이다.\n", b);16 printf("c의 값은 %d이다.\n", c);1718 return 0;19 }
3.2 실수형
Page 16
01 #include <stdio.h>0203 int main(void)04 {05 float a = 12.34;06 double b = 56.78;0708 printf("float형 a의 값은 %f이다.\n", a);09 printf("double형 b의 값은 %lf이다.\n", b);1011 // 소수점 자릿수를 조정하면12 printf("소수점 자릿수를 조정한 후의 값\n");13 printf("float형 a의 값은 %.2f이다.\n", a);14 printf("double형 b의 값은 %.3lf이다.\n", b);1516 return 0;17 }
3.2 실수형
실수형의 출력값 조정
출력 폭은 정수형과 작성 방법 동일
소수점 다음 자릿수 추가로 표시 가능(아무 표시가 없으면 기본적으로 소수점
다음 여섯 자리까지 출력)
Page 19
3.2 실수형
Page 20
01 #include <stdio.h>0203 int main(void)04 {05 int a = 20;06 float b = 5.05F, c = 12000.149F;0708 printf("정수형의 다양한 출력 형태\n\n");0910 printf("1)%d\n\n", a);11 printf("2)%6d\n\n", a);12 printf("3)%+6d\n\n", a);13 printf("4)%-6d\n\n", a);1415 printf("실수형의 다양한 출력 형태\n\n");1617 printf("1)%f\n\n", b);18 printf("2)%6.1f\n\n", b);19 printf("3)%+6.1f\n\n", b);20 printf("4)%6f\n\n", c);2122 return 0;23 }
3.3 문자형
문자형
문자 1개를 작은따옴표( ‘ ’ ) 안에 넣어서 사용하는 자료형
작은따옴표 안에 있는 문자를 데이터 1개로 취급하며, 8비트(1바이트)로 처리
내부적인 문자 코드(아스키ASCII나 EBCDIC 코드)에 상응하는 숫자로 바꿔 기억
자료형은 char이고, 0~127의 부호 없는 정수에 문자를 정의
Page 21
3.3 문자형
Page 24
01 #include <stdio.h>0203 int main(void)04 {05 printf("소문자 a의 ASCII 값은 %d이다.\n", 'a');06 printf("소문자 b의 ASCII 값은 %d이다.\n", 'b');07 printf("대문자 A의 ASCII 값은 %d이다.\n", 'A');08 printf("대문자 B의 ASCII 값은 %d이다.\n\n", 'B');0910 printf("ASCII 97은 %c다.\n", 97);11 printf("ASCII 98은 %c다.\n", 98);12 printf("ASCII 65는 %c다.\n", 65);13 printf("ASCII 66은 %c다.\n", 66);1415 return 0;16 }
4.1 형 변환
형 변환
자료형을 바꾸는 것
묵시적 형 변환과 명시적 형 변환이 있음.
① 묵시적 형 변환
컴파일러가 자동으로 수행
데이터의 값을 잃지 않는 방향으로 이루어짐.
묵시적 형 변환의 예
Page 25
char → short → int → unsigned → long → float → double
int a = 10;float b = 20.05, c;c = a + b; // a = 10.00이 되는데, 이는 정수형이 실수형으로 자동 변환된 것이다.
4.1 형 변환
② 명시적 형 변환
사용자가 강제로 지정
캐스팅 연산자를 사용하여 형 변환
연산식 앞에 ( )를 붙이고 ( ) 안에는 변환하는 자료형을 넣음.
명시적 형 변환의 예
Page 26
float x;float y = 14.66;x = (int) y / 2; // y = 14가 되는데, 이는 실수형이 정수형으로 강제 변환된 것.
4.1 형 변환
Page 27
01 #include <stdio.h>0203 int main(void)04 {05 int a = 10, b = 20, c;06 float d = 5.6, e = 8.4, f;0708 c = d + e;09 printf("c = d + e의 연산결과는 %.2f이다.\n", (float)c);1011 f = d + e;12 printf("f = d + e의 연산결과는 %.2f이다.\n", f);1314 f = d + (int)e;15 printf("f = d + (int)e의 연산결과는 %.2f이다.\n", f);1617 return 0;18 }