본문 바로가기
언어/C

3. 함수(1)

by 코드 이야기 2020. 2. 19.
728x90

함수에 들어가기 이전에!

첫 번째 글에서도 보았던 함수이자, C 프로그램을 작성하며 가장 많이 사용하게 될 함수!

진입점 함수가 있습니다. main함수이죠!

 

 

진입점 함수 : main()

 

int main(){

	return 0;
}

진입점 함수란, 

  - 프로그램이 처음 시작될 때 호출되는 함수반드시 필요하다.

  - main 함수가 없거나 여러 개라면 잘못된 프로그램이다.

  - int 또는 void를 이용하여 리턴할 수 있음.

  - int main함수의 리턴값은 두 종류가 있는데, 정상 종료와 비정상 종료이다.

int main(){
	return 0;  //정상 종료
}
int main(){
	return 1;  //비정상 종료
}

이렇게 0을 리턴한다면 정상적으로, 1을 리턴한다면 비정상적으로 종료가 된다.

 

 

 

출력 함수 : printf()

 

콘솔창(까만 창)에 어떠한 문구를 띄우기 위해서는 출력 함수가 필요합니다.

출력 또는 입력을 위해 라이브러리를 헤더파일에 포함시켜야 합니다.

/* 출력을 하기 위해 여러 명령어가 필요합니다.

여러 명령어를 사용하지 않고 간단하게 이용하기 위해 함수로 만들어놓은 것을 우리가 쓰는 것이죠. 

미리 만들어둔 소스코드(라이브러리)를 포함시켜 사용하는 것입니다. 

그래서 #include<stdio.h>를 쓰지 않고 컴파일을 할 시에는

printf()라는 함수를 컴퓨터가 모르기 때문에 컴파일 오류가 발생합니다. */

#include<stdio.h>  //standard input output
		  //표준 입출력 라이브러리를 헤더팔이에 포함시킨다.
int main(){

	printf("hello world\n");
	printf("123 + 4567");
    
	return 0;
}
/*실행 결과*/

hello world
123 + 4567

큰따옴표 안에 있는 문자열을 그대로 출력합니다.

"\n"(역슬러시 or 백슬래시)은 줄 바꿈 문자입니다.

위의 소스코드 첫 번째 printf()에서 \n을 뺀다면 실행 결과는

hello world123 + 4567이 될 것입니다. 

또한 ""안에 있는 것들은 문자열로 처리하기 때문에 123 + 4567을 더하지 않고 그대로 결과가 나온 것입니다.

 

문자열이 아닌 숫자 등을 출력하고 싶을 때는

형식 문자열을 사용해야 합니다.

printf("형식 문자열", 형식 문자열 자리에 출력할 값);

#include<stdio.h>

int main(){

	printf("%d\n", 123);     //정수 출력은 %d
	printf("%f\n", 12.34);   //실수 출력은 %f
	printf("%c\n", 'W');     //문자 출력은 %c
	printf("%s\n", "hello"); //문자열 출력은 %s
	
	return 0;
}
/*실행 결과*/

123
12.340000
W
hello

 

 

*형식 문자열의 개수와 변수(또는 값)의 개수는 일치해야 합니다.

> ex1

#include<stdio.h>
void main()
{
	printf("%d, %d,", 123, 456, 789);
}
/*실행 결과*/
123, 456,

형식 문자열이 한 개가 부족할 경우에는 마지막 하나의 값이 출력되지 않습니다,

 

 

> ex2

#include<stdio.h>
void main()
{
	printf("%d + %d = %d", 123, 456);
}
/*실행 결과*/
123 + 456 = 0

형식 문자열이 값의 수보다 많이 사용되었다면 결괏값이 '0'이 출력됩니다.

 

 

*출력 값의 자릿수 지정

  출력 값의 자릿수를 지정해주는 연산자가 세 종류 있습니다.

 

- -   데이터를 왼쪽으로 정렬하여 출력, 지정하지 않으면 오른쪽으로 정렬

- 숫자에 양수는 +, 음수는 -를 붙여서 출력

- 출력할 데이터보다 큰 길이가 지정되면 빈칸을 0으로 채움

 

이런 연산자들은 형식 지정자 두 글자 사이에 넣어서 사용합니다.

 

예시들을 보면서 이게 무슨 말인지 천천히 같이 봅시다!

 

> ex1

#include<stdio.h>
void main(){
	printf("%d %d %d\n", 123, 123, 1234);
	printf("%d %d %d", 123, 1, 12);
}
/*실행 결과*/
123 123 1234
123 1 12

각 숫자들의 세로 위치가 안 맞아서 부---울---편 합니다.

위에서 설명한 -(왼쪽 정렬)을 이용하여 사이다를 마셔보겠습니다.

#include<stdio.h>
void main(){
	printf("%-4d %-4d %-4d\n", 123, 123, 1234);
	printf("%-4d %-4d %-4d", 123, 1, 12);
}
/*실행 결과*/
123  123  1234
123  1    12

펴어언안 해졌죠?

 

 

 

신나서 글을 쓰다 보니 글이 많이 길어졌군요.. 자릿수 지정에 관한 글은 다음 글에서 더욱 자세하게 살펴보겠습니다! 

728x90

'언어 > C' 카테고리의 다른 글

4. 함수(2)  (0) 2020.02.26
2. C프로그램의 구성 요소들  (0) 2019.12.23
1. C언어의 소개와 C프로그램의 개발  (0) 2019.11.04

댓글