일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- C언어 # 핵심 정리
- HTML #핵심정리
- C++ 언어 # 핵심정리
- Hacking #Baic
- C언어 #핵심정리
- C언어 # 부록
- C언어 #부록
- shell_script
- PHP #핵심정리
- C++ 언어 #핵심정리
- C++ 언어 # 핵심 정리
- MySQL #핵심정리
- Bandit
- Today
- Total
목록C Language Basic (48)
cCcode

1. Boolean 자료형 사용하기 Boolean 자료형은 논리 자료형이라고 불리며 참과 거짓을 나타냅니다. 다만, C언어에선 Boolean 자료형이 없어 거짓을 0으로 참을 0이 아닌 정수로 표현합니다. 그래서 우리는 파일을 이용해 true를 참으로, false를 거짓으로 나타낼 수 있습니다. 결과를 통해 Boolean 자료형은 1byte로 그전까지 참, 거짓을 구분할 때 사용했던 int 자료형과는 크기가 다름을 알 수 있습니다. 그리고 printf 함수로 결과를 출력할 때는 %d 서식지정자를 사용합니다.(따로 정의된 전용 서식지정자는 없습니다.) 2. 비트 연산자 사용하기 지금까지는 자료형을 구분할 때 byte 단위로 구분해 사용했습니다. 비트 연산자는 byte 단위보다 더 작은 bit 단위로 연산하..

1. if 조건문 사용하기 우선 if 조건문에서 비교할 때 비교할 변수, 값은 자료형을 맞춰주어야 합니다. if 조건문 뒤에 오는 코드가 한 줄 이라면 중괄호를 생략할 수 있습니다. if 조건문은 분기(branch)를 위한 문법입니다. 즉, 분기는 [둘 이상으로 갈라지다]라는 뜻으로 프로그램의 흐름을 둘 이상으로 나누는 것을 말합니다. 마치 여러 갈래로 나뉘어진 오솔 길 같지 않나요..? 이처럼 분기를 나누기 위해 if 말고도 else if 와 else 을 사용할 수 있는데 else if 와 else은 단독으로 사용할 수 없습니다. 위의 코드처럼 두 가지의 갈래로 분기할 때는 일반적으로 if (참) 과 else (거짓) = (if 조건을 만족하지 않은 나머지 값들)을 사용합니다. 사실 if - else ..

1. 자료형의 확장과 축소 정수와 실수 간의 연산 결과는 실수가 나옵니다. 왜냐하면 실수가 정수보다 표현 범위가 넓기 때문이죠. C언어에서는 다른 자료형을 함께 사용한다면 컴파일러에서 암시적 형 변환(implicit type conversion)을 하게 되는데, 자료형의 크기가 큰 (= 표현 범위가 넓은) 쪽으로 자동 변환됩니다. 이를 형 확장(type promotion)이라고 합니다. ex) 크기가 다른 int(4byte)자료형과 long long(8byte)자료형을 함께 연산한다면 두 자료형 모두 정수 자료형이지만, int 보다 long long이 표현범위가 넓기 때문에 long long으로 변환됩니다. 만약 실수 → 정수처럼 표현범위가 좁은 쪽으로 변환하게 되면 값의 손실이 생깁니다. 이처럼 자료형..

1. 입력 값을 받아오기 scanf 함수를 통해 사용자의 입력을 받을 수 있습니다. ◎ scanf(서식, 변수의 주소); - 해당 함수가 성공하면 가져온 값의 개수를 반환하고 실패하면 EOF(-1)을 반환합니다. scanf 함수는 나온 지 오래되었기 때문에 입력 값의 길이를 설정할 수 있는 기능이 없습니다. 따라서 일부 컴파일러에서는 scanf 함수를 사용하지 말라는 경고와 함께 컴파일 에러가 발생하는 데 현재 제가 사용하는 visual studio 라는 컴파일러 또한 안전상의 문제로 scanf 함수의 사용을 권하지 않습니다. 그래서 이럴 경우에는 어떻게 하냐..? 두 가지의 방법이 있습니다. 1) scanf_s 라는 컴파일러에서 제공하는 함수를 사용하는 방법 이 경우 정수를 입력할 때는 scanf 와 ..

