본문 바로가기

C언어/복습

[C언어]DAY1_컴퓨터 구성, C 기본구조 이해, 표준출력

컴퓨터 구성

 

1. 하드웨어
  1) CPU=뇌 (프로그램을 구동)
  2) 메모리 (프로그램 실행 시 로딩)
  3) 출력장치 (모니터)
  4) 입력장치 (키보드, 마우스)
  5) 보조기억장치 (하드디스크, usb)

 

2. 소프트웨어
  1) OS (운영체제) : 하드웨어를 구동시키는 프로그램. 윈도우즈, 안드로이드, IOS
  2) 응용소프트웨어 (앱) : OS위에서 구동.

 

3. C의 특징
  1) 모든 언어의 기본. -> java, python, c++
  2) 컴퓨터 하드웨어를 제어할 수 있다.
  3) 효율적인 언어이다. : 용량이 작고 속도가 빠르다.
  4) 컴파일 언어 : 컴파일? 사람의 언어를 기계의 언어로 변환 : 파일 전체를 한번에. (속도가 빠르다.)
                          예) C, java
                          반대) 인터프리터언어 : Python (속도가 느리다)


프로젝트 추가, 소스 추가 방법

 

  - visual C++ > 새프로젝트 > win32 콘솔 응용 프로그램 > 경로지정 > 이름설정 > 빈 프로젝트 체크


     * 콘솔 응용 프로그램 체크 되있는 상태여야함.

     * 탐색기 안보일 경우 창 > 창 레이어웃 다시설정

 

  - 프로젝트 오른쪽 클릭 추가 > 새 항목 > 이름 설정( 꼭 .c 붙여줘야함 ***)

  - 솔루션 오른쪽 클릭 > 추가 > 새 프로젝트 > win32 콘솔 응용 프로그램

 


C 기본구조 이해


C 기본 문법

  1. 주석 comment 코멘트 . 컴파일이 되지 않는다. 문서화. 설명 달때
  2. include : 다른 파일을 포함
  3. main : 프로그램의 시작점.
  4. 세미콜론(;) : 문장의 끝
  5. printf() : 기본 출력 : 모니터에 출력 0O, Il1

 

 

프로그램 실행과정 :

  1. *.c를 작성 (source file)
  2. compile (build)를하면 .exe가 생성 (기계어)
  3. .exe를 실행

 



1. 주석

  1) // : 한 줄 주석

  2) /*
       주석
       파일이름:hello_world.c

     */ : 표시된 곳 모두 주석

 

2.

  1) include: stdio.h 파일을 포함.
  2) stdio.h: standard IO. 표준 입출력.printf()

 

3. main : OS에게 프로그램의 시작점 알려줌. Entry point

 

#include

main(){
printf("hello world\n");
}

 

#include <stdio.h>
main() //함수 : 어떤 기능을 수행하는 단위
// { }: 블럭
{ // 함수 본체 body 시작

//printf() : 화면에 내용을 출력하는 함수
printf("hello worldn");
// ; 문장이 끝났음을 표현

} //body끝남

 


표준출력 (간단 버전) printf()


형식지정자 format specifier
제어문자. 이스케이프 시퀀스 Escape sequence

리터럴 literal

 

#include

int main() {

printf("출력 테스트를 합니다\n");
printf("첫번째 줄 \n두번째 줄\n");

printf("문자를 출력합니다 :%c\n" , 'A');

printf("정수를 출력합니다 : %d\n", 10);
printf("실수를 출력합니다 : %.2f\n", 132.4);

printf("문자열을 출력합니다 : %s\n", "멘토시리즈");

}

#include
int main() {
printf("출력 테스트를 합니다\n");
// \n : 제어문자.. 출력에 명령을 줌. 출력이 안됨. 줄바꿈

printf("첫번째 줄 \n두번째 줄\n");
//제어문자를 이용하여 여러줄 한번에 출력


//형식지정자
printf("문자를 출력합니다 :%c\n" , 'A');
// %c : 문자를 출력하는 형식지정자
// 'A' :리터럴(= 상수) 값 자체. 문자 리터럴

printf("정수를 출력합니다 : %d\n", 10);
// %d : 정수를 출력하는 형식지정자
// 10 : 리터럴. 정수 리터럴

printf("실수를 출력합니다 : %.2f\n", 132.4);
// %f : 실수를 출력하는 형식지정자
// 132.45672 : 실수 리터럴

printf("문자열을 출력합니다 : %s\n", "멘토시리즈");
// %s : 문자열
// "멘토시리즈" : 문자열 리터럴

 

}


과제

// 문제: 출력 테스트
// 1.문자 'A'와 숫자 100을 한 줄에 출력하도록 printf()를 1번만 사용하여 작성하시오.
// 2.다음과 같이 3줄을 출력하도록 프로그램을 printf()를 1번만 사용하여 작성하시오.
/*
---------------------------
일시: 2019년 11월 15일
작성자: 신상림
소속 : 코리아 IT 아카데미
---------------------------
*/

#include <stdio.h>

main() {
    int data1 = 100;
    char data2 = 'A';

    printf("%d %c\n", 100, 'A');
    printf("일시 : %d%d%d일\n작성자 : %s\n소속 : %s\n", 2019, 11, 15, "신상림", "코리아 IT 아카네미");
}


 

------- Express 단축키 (hotkey) --------

 

1) 실행 : ctrl + F5
2) 컴파일 : ctrl + F7
3) 코멘트 처리 : ctrl+k + c
4) 언코멘트 처리 : ctrl +k +u

 

-------------------------------------------

 

* 글꼴 설정 : 메뉴 > 도구 > 옵션> 환경 > 글꼴 및 색
                     추천폰트) hack, 나눔고딕, consolas .. (l과 1과 I 구분, 0과 o가 구분되는 글꼴이 좋음.)
* 파일 위치 파악 : 소스 오른쪽 클릭 > 상위 폴더 열기

* Bold되있는 프로젝트가 시작 프로젝트임.
* 새로만든 프로젝트 오른쪽 클릭 > 시작 프로젝트로 설정 (사용하고자 하는 프로젝트)

 

 

 

 

 

=궁금증=


Q1. 왜 stdio.h 로 하는지

한 번에 해석하면 stdio.h 파일을 이 위치에 포함시켜라입니다.
의미는 standard input output header file입니다.
표준 입출력 파일이고요.

stdin - standard input 키보드
stdout - standard output 모니터
즉, 별도로 지정하지 않으면 입력은 키보드 출력은 모니터로 하란 의미입니다.
키보드, 마우스, 스캐너, 마이크 등 입력 장치 중에서 표준은 키보드
모니터, 프린터, 스피커 등 출력 장치 중에서 표준은 모니터
이렇게 됩니다.

                                                                     [출처] C언어 :: 표준 입출력 함수 헤더 파일|작성자 양주종

 

Q2. void를 하고 안하고의 차이