1
컴퓨터의 메모리
휘발성 메모리 : 컴퓨터를 종료하면 데이터가날아감
ex) Ram
비 휘발성메모리 : 컴퓨터를 종료해도 데이터가 날아가지않음.
ex) Rom
2
Ram은 하드디스크나 CD에 비해 속도가 매우빠르다
이유 : Ram은 데이터에 랜덤하게 접근할 수있는데, 하드 디스크나 CD는 순차적으로 접근해야한다.
3
컴퓨터의 한개의 메모리 소자는 0혹은 1의 값을 보관할 수있음.
이 이진수 1자리를 가리켜 비트(Bit)라고함.
8bit = 1byte
Word(워드) = 컴퓨터에서 연산을 담당하는 레지스터의 크기
[32bit 컴퓨터 시절에는 1워드는 32bit 지금은 대다수가 64bit컴퓨터를 사용하므로 64bit가 1워드 =8byte가 됨 ]
4
int a;
a라는 변수를 우리가 쓰겟다고 컴퓨터에게 알리는것임. 이러한 문장이 없다면 우리가 x가 뭐고 y가 뭔지 알려주지도 않은 채, 친구에게 x + y가 얼마냐? 하고 물어보는 것과 같음.
5
a = 10;
a에 10을 집어넣는 다는 내용.
6
printf("a의 값은 : %d \n", a);
%d
%d는 출력되지않는데, %d는 a의값(정확히는 ""다음에 오는 첫 번째 변수 )을 10진수로 출력하라는 뜻입니다.
7
/* 변수 알아보기 */
#include <stdio.h>
int main() {
int a;
a = 127 ;
printf ( "a 의 값은 %d 진수로 %o 입니다. \n", 8, a);
printf (" a 의 값은 %d 진수로 %d 입니다. \n", 10, a);
printf (" a 의 값은 %d 진수로 %x 입니다. \n", 16, a);
return 0 ;
}
%o 와 %x 의 차이는 인자값을 출력하는 형식입니다.
%o는 a의 값을 8진수로 출력하라는 뜻이고, %x는 16진수로 출력하라는 뜻임.
8
/* 변수알아보기 3*/
#include <stdio.h>
int main () {
float a = 3.141592f ;
double b = 3.141592;
printf("a : %f \n", a );
printf("b : %f \n", b);
return 0 ;
)
float a = 3.141592f;
double b = 3.141592f;
float형 변수 a를 선언할때 숫자 뒤에 f를 붙이는 이유는 f 를 안붙이고
float a = 3.141592; 라고 하면 이를 double 형 으로 인식하여 문제가 생길수 있기때문에, float형이라는것을 확실히 표시해 주기 위해 f를 끝에 붙이는 것임.
정수의 자료형 integer , int , 0, -5, 213, 34... 등등 정수를 의미합니다.
실수의 자료형 float / double 3.14 , 2932.23, 13.233 등등 소수점이 있는 숫자, 실수를 의미합니다.
주의할사항은 printf에서 %f를 이용한 수를 출력할 때 다음과 같이 언제나 소수점을 뒤에 붙여 주어야한다는 점입니다.
pirntf("%f",1 );
을 하면 화면에 이상한 값이 나오지만
printf("%f", 1.0);
을 하면 화면에 제대로 1.0이 출력됩니다.
9
/* printf의 형식 */
#include <stdio.h>
int main() {
float a = 3.141592f;
double b = 3.141592;
int c = 123;
printf(" a : %.2f \n" a);
printf(" c : %5d \n", c);
printf("b : %6.3f \n",b);
return 0;
}
printf("a : %2.f \n" a);
%2.f는 무조건 소수점 이하 둘째 자리까지만 표시하라는 뜻임.
3.14152중 3.14 까지만 출력되고 나머지는 잘림
printf("c : %5d \n", c);
이번에는 %d가 아닌 %5d 입니다.(여기서.5가 아님을 주의 합시다.) 이말은 숫자의 자리수를 5로 맞추라는 것입니다.
따라서 123을 표시할때 5자리를 맞추어야 하므로 공백을 남기고 그뒤에 123을 표시했습니다.
printf("b : %6.3f \n", b);
전체 자리수는 6자리로 맞추되, 소수점 이하 3번째 자리 까지만 표시한다는 뜻임.
10
변수 작명시 주의사항
- 숫자가 앞에 위치하면 안됩니다. 그러나 중간이나 뒤는 괜찮습니다.
- 변수명은 오직 영어, 숫자, _ 로 만 구성되어 있어야 합니다.
- 변수의 이름에 띄어쓰기가 있으면 안됩니다.
- 변수의 이름이 C언어 예약어 이면 안됩니다. 보통 예약어를 쓰면 에디터에서 다른 색깔로 표시되어 예약어를 썻는지 안썻는지 알 수있습니다.
- C언어는 대소문자를 구분합니다. (이를 영어오 case senstive하다고 합니다,)
따라서, VARiable 과 Variable는 다른 변수입니다.