프로그래밍 study/C언어

CH2 C언어 상수와 데이터 출력

박재완 2022. 3. 18. 19:00
728x90
반응형

함수란?

일정한 기능을 수행하는 코드 단위를 의미한다. 

큰 프로그램일스록 함수를 많이 사용하지만, 간단한 프로그램은 main 함수 하나만으로 만들기도 한다.

간단한 main 함수의 구조를 보면 다음과 같이 표현 할 수 있다.

1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
int main(void){
 
    10+20//10 과 20 더하기
 
    return 0//프로그램 종료
 
}
cs

 

매우 심플한데 이 구조가 어찌보면 main 함수에 전부이며 우리가 배워 나가는 변수, 입력, 출력 , 포인터 등이 이곳에서 호출 되어 사용된다는 점이 다를 뿐 함수라는 구조에서는 이와 유사하게 진행 된다.

#include <stdio.h

이전 CH1을 통해서 볼 수 있었던 전처리 지시자이다.

int main(void)

 

이부분은 함수의 선언으로 분리 해서 본다면
반환 해줄 형, 함수의 이름 , 받아올 변수 인자들
이렇게 크게 3가지로 볼 수 있다.
이걸 관점으로 다시 본다면
정수형을 반환 하는 main이라는 함수를 선언 한다. 받아올 인자 또는 변수는 없다.
이렇게 표현이 가능해 진다.
 
{
    10+20//10 과 20 더하기
    return 0//프로그램 종료
}

이 부분은 함수의 기능이 실행될 곳으로  여기서 원하는 기능 또는 요소를 추가하면서 원하는 기능을 만들어 나 갈 수 있다. 

또한 반환형에 맞추어 return처리가 되어야 하며 c99 이후 반환형 상관 없이 돌 수 는 있지만 그래도 반환형에 맞춰서 return  뒤의 값을 넣어주는 것을 추천한다.

* 출력 함수(printf)의 사용법 

화면에 데이터를 출력할 때는 printf 함수를 사용한다. print formatted 라는 뜻으로 일정한 형식에 따라 출력하는 기능 이라는 의미이다.

기본적인 형태는 다음과 같다.

printf("원하는 문자열 ");

이와 같은 문제로는 

https://www.acmicpc.net/problem/2557

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net

해당 문제를 통해서 확인 할 수 있다.

 

1
2
3
4
5
6
#include <stdio.h>
 
int main(){
    printf("Hello World!");
    return 0;
}
cs

다음과 같이 출력 을 원하는 문장을 삽입 하여 위에서 원하는 출력을 만들어 낼 수 있는 것을 확인 할 수 있다.

이외에도 문자열을 제외한 실수, 정수, 문자 등의 사용자가 입력 또는 임의로 저장한 변수들을 표시 할 수 있는데 이를 정리 하면 다음과 같이 표시 할 수 있다.

https://en.cppreference.com/w/c/io/fprintf

실제 레퍼런스를 보면 엄청나게 다양한 표현식을 가지고 있으며 각 선언 하는 문장에 따라 표현이 가능한 숫자의 형들까지 필요에 맞춰서 사용이 가능하다.

 

만약 사이즈나 표현 방식이 다른 형식이 출력으로 선언 되었을 경우 다음과 같은 경우가 발생 할 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void) {
    unsigned int a;
 
    a = 4294967295;
 
    printf("a : %d\n", a);
 
    //a = -1; ref -1 == 4294967295 
    printf("a : %u", a);
 
    return 0;
}
cs

다음과 같이 분명 같은 변수로써 선언한 4294967295라는 a 변수를 선언 했지만 출력 선언이 달라졌을 경우 숫자의 크기를 다르게 인식 하여 다음과 같은 결과가 발생한 것이다.

또한 문자에 대한 변수를 다음과 같이 선언 하게 되면 다음과 같은 결과 가 도출 된다.

이는 char 라는 문자 데이터 또한 컴퓨터 내에서는 ascii code 라는 하나의 정수 코드로 전달하고 인식 하고 있기 때문이다.

ascii code의 자료는 다음과 같다.

https://www.alpharithms.com/ascii-table-512119/

 

작동 원리는 추후 상수나 변수단에서 자세하게 설명 하겠다.

728x90
반응형

'프로그래밍 study > C언어' 카테고리의 다른 글

CH4 산술 관계 논리 연산자  (0) 2022.03.24
CH3-2 데이터 입력  (0) 2022.03.22
CH3 변수  (0) 2022.03.21
CH1 프로그램 언어 C 컴파일 과정  (0) 2022.03.18