C 언어/[책 정리] 혼자 공부하는 C언어
변수 (2)
자료형과 문자열 정수 자료형 변수 데이터를 저장하는 메모리의 한 공간이며 데이터 종류에 따라 다양한 형태를 사용한다. 자료형 (데이터형) 변수의 형태 데이터 종류에 따른 대표 자료형 #include int main(void) { char ch1 = 'A'; char ch2 = 65; printf("문자%c의 아스키 코드 값 : %d\n", ch1, ch1); printf("문자%d의 아스키 코드 값 : %c\n", ch2, ch2); return 0; } ==> 디버깅 창에서 보듯이 'A'나 65나 컴퓨터는 아스키 코드 값으로 해석하기 때문에 같은 값이 된다. 언제 어떤 자료형이 사용할지 고민할 때 1. 특별한 경우가 아니면 정수형은 int를 사용한다. ( 가장 빠르게 연산된다 ) 2. long형은 큰 ..
변수 (1)
변수 선언 방법 int a; 쓰레기값 변수를 선언하면 메모리에 저장공간이 생기는데 그 안에는 이전 프로그램에서 작업했던 값이 남아있다 ==> 즉 새 프로그램에서는 의미가 없는 값이다 이 값 때문에 오류가 생길수 있으므로 반드시 원하는 값으로 바꾸는 초기화 과정이 필요하다 a = 10; // a라는 저장공간에 10이라는 값을 초기화 해준것 = : 대입연산자 오른쪽 값을 왼쪽에 저장한다는 의미 ( 수학에서의 의미와 다름 ) 변수 선언과 대입 규칙 1. 중괄호의 블록({}) 안에 변수를 선언하며 선언한 위치부터 블록 끝까지 사용할 수 있다 2. 컴파일러에 따라 변수의 선언 위치가 제한될 수 있다 3. 변수의 자료형이 같으면 동시에 둘 이상의 변수를 선언할 수 있다 int a, b,c; 4. 대입 연산자(=)는..
상수와 데이터 표현 방법 (2)
상수, 정수 상수, 실수 상수가 컴파일된 후의 비트 형태 상수가 컴파일된 후의 비트 형태 상수란 그 값이 변하지 않는 불변량으로, 변수의 반대말이다. 아스키코드는 사람이 사용하는 기호를 컴퓨터 안에서 표현하는 방법에 대해 약속한 것이다 ( 컴퓨터가 우리가 작성한 코드를 이해하는 형태 ) 즉 우리가 소스코드에 문자 A를 작성하든 숫자 65를 작성하든 컴퓨터는 둘다 같은 형태로 번역한다 1바이트 (byte) = 8비트 (bit) 정수 상수가 컴파일된 후의 비트 형태 정수 상수는 양수, 음수, 0이 있다 양수의 변환 양의 정수를 컴파일하면 4바이트 크기의 2진수로 변환이 된다 0~2^8 - 1 ( 255) 까지 표현이 가능 표현할 수 있는 범위를 넘어가면 상수의 크기인 4바이트가 아닌 8바이트로 처리된다 ex..
상수와 데이터 표현 방법 (1)
정수, 실수, 문자와 문자열 상수 표현법 정수 상수 표현법 10진수, 8진수, 16진수 표를 보면 알 수 있듯이 10진수 10 = 8진수 012 = 16진수 0x0A = 2진수 1010 2진수 0과 1로만 표현해야 하므로 비효율적이다 C언어에서 진법 표현하기 8진수는 숫자 앞에 0 붙이기 16진수는 숫자 앞에 0x 붙이기 #include int main(void) { printf("%d\n", 12); printf("%d\n", 014); printf("%d\n", 0xc); return 0; } ==> 값은 모두 12로 같다. 10진수를 8진수 또는 16진수로 출력하는 방법 #include int main(void) { printf("%o\n", 12); //10진수 12를 8진수로 표현 printf(..
C 프로그램의 구조와 데이터 출력 방법 (2)
출력 함수 (printf) 와 제어 문자 출력 stdio.h standard input output ( 표준 입출력 ) 을 의미 C언어에서 기본으로 사용하는 입출력 함수가 들어가 있다. printf("문자열"); 문자열을 출력하는 함수 제어문자 소스코드 #include int main(void) { printf("%d\n", 10); printf("%lf\n", 3.4); printf("%.1lf\n", 3.45); printf("%.10lf\n", 3.4); printf("%d과 %d의 합은 %d입니다.\n", 10, 20, 10 + 20); printf("%.1lf - %.1lf = %.1lf\n", 3.4, 1.2, 3.4 - 1.2); return 0; } 실행결과 용어정리 문자 'a' 같은 한 ..
C 프로그램의 구조와 데이터 출력 방법 (1)
프로그램과 main 함수 구조 #include int main(void) { 10 + 20; return 0; } main 함수 구조 머리(head)와 몸통(body)로 이루어져 있다. 머리(head) int main(void) 몸통(body) { 10 + 20; return 0; } 코드 작성할때 규칙 세미콜론(;)을 사용하여 문장의 끝을 표시한다 한 줄에 한 문장씩 작성한다 일정한 간격으로 들여쓴다 ( 비쥬얼 스튜디오에서는 자동으로 4칸 들여쓰기를 해준다) 주석처리 // //부터 해당 줄의 끝까지 주석 처리 /* ~ */ /*과*/ 사이의 모든 내용을 주석 처리 단축키 ( Crtl + k + c ) 주석 해제 단축키 ( Crtl + k + u ) 용어정리 들여쓰기 문장을 쓸 때 문자열을 오른쪽으로 당..
C언어의 탄생
C언어의 장점 시스템 프로그래밍이 가능하다 운영체제를 개발할 목적으로 만든 언어이므로 하드웨어를 제어하는 시스템 프로그래밍이 가능하다 이식성을 갖춘 프로그램을 만들 수 있다 이식성 ( 다른 컴퓨터에서도 사용할 수 있는 프로그램 ), 표준을 지켜서 만들면 컴퓨터의 종류가 바뀌더라도 같은 프로그램을 계속 활용 가능 함수를 사용하여 개별 프로그래밍이 가능하다 컴파일 과정 3단계 ( 컴파일은 사실 3단계로 나뉘어져 있다! ) 1.전처리 ==> 전처리 지시자 ( #include ) 에 따라서 소스파일을 가공하는 과정 전처리 지시자는 외부에 있는 함수를 불러오는 역할 2.컴파일 ==> 전처리가 끝난 파일을 컴파일하면 개체파일이 된다. 개체파일은 CPU가 해석할 수 있는 명령어들로 이루어진 기계어 파일이어서 바로 실..