본문 바로가기

자린고비 독학하기/자린고비 코딩하기

C언어 - basic 01-10

반응형
  • 자바 -> C 언어 넘어가는 과정에서 기본 베이직 복습 / 포인터 등 이해 빠르도록 초반부터 정리합니다. 
  • 가독성은 라이 님 블로그가 최고니까 거기에서 보시는 걸 추천. 

 

https://m.blog.naver.com/kks227/60196220931

 

왜 c인가?

거의 대부분의 언어의 기본 문법(변수, 대입, 조건문, 반복문 등)이 C언어와 비슷

C언어가 고급 언어 중에서도 저급 언어와 흡사하여 컴퓨터 구조도 어느 정도 함께 배우게 되는 장점

 

언어의 종류 

  • 저급 언어: 컴퓨터가 이해하기 쉬운 언어. 기계어, 어셈블리어 등이 있다.
  • 고급 언어: 컴퓨터보다는 우리가 이해하기 쉬운 언어. C언어, JAVA 등이 있다.
  • 기계어: 컴퓨터가 알아들을 수 있는 말. 0과 1로만 이루어진 그 유명한 언어가 기계어이다.
  • 기계어는 컴퓨터마다 세세한 문법이 다르다. 그러나 기본적인 베이직 문법은 같다.
  • 어셈블리어: 기계어를 기호화하여 그나마 사람이 좀 알아볼 수 있게 만든 형태의 언어.
  • 실제로 어셈블리어와 기계어의 흐름은 완전히 똑같다.
  • 자연어: 사람이 알아들을 수 있는 말.

※ [컴퓨터 - 기계어 - 어셈블리어 - 고급 언어 - 자연어 - 사람] 과 같은 순서로 컴퓨터, 사람에게 친숙하다고 할 수 있다.

 

고급 언어의 분류 : 컴파일러 - 어셈블리어

  • 컴파일러: 문서(코드)를 일단 작성한 후 그 문서를 통째로 번역하여 실행
  • 어셈블리어:  코드를 작성할 때 한 줄 한 줄 컴퓨터가 실행하는 방식

 

C의 언어적 특징

  • 절차적 언어: 프로그램이 반드시 윗줄부터 시작하여 순서대로 실행됨을 의미
  • #include <stdio.h>: 헤더, 유용한 요소들을 import해 오는 역할 (.h 확장자)
  • 함수(){구문}

 

변수 

  • 정수형(Integer), 실수형(Real), 문자형(Character) 등 여러 가지가 존재
  • 문자형 (Char)은 반각문자 하나 저장 가능
    • 반각문자: ~~체 폰트에서 한 칸을 차지하는 문자. 한 글자당 크기가 1byte
    • 전각문자: ~~체 폰트에서 두 칸을 차지하는 문자. 한 글자당 크기가 2byte
  • 변수 선언 / 초기값 선언 (초기화, initialize)
  • int a; / int a = 3; 

 

형식 지정자

  • %d 정수형
  • %f 실수형
  • %c 문자형
  • %s 문자열형
  • %u 부호가 없는 정수형
  • %o 8진수 정수형
  • %x 16진수 정수형
  • %X 16진수 정수형, 단 알파벳을 대문자로 출력

 

  • printf("%d + %d = %d\n", 2, 3, 2+3);
  • 2 + 3 = 5
  • %를 출력하기 위해서는 %% 입력이 필수  

 

변수 선언

  • int a, b; : 초기화가 필요한 int a와 b
  • int a=2, b; a는 2로 초기화, b는 초기화 X

 

형식 지정자

  • int num=5.5를 %d / %f로  출력했을 때: 5 / 5.50000
  • num은 실수인데 정수 값으로 출력 가능? - 자동 형 변환
  • 0.5는 어디로 갔지? - truncated
  • 그러나, printf 등 함수 안에서 나오는 값은 얄짤없이 대부분 에러 뜬다. 형식 지정자 맞춰 주기.

 

옵션 추가

  • 정수형 
  • %2d : 2자리 확보 
  • %02d / %.2d : 2자리 확보, 나머지 한 자리에  0 / 나머지 자리에 0
  • %4.2d: 4자리 확보 / 두 자리의 나머지 자리에 0
  • %-2d: 2자리 확보, 값은 왼쪽 정렬

 

  • 실수형 
  • %.1f : 2번째 자리에서 반올림
  • %6.1f : 6자리 확보, 2번째 자리에서 반올림
  • %-6.0f : 6자리 확보, 1번째 자리에서 반올림, 왼쪽 정렬

 

 

 

연산과 연산자

  • 대입 연산자
    • int a = 3
  • 산술 연산자
    • + - * / % 

 

  • 정수형/정수형 = 정수형 
  • 3/2 = 1
  • 만약 실수 값이 나오게 하고 싶다면 하나를 실수로 선언해 주든가 / 형 변환을 하든가 / 1.0*(m+n) 식으로 실수로 만들어 버리든가 

 

자료형의 크기 

  • sizeof : 그 자료형이 몇 byte인지 알 수 있음
  • short: 2byte
  • int: 4byte
  • long: 4byte
  • float: 4byte
  • double: 8byte
  • char: 1byte
  • overflow 유의

 

변수 이름 규칙

  1. 영문자, 숫자, _(특수문자 언더바)만 사용 가능
  2. 대소문자를 구분
  3. 이름의 첫 번째 글자는 숫자 ㄴㄴ
  4. 예약어 ㄴㄴ 
  5. 같은 이름의 변수는 2번 이상 ㄴㄴ

 

printf() / scanf()

  • printf() : 출력하는 함수
  • scanf() : 입력받는 함수
  • &n - 메모리 주소

 

매크로 

  • 한번 선언하고 나서 계속 쓸 수가 있는 어떤 값이나 함수
  • #define APPLE_PER_BOX 30 
  • #define F2 1.5f 
  • #define AREA WIDTH*HEIGHT
  • #define 3+7 : 식이 그대로 들어가버린다는 점에 유의

 

 

 

반응형

'자린고비 독학하기 > 자린고비 코딩하기' 카테고리의 다른 글

C언어 basic - 23~38  (0) 2019.08.29
C언어 basic - 11~22  (0) 2019.08.29
Android Studio - 진동, 효과음 / Snack Bar  (0) 2019.08.28
Android Studio - Viewpager  (0) 2019.08.28
Android Studio - FrameLayout  (0) 2019.08.22