Language Study/C

[C/C++] 02 - 자료형과 연산 기초 - C프로그램 구조와 변수, 표준 입출력 기초

지미닝 2022. 10. 2. 02:18

Index


  1. 프로그램 소스 코드의 구조
    • Function Definition: Heater + Body; Body : Declaration + Statement;
    • Preprocessor Directives: #include, #define
    • Comments: //, /* */
  2. 변수 선언 (Variable Declaration)
    • Type & Identifier
  3. 기초 표준 입출력

1. C 프로그램 소스 코드의 구조

✓  C 프로그램 소스 코드의 구성 요소

① 함수 (Function)

  • C언어는 크고 복잡한 일을 여러 개의 함수로 나눠 해결하는 것을 핵심 프로그램 원리로 한다.
  • 함수는 C 소스 코드의 핵심 구성 요소다. 항상 하나 이상의 함수 정의로 구성된다.
  • 함수 정의(Function Definition)는 함수 식별자(identifier)와 인자 등을 포함하는 헤더와 중괄호 {}로 구분되는 몸통(Body)으로 이뤄진다.
  • Body는 일련의 선언문(Declarations)과 문장(Statements)으로 이루어져 있다.
  • 독립적으로 구동하는 모든 C 프로그램 소스 코드에는 main()함수가 있어야 하며 유일하여야 한다.

② 주석 (Comment)

  • 컴파일러는 무시하며 명령으로 해석하지 않음
  • /* */, //등으로 구분되며 별도 설명한다

③ 전처리 지시자 (Preprocessor Directive)

  • 컴파일 작업을 하기 "전"에 특별한 작업을 지시하기 위한 것으로 "#"으로 구별됨

✓  함수 Body의 구성

① 블록 (Block)

  • 중괄호 (Brace) {} 쌍으로 구분
  • 일련(Sequence)의 선언문(Declaration) + 문장(Statements) 조합으로 구성

② 함수 Body == 하나의 Block

③ 선언문 (Declarations)

  • 변수나 함수가 Statements에 쓰이기 전에 그 이름과 특성 등을 선언하여 컴파일러에게 알리는 역할
  • ;(세미클론/Semicolon)으로 끝남

④ 문장 (Statements)

  • 실제 수행할 컴퓨팅 작업을 정의함
  • Block도 하나의 문장이다. 어떤 문장은 그 내부에 문장(Sub-Statement)를 가진다.
  • 문장은 계층적 구조를 가짐
  • Block이 아닌 문장은 ;으로 끝난다. 줄바꿈으로 문장이 구분 되는 것이 아님에 유의

✓ C 프로그램 구성 요소 정리


2. 변수 선언 (Variable Declaration)

✓ 변수란?

  • 값을 저장하는 메모리 공간
  • 모든 프로그래밍의 필수 핵심 요소

변수 선언문의 형식 : C에서는 변수 사용 전 먼저 선언하여야 한다.

 

변수의 자료형 (type)

  • 변수가 표현 또는 저장하는 데이터의 종류 혹은 유형을 의미한다
  • C언어 기초 자료형에는 문자형, 정수형, 부동소수형(floating point type)등이 있다.
자료형 저장 공간 크기/ 값 표현 범위에 따라
문자형 char      
정수형 short int long long long
부동소수형 float double long double  

 


식별자 (Identifier)

식별자: 변수, 함수 등에 대한 이름

  • 영문자(Alphabet), 숫자, _(Under Bar/ Under score)로 구성된다

※식별자 제약조건

① 첫 글자에는 숫자가 올 수 없다. (즉, 알파벳 or _ )

② 대소문자를 구별한다.

③ 길이는 31자 이하로 작성하여야 한다.

④ Keyword(reversed word, 예약어)를 사용하면 안된다.

C Keywords List


✓ 변수 값 초기화

변수 선언 과정에서 변수의 초기 값을 지정할 수 있다.

이때 여러 변수의 선언과 초기화를 할 수 있는데, 쉼표를 사용하여 동일한 자료형의 여러 변수를 하나의 선언문에서 선언하고 초기화 할 수 있다.


3. 기초 표준 입출력

✓ 표준 출력 함수 - printf()

printf()함수의 가장 간단한 사용 형식

int printf("string");
  • " "로 둘러싸인 문자열을 표준 출력 장치인 화면에 출력한다

#include <stdio.h>

  • printf()를 사용하려면 그 사용 이전에 #include <stdio.h>가 필요하다.

줄바꿈(new line) 문자

  • 줄바꿈(new line)이나 탭(Tab)과 같은 제어 문자의 경우 일반 문자로 표시하기 어렵다
  • C언어에서는 일반 문자 2개를 묶어 제어 문자를 표시하는데 줄바꿈은 \n으로 탭은 \t로 표시한다.

Cf. 이스케이프 시퀀스


✓ printf()- 변수 값 출력

① 변수 값 출력 시의 printf() 함수 형식

int printf("format string", var1, var2, ...);

② FSF (Format Specification Field)

정수형 부동소수형
%d %f
Decimal
(10진수를 의미)
Floating Point
(부동 소수형을 의미)
  • printf() 함수는 변수 값을 출력할 때 그 출력 형식(Format)을 지정하는 형식 지정자를 "format string)내에 포함하여야 한다
  • 형식 지정자는 %로 시작하며 자료형에 맞는 지정자를 사용하여야 한다.

 다른 문자와 함께 출력

  • 형식 지정자는 문자열의 일부로 포함되어 다른 문자들과 함꼐 출력할 수 있다

④ 여러개의 변수 값 출력

  • 변수 값 하나마다 printf()하나를 사용할 필요는 없다
  • 출력하려는 변수 개수에 대응하는 형식 지정자를 포함하여 여러개의 변수 값을 하나의 printf()를 이용하여 출력할 수 있다

 


✓ 표준 입력 함수 - scanf()

① scanf() 함수의 형식

int scanf("format string", &var1, &var2, ... );
  • 변수의 주소 값을 얻는 단항 연산자인 "&" 를 사용! (&: Adress-of operator)
  • &를 사용하지 않을 경우 오류가 발생한다

② scanf()의 FSF

  • printf()와 같이 형식을 지정하여 입력
정수형 부동소수형
%d %f
Decimal
(10진수를 의미)
Floating Point
(부동 소수형을 의미)

③ 여러 변수 값 입력

  • printf()에서와 같이 하나의 scanf()로 여러 변수 값을 입력 받을 수 있다

요약