본문 바로가기
혼공단 12기(혼공C)

[혼공C] 1주차 상수와 데이터 출력

by 눈 떠 보니 공대생 2024. 7. 7.

주차 진도 기본 숙제 추가 숙제
1주차(7.1~7.7) Chapter 1~2 VS 설치하고 인증하기 2-2 확인문제 3번 풀어보기

<기본 숙제: VS 설치하고 인증하기>

<추가 숙제: 2-2 확인문제 3번 풀어보기>

[코드]

 

[실행 결과]


Chapter 1. 프로그램 만들기

1. 프로그램과 C언어

1) 프로그램: 일의 순서를 나열한 것

2) C 언어의 장점

(1) 시스템 프로그래밍: 하드웨어 제어 가능

(2) 이식성을 갖춘 프로그래밍: 다른 기종의 컴퓨터에서도 프로그램 사용 가능

(3) 함수를 이용한 개별 프로그래밍 → 에러 수정 & 유지 보수 용이

 

2. 컴파일과 컴파일러 사용법

컴파일 과정: 소스 파일 → 전처리 → 전처리된 소스 파일 → 컴파일 → 개체 파일 → 링크 → 실행 파일

1) 전처리: 전처리 지시자에 따라 소스 파일 가공. 전처리 지시자의 예 - #include

2) 컴파일: 소스 코드(프로그래밍 언어)를 기계어로 바꾸는 과정, 컴파일러를 통해 이루어짐.

3) 개체 파일(object file): CPU가 해석할 수 있는 instructino들로 이루어진 기계어 파일.

그러나 바로 실행 불가하므로 운영체제가 인식할 수 있는 형태의 실행 파일로 바꾸어야 함.

4) 링크:개체 파일에 startup code를 결합하는 과정.

5) startup code: 프로그램 실행 전 준비 작업 수행. main 함수를 호출하여 프로그램 코드를 실행함.

 

Chapter 2. 상수와 데이터 출력

1. C 프로그램의 구조와 데이터 출력 방법

1) 프로그램과 main 함수 구조

(1) main 함수 = Head(= function prototype) + Body

#include <stdio.h>

int main(void){
// printf("Hello, World!\n"); 한 줄 전체를 주석 처리
    
    int a = 10 /* 라인 내 주석 */ + 20;
    printf("%d"\n, a);  
    
    return 0;
}

* head: int main(void)

* body: { } 내부

(2) 주석: //, /* */

(3) body: 세미콜론으로 문장의 끝 표시, 한 줄에 한 문장만, 일정한 간격으로 들여쓰기

2) printf()

(1) 제어 문자

\n 줄바꿈
\b 커서 왼쪽으로
\r 커서 맨 앞으로
\a 벨소리 냄

(2) 정수와 실수 출력

%d 정수
%lf 실수

2. 상수와 데이터 표현 방법

1) 문자와 문자열 상수

%c 문자(e.g. 'A')
%s 문자열(e.g. "A")

2) 상수가 컴파일 된 후의 비트 형태

상수 종류 크기 바뀌는 형태
정수 4바이트 2진수
** 양수: 빈 공간 모두 0으로 채움
e.g. 10 = 00000000 00000000 00000000 00001010
** 음수: 2의 보수(원래 수 → 0과 1 바꿈; 1의 보수 → 1 더함)
e.g. -10 = 11111111 11111111 11111111 11110110
실수 8바이트 IEEE 754 표준 double형
** 부호 비트(양수 → 0, 음수 → 1) 1 bit+ 지수부 11 bits + 소수부 52 bits
e.g. 10.0 = 01000000 00100100 00000000 00000000 00000000 00000000 00000000 00000000
- 6.5 = 1 10000000001 1010...0
문자 4바이트 아스키 코드 값과 같은 2진수
e.g. 'A' = 65