1. 문자 자료형 사용하기 C언어에서는 정수 자료형인 char을 이용해 문자 한 개를 저장할 수 있습니다. 여기서 오해하면 안되는 게 이 char은 문자 자체를 저장하는 게 아닌 문자에 해당하는 정수 값을 저장하는겁니다. 이 정수 값들이 어떠한 문자들에 해당하는 지 표로 나타낸 규칙을 아스키(ASCII)코드라 부릅니다. 해당 내용은 아래를 참고해주세요. Decimal은 10진수를 의미하고, Hexadecimal는 16진수, char은 해당 정수에 할당된 문자라고 보시면 될겁니다. 10진수는 우리가 평소에 사용하는 숫자 체계와 같고 16진수는 16까지의 숫자를 사용하는 데 10까지는 표현방법이 동일하지만 11 - A, 12 - B 처럼 11부터는 알파벳을 사용해 표현합니다. 그래서 비슷하지만 다른 10진수..

1. 실수 자료형 사용하기 정말 큰 숫자나 정말 작은 숫자를 표기할 때는 지수 표기법(exponential notation)을 사용합니다. 1) 실수e+지수 : 실수 × 10의 거듭제곱입니다. ex) 2e+3이라면 2 × 10³[= 1000] = 2000 입니다. 2) 실수e-지수 : 실수 × (1 ÷ 10의 거듭 제곱)입니다. ex) 2e-2라면 2 × (1 ÷ 10)²[= 1 ÷ 100] = 0.02 입니다. 그리고 컴퓨터는 값을 0과 1(2진수)로 표현합니다. 그래서 실수도 0과 1(2진수)로 표현해야 하는데 이렇게 실수를 0과 1(2진수)로 표현하는 방식을 부동 소수점 방식이라고 합니다. 여기서 중요한 점은 기수가 2로 고정되어 있어 따로 저장되어 있지 않다는 점[컴퓨터는 저장할 때 2진수로 저장..

1. 자료형 크기 구하기 자료형의 크기를 Byte 단위로 구하기 위해 sizeof 연산자를 사용할 수 있습니다. sizeof 연산자는 sizeof 표현식 - sizeof(자료형) - sizeof(표현식) 와 같은 형식으로 표현할 수 있습니다. 일단 이 코드를 보시고 %zd 서식지정자가 뭐지..? 라는 의문이 드는 분도 계실텐데, 그런 의문을 가지셨다면 정말 대단한겁니다. 일단 간단히 설명해드리자면 %zd 서식지정자는 size_t형 변수를 출력할 때 지정해주는 서식지정자입니다. size_t 자료형은 부호 없는 정수 자료형으로 (long)unsigned int 와 의미가 같다고 보시면 될거에요. 그래서 흔히들 [이론상 가장 큰 크기를 담을 수 있는 unsigned 데이터 형]으로 정의되고 있답니다. 제가 s..

C언어를 정리하기 전 C언어가 무엇인지에 대해 간단히 설명하고 시작할게요. C언어는 무엇일까요..? C언어는 1972년 켄 톰슨과 데니스 리치가 벨 연구소에서 일할 당시 유닉스(Unix) 운영체제를 만들기 위해 고안한 프로그래밍 언어에요. 처음에 켄 톰슨이 BCPL언어를 용도에 맞게 고쳐서 B언어(벨 연구소의 첫 글자 B를 가져왔다고 하네요.)를 개발했습니다. 그 후 데니스 리치가 B언어를 개선하며 지금의 C언어가 탄생하게 된거죠. C언어는 이후에 개발 된 프로그래밍 언어들에도 직간접적인 영향을 주었는데 덕분에 C언어를 배우면 다른 언어들을 배울 때 큰 어려움 없이 배울 수 있는거랍니다. 하지만 프로그래밍을 처음 하시는 분들은 C언어를 힘들어하시더라고요. (물론 저도 그랬고요) 그래서 이 블로그를 보며 ..