안녕하세요. 언제나 휴일입니다.
첫 번째 프로그램은 자신의 정보를 콘솔 화면에 출력하는 것으로 할게요.
== 다루는 내용 1. main - 프로그램의 진입점 함수 2. #include //표준 입출력 헤더 3. puts 함수 - 라인 단위로 출력 4. printf 함수 - 개발자가 원하는 포멧에 맞게 출력
1. main – 프로그램의 진입점 함수
C언어로 작성한 콘솔 응용은 언제나 main함수부터 시작합니다.
이러한 이유로 main 함수를 프로그램 진입점이라고 말합니다.
함수 는 특정 기능을 수행할 수 있게 작성한 코드를 말합니다.
이번 강의에서 출력에 사용할 putchar와 printf도 함수입니다.
다음은 함수 구조입니다.
자연스럽게 다룰 내용이므로 한 번 쓱~ 보세요.
반환 형식 함수명( 입력 매개 변수 리스트) { return 반환 값; }
앞으로 프로그램을 작성할 때 언제나 다음과 같이 출발하세요.
int main() { return 0; }
프로그램도 운영체제에 의해 수행하며 시스템의 누군가는 main을 호출합니다.
이러한 시스템의 누군가는 프로세스의 종료 상태를 알고자 합니다.
이런 이유로 main의 반환 형식은 int로 약속하고 있으며 0을 반환할게요.
*실제 오류로 프로세스가 종료하면 반환 값 외에 다른 필드에 오류가 있다는 것을 시스템은 파악합니다. 출발하면서 너무나 멀리 와버렸네요. 멀미 약 하나 드시고 갑시다.*
2. #include <stdio.h> //표준 입출력 헤더
프로그래밍 할 때 우리가 모든 것을 다 작성하는 것은 아닙니다.
이미 많은 기능들을 정의하여 제공하고 있어요.
C언어 표준에서 제공하라고 권고하는 함수를 C언어 표준 라이브러리 함수라고 말합니다.
이 중에 표준 입출력에 관한 함수는 stdio.h 파일에 선언하고 있어요.
따라서 표준 입출력에서 제공하는 함수를 사용하려면 stdio.h 파일 내용을 포함시킵니다.
이 때 사용하는 것이 #include <헤더 파일> 입니다.
만약 현재 폴더에서 상대 경로에 있는 헤더 파일을 포함할 때는 이중 콤마에 헤더 파일을 감쌉니다.
#include <헤더 파일 명> //경로가 설정된 곳에 있는 헤더 파일 포함문 #include "헤더 파일 명" //현재 프로젝트에서 상대 경로로 파일 포함문
아마도 우리가 작성할 프로그램 코드의 99%는 표준 입출력을 사용합니다.
이제 프로그램 작성할 때 추가할 코드가 하나 늘었네요.
#include //표준 입출력 standard input ouput header int main()//main에서 프로그램은 출발 - 진입점 { return 0; }
3. puts 함수 – 라인 단위로 출력
라인 단위로 출력할 때는 puts 함수를 호출하세요.
int puts(const char *str); 표준 출력 파일 스트림에 문자열을 출력하는 함수
puts 함수를 호출할 때는 문자열(이중 콤마로 표현)을 전달합니다.
puts 함수는 개행 문자(다음 라인으로 이동시키는 문자, ‘\n’)를 자동 출력하여 다음 라인으로 캐롯을 다음 라인으로 이동시킵니다.
자신의 이름을 puts로 출력합시다. (이름을 공개할게요.^^;;)
#include //표준 입출력 헤더 파일 포함, stdandar input output header int main() //프로그램 진입점 { puts("이름: 장문석");//개행 문자('\n')를 자동으로 추가해서 출력 return 0; }
4. printf 함수 – 개발자가 원하는 포멧에 맞게 출력
printf 함수는 다양한 값을 개발자가 원하는 포멧에 맞게 출력할 수 있어요.
int printf(const char * format, …); 표준 출력 파일 스트림에 포멧을 지정하여 출력하는 함수
첫 번째 전달할 문자열에 포멧을 지정하면 뒤에 나오는 인자를 차례대로 포멧에 맞게 출력합니다.
나이와 혈액형을 printf 함수로 출력합시다.
정수는 %d, 문자열은 %s로 포멧을 지정합니다.
그리고 printf는 개행을 자동으로 출력하지 않습니다.
맨 끝에 개행 문자(‘n’)를 추가하세요.
#include //표준 입출력 헤더 파일 포함, stdandar input output header int main() //프로그램 진입점 { puts("이름: 장문석");//개행 문자('\n')를 자동으로 추가해서 출력 printf("나이:%d 혈액형:%s\n", 25, "B"); return 0; }
물론, 포멧을 지정하지 않고 문자열만 전달할 수도 있어요.
#include //표준 입출력 헤더 파일 포함, stdandar input output header int main() //프로그램 진입점 { puts("이름: 장문석");//개행 문자('\n')를 자동으로 추가해서 출력 printf("나이:%d 혈액형:%s\n", 25, "B"); printf("여기는 언제나 휴일입니다.\n"); return 0; }