728x90
반응형
C 언어의 기본 구조
C 언어 프로그램은 기본적으로 함수의 집합으로 이루어져 있습니다. 모든 C 프로그램은 반드시 main 함수를 포함하고 있어야 하며, 프로그램의 실행은 main 함수에서 시작합니다.
C 프로그램의 기본 구조
#include <stdio.h> // 표준 입출력 라이브러리 포함
// 함수 선언
void 함수명();
int main() {
// 메인 함수: 프로그램의 시작점
printf("Hello, World!\n"); // "Hello, World!" 출력
return 0; // 프로그램 정상 종료
}
// 함수 정의
void 함수명() {
// 함수의 본문
}
위 구조를 통해 C 프로그램의 기본적인 구성 요소를 이해할 수 있습니다.
C 언어의 표준 입출력
C 언어는 표준 입출력 라이브러리를 통해 입력과 출력을 처리합니다. 이 라이브러리는 <stdio.h> 헤더 파일에 정의되어 있습니다. 표준 입출력의 주요 함수에는 printf, scanf, puts, gets 등이 있습니다.
표준 출력: printf
printf 함수는 포맷된 문자열을 출력하는 데 사용됩니다.
예시:
#include <stdio.h>
int main() {
printf("Hello, World!\n"); // "Hello, World!" 출력
printf("정수: %d\n", 10); // 정수 10 출력
printf("실수: %f\n", 3.14); // 실수 3.14 출력
printf("문자: %c\n", 'A'); // 문자 A 출력
printf("문자열: %s\n", "안녕하세요"); // 문자열 "안녕하세요" 출력
return 0;
}
포맷 지정자:
- %d: 정수(int)
- %f: 실수(float)
- %c: 문자(char)
- %s: 문자열(char 배열)
표준 입력: scanf
scanf 함수는 사용자로부터 입력을 받아 변수에 저장하는 데 사용됩니다.
예시:
#include <stdio.h>
int main() {
int num;
float fnum;
char ch;
char str[100];
printf("정수를 입력하세요: ");
scanf("%d", &num); // 정수를 입력 받아 변수 num에 저장
printf("실수를 입력하세요: ");
scanf("%f", &fnum); // 실수를 입력 받아 변수 fnum에 저장
printf("문자를 입력하세요: ");
scanf(" %c", &ch); // 문자를 입력 받아 변수 ch에 저장
// " %c" 앞의 공백은 이전 입력의 버퍼 문제를 해결하기 위해 사용
printf("문자열을 입력하세요: ");
scanf("%s", str); // 문자열을 입력 받아 배열 str에 저장
// 공백이 없는 단어만 입력받음
printf("입력된 정수: %d\n", num);
printf("입력된 실수: %f\n", fnum);
printf("입력된 문자: %c\n", ch);
printf("입력된 문자열: %s\n", str);
return 0;
}
포맷 지정자:
- %d: 정수(int)
- %f: 실수(float)
- %c: 문자(char)
- %s: 문자열(char 배열)
표준 출력: puts
puts 함수는 문자열을 출력하고 자동으로 줄바꿈을 합니다.
예시:
#include <stdio.h>
int main() {
char str[] = "Hello, World!";
puts(str); // "Hello, World!" 출력 후 줄바꿈
return 0;
}
표준 입력: gets
gets 함수는 한 줄의 문자열을 입력받습니다. 하지만 이 함수는 버퍼 오버플로우의 위험이 있어 fgets 사용이 권장됩니다.
예시:
#include <stdio.h>
int main() {
char str[100];
printf("문자열을 입력하세요: ");
gets(str); // 문자열을 입력 받아 배열 str에 저장
printf("입력된 문자열: %s\n", str);
return 0;
}
버퍼 오버플로우 방지: fgets
fgets 함수는 안전하게 문자열을 입력받을 수 있습니다.
#include <stdio.h>
int main() {
char str[100];
printf("문자열을 입력하세요: ");
fgets(str, sizeof(str), stdin); // 문자열을 입력 받아 배열 str에 저장
printf("입력된 문자열: %s\n", str);
return 0;
}
C 언어의 기본 구조와 표준 입출력 정리
- 기본 구조: 모든 C 프로그램은 main 함수를 포함해야 하며, 함수 선언과 정의로 구성됩니다.
- 표준 입출력: printf와 scanf를 사용하여 데이터를 출력하고 입력받습니다. puts와 gets도 문자열 처리에 사용되지만, 보안 문제로 fgets가 권장됩니다.
C 언어의 이러한 기본 구조와 표준 입출력 기능을 이해하면, 다양한 프로그램을 작성하고 데이터를 처리하는 데 큰 도움이 됩니다.
728x90
반응형
'스터디 > C 언어' 카테고리의 다른 글
[스터디] [C언어]-2 : C 언어의 특징, C 언어 학습 방식 (0) | 2024.07.30 |
---|---|
[스터디] [C언어]-1 : C 언어, 컴파일러란 무엇인가? (0) | 2024.07.30 |