본문 바로가기
정보처리기사

흥달쌤 깨알 C언어 1~10강 스터디 노트

by mihsyeh 2022. 4. 6.

강의를 들을때 딴 짓, 딴 생각 방지를 위한, 굉장히 성의없는 기록입니다. 

 

흥달쌤

흥달쌤과 함께하는 IT 채널입니다. 정보처리기사 자격증 관련된 강의와, JAVA 특강 C언어 특강 등이 진행됩니다. 앞으로 진행 예정인 동영상은 IT 관련된 이야기 전산직 문제풀이 군무원 전산직 문

www.youtube.com

 

1. 프로그래밍이란?

 

프로그램 동작 과정

  • 선언 > 입력 > 처리 > 출력

 


2. 컴파일러 & 인터프리터

 

C언어 컴파일 과정

.c > 전처리기 > .i > 컴파일러 > .s > 어셈블러 > .o > 링커 > .exe

 

  • 전처리기 : 전처리 구문을 처리하는 과정
  • 컴파일러 : 고수준언어를 저수준 언어로 변환, 기계어와 가장 가까운 형태의 언어
  • 어셈블러 : 완전히 기계어로 바꾸어 주는 역할
  • 링커 : 여러 개의 오브젝트 파일을 합치거나, 라이브러리를 합치는 역할

 

컴파일러

  • 고급 언어로 작성된 프로그램을 컴퓨터에서 실행하기 위해 컴퓨터ㅏ 이해할 수 있는 언어로 번역
  • 전체를 번역, 번역시간 ㅗ래걸림, 한번 번역 후 다시 번역않 실행속도 빠름
  • C, c++, java

 

인터프리터

  • 고급언어로작성된프로그램을한줄씩읽어들여서(통역) 실행하는프로그램
  • 번역실행동시에, 별도의실생파일존재x
  • ruby, php, javascript, basicc

 


 

3. 변수

데이터를 저장할 수 있는 메모리의 기억공간 = 그릇

 

변수생성 규칙 및 특징

  • 예약어(키워드)는 사용할수 없다 ex) break / _break는 가능 
  • 공백을 포함 할 수 없다
  • 첫글자는 영문under bar( _ )만 사용가능 (숫자x)
  • _이외의 특수문자 사용 불가
  • 대소문자 구분

 

데이터 타입 (자료형)

  • 200정도의 숫자를 저장하고싶다 > short도 크지만 long보단 낫기때문에 short가 가장 적당
  • 메모리 효율적 사용을 위해

 

변수 선언

  • int 변수명;
  • int 변수명=초기값;

 


 

4. 변수의 종류와 유효범위

 

지역변수

  • 함수.블록 안에서 선언하는 변수 그 안에서만!
  • 함수/불륵의 종료와 함께 메모리상에서 소멸
  • 초기값이 없으면 쓰레기값이 들어감
  • 스택영역에 저장됨

 

전역변수

  • 함수블록밖에서선언 전체함수에영향
  • 프로그램종료때메모리상소멸
  • 초기값0값
  • 데이터영역제저장

아~그렇구나 정도만 보기

 

정적변수

  • static으로 선언 선언된블록내에서만사용
  • 함수종료소멸노 값그대로유지
  • 프로그램종료메모리상소멸
  • 초기값없으면0입력단한번만초기화
  • 데이터영역에저장

 

아~그렇구나

 

동적변수

  • 메모리동적ㅈ할당으로생성되는변수
  • run time 시간에 메모리할당
  • 동적 기억장소에 할당하여 메모리낭비피하려는목적
  • 무조건포인트사용
  • 힙영역에 저장됨
  • 그때그때생성 그때그때해제

읽어보는정도

 


 

5, 9. 산술연산자

 

이항연산자

  • 3/4=0 정수나누기정수는정수

 

단항연산자

  • a++; : 식을 먼저 실행시키고 증가시켜라
  • ++a; - 증가시킨 후에 식을 실행시켜라

 

대입연산자

  • a+=10; a=a+10; 줄여서쓰기

 


 

6. 연산자 우선순위

 

높 <> 낮

괄호 - 단항 - 산술 - 산술 - 비트 - 비교 - 관계 - 비트 - 논리 - 대입

 


 

7. 관계 / 논리연산자, 조건문

 

관계연산자

  • == 같다
  • != 같지 않다
  • > 좌항이 크다
  • >= 좌항이 같거나 크다
  • < 우항이 크다
  • <= 우항이 같거나 크다

 

논리연산자

  • ! Not 부정
  • && AND 둘 다 참일때만 참
  • || OR 둘 중에 하나만 참이면 참

 

조건문

  • 단순if문
if(조건({
조건이만족할때의처리;
}

 

  • if~else 문
if(조건){
조건이만족할때의처리;
}
else{
조건이아닐때의처리;
}

 

 

  • 다중 if문

 

if(조건){
조건이만족할때의처리;
}
else if{
조건2가 만족할때의 처리;
}
else{
조건이아닐때의처리;
}

 


 

8. 논리연산자, 증감연산

 

 

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

ideone.com

 


 

10. 출력형식

 

출력 변환기호

  • %d 10진수 정수,문자
  • %f 고정 소수점
  • %ㅊ

 

진수 만드는거 예술이다 진짜..... 헷갈리시는분들 10강 꼭 보세요

 

정수형 자리수 지정

  • %5d는 공간 5개, 오른쪽부터 사용
  • %05d 앞을 0으로 채운다

 

실수형 자리수 지정

  • %f 소수점 여섯자리가 붙음
  • %6.1f 소수점 한자리까지 표현하겠음 앞은 공백

 

실수형 자리수 지정

  • %-6.1f 왼쪽부터 출력, 짤리는 숫자는 앞에 반올림
  • %-6.3f 0붙음

 

 

 

댓글