본문 바로가기
학점은행제

[C 언어 I] 학습복습 - C언어 개론, 변수, 연산자, 데이터 표현, 기본 자료형

by 코곰 2021. 5. 20.

복습 내용은 아이티뱅크 수업을 바탕으로 합니다.

 

 

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의 보수 취함

: 실수 표현 - 지수와 가수 부분 나누어 표현.

http://tcpschool.com/c/c_refer_floatingPointNumber#:~:text=%EC%8B%A4%EC%88%98%EB%8A%94%20%EB%B3%B4%ED%86%B5%20%EC%A0%95%EC%88%98%EB%B6%80%EC%99%80,%EB%A5%BC%20%ED%91%9C%ED%98%84%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9E%85%EB%8B%88%EB%8B%A4.

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

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) 접미사 이용 자료형 변경 및 표현!

출처 - https://m.blog.naver.com/PostView.naver?blogId=lja3333&logNo=220854710778&proxyReferer=https%3A%2F%2Fwww.google.com%2F 

 

5) 심볼릭 상수

: 이름 지니는 상수

EX. const int SIZE = 5;

 

댓글