복습 내용은 아이티뱅크 수업을 바탕으로 합니다.
1. C언어 개론
1) 프로그래밍 언어: 사람과 컴파일러가 이해할 수 있는 약속된 형태의 언어를 의미한다.
2) 컴파일러: 프로그래밍 언어로 작성된 프로그램을, 컴퓨터가 알아들을 수 있는 기계어로 번역하는 역할
3) 기계어: 컴퓨터가 이해가능한 0과 1로 작성되어 있는 언어
4) C언어 역사
: 1971년 UNIX 개발 위해 Dennis Ritchie와 Ken Thompson이 만든 high-level 언어
: 메모리 접근성 때문에 low-level 언어의 특성도 가짐
: C언어의 구성이 CPU에 따라 나뉘지 않기 때문에 편해짐
5) C언어 장점
: 절차지향적, 이식성, 좋은 성능
2. 변수, 연산자
1) main함수는 반드시 정의되어야 함. 이것이 자동으로 호출되면서 프로그램이 실행되기 때문.
2) 표준함수: 기본적으로 제공되는 함수 (ex. printf)
3) 표준 라이브러리: 표준함수들의 모임
4) 함수: 기능은 {} 안에 표현, 이를 함수의 몸체라 한다.
5) #include <stdio.h>는 stdio.h 헤더 파일을 포함하라는 의미. #include는 전처리기(preprocessor)라고도 함
#include <stdio.h>
int main(void){
...
}
3. C언어 연산자
1) 변수 선언 시, 메모리 공간이 할당되고 이를 참조할 수 있음 - 변수의 이름 통해
2) 대입연산자 (=), 산술연산자 (+, *, -, /, %), 복합 대입 연산자 (+=, *=, -=, /=,%=), 증가/감소 연산자 (++a, a++, --a, a--), 관계연산자 (<, >, ==, !=, <=, >=), 논리 연산자 (&&, ||, !), 콤마 연산자 (, : "구분"을 목적으로 함)
3) 여러 변수 선언
int num1=1, num2=2;
4. 데이터 표현 방식의 이해
1) 컴퓨터 메모리 주소 값은 1바이트 당 1개의 주소 할당
2) N진수: N개의 값을 통해 정보를 표현
int a = 11; //10진수
int b = 0xB; //0x으로 시작하면 16진수
int c = 013; //0으로 시작 8진수
3) 정수 표현 방식
: 가장 왼쪽 비트 - MSB (Most Significant Bit), 부호를 나타내는 비트
: MSB 제외 나머지 비트는 크기를 표현
: 음의 정수 - 2의 보수 취함
: 실수 표현 - 지수와 가수 부분 나누어 표현.
5. 비트 연산자
1) & (AND)
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
2) | (OR)
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
3) ^ (XOR)
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
4) ~ (NOT)
5) << (왼쪽 이동)
6) >> (오른쪽 이동) - 왼쪽 비트에 0이 있는 경우, >> 연산의 결과 0이 채워질 지, 1이 채워질 지는 CPU에 따라서 다름. 따라서 호환성 문제 생길 수 있음
6. C언어 기본 자료형
1) 숫자
출처 - https://inging9731.tistory.com/34
+ unsigned char, short, int, long은 음수 표현 x, 0과 양의 정수만을 표현하여 표현 범위 넓힘
=> MSB도 크기 표현에 쓰이기 때문.
2) 문자
: ASCII (American Standard Code for Information Interchange) - 문자에 숫자 지정, 컴퓨터가 이해할 수 있도록
3) 리터럴 상수
: 선언되지 않은 (이름 x)숫자도 연산을 위해 메모리에 저장 필요
: 변경 안 되는 상수. 이들을 리터럴 상수라 함
EX. int add = 1 + 2;에서 1, 2를 리터럴 상수
4) 접미사 이용 자료형 변경 및 표현!
5) 심볼릭 상수
: 이름 지니는 상수
EX. const int SIZE = 5;
'학점은행제' 카테고리의 다른 글
[네트워크] 학습복습 - 통신의 개념, 컴퓨터 네트워크 역사, OSI7계층 (0) | 2021.05.24 |
---|---|
[컴퓨터시스템] 학습복습 - 유닉스/리눅스, 커널, 시스템 호출 (0) | 2021.05.22 |
[C언어 I] 학습복습 - 포인터, 포인터 연산 및 배열, 다중 포인터, 배열 포인터, 함수 포인터, 스트림, EOF, 문자열 입출력 함수 및 버퍼 (0) | 2021.05.22 |
[C 언어 I] 학습복습 - printf, scanf함수, 반복문, 조건식, 함수, 지역변수, 전역변수, register, 재귀함수, 배열 (0) | 2021.05.22 |
FFT (Fast Fourier Transform) 정리 (0) | 2021.05.21 |
댓글