반응형
2장: C의 기초 (C Fundamentals)**
2.1 간단한 프로그램 작성하기
간단한 프로그램 예제
#include <stdio.h>
int main(void) {
printf("To C, or not to C: that is the question.\n");
return 0;
}
프로그램의 구조
- #include <stdio.h>
- 표준 입출력 라이브러리를 포함하는 지시문으로, printf와 같은 함수를 사용할 수 있게 합니다.
- int main(void)
- 프로그램의 시작점. 모든 C 프로그램은 main 함수를 포함해야 합니다.
- void는 매개변수를 받지 않는다는 의미입니다.
- printf
- 텍스트를 출력하기 위한 함수입니다.
- \n은 줄바꿈을 나타냅니다.
- return 0;
- 프로그램의 정상 종료를 운영 체제에 알립니다.
컴파일 및 실행
- 전처리 (Preprocessing)
- #include 같은 지시문을 처리.
- 컴파일 (Compiling)
- C 코드를 기계어로 변환.
- 링크 (Linking)
- 표준 라이브러리(printf 등)와 연결하여 실행 파일 생성.
컴파일 명령 (Linux 또는 Mac):
gcc -o pun pun.c
./pun
2.2 간단한 프로그램의 일반 형식
C 프로그램의 일반적인 구조:
#include <header_file> // 헤더 파일 포함
int main(void) { // 메인 함수 정의
statement; // 명령문
return 0; // 프로그램 종료
}
- 디렉티브 (Directives)
- #include를 통해 외부 라이브러리 포함.
- 명령문 (Statements)
- 프로그램 실행의 기본 단위. 예: printf("Hello!");
2.3 주석 (Comments)
주석의 종류
- 한 줄 주석:
// 이것은 한 줄 주석입니다.
- 여러 줄 주석:
/* 이것은 여러 줄 주석입니다. */
주석의 역할
- 코드 설명.
- 코드의 특정 부분을 비활성화.
2.4 변수와 대입 (Variables and Assignment)
변수란?
- 데이터를 저장하기 위한 이름이 붙은 메모리 공간.
변수 선언 및 초기화
int x; // 선언
x = 10; // 대입
int y = 20; // 선언과 초기화
데이터 타입
- 정수형: int
- 부동소수점형: float, double
- 문자형: char
값 출력하기
int number = 5;
printf("Number: %d\n", number); // %d는 정수 출력
2.5 입력 받기 (Reading Input)
scanf 함수
- 사용자의 입력을 읽어 변수에 저장.
int number;
printf("Enter a number: ");
scanf("%d", &number); // %d는 정수 입력, &는 변수 주소를 나타냄
2.6 상수를 정의 (Defining Constants)
매크로를 이용한 상수
#define PI 3.14
기호 상수
const double pi = 3.14;
비교
- #define은 전처리기에 의해 처리되고,
- const는 컴파일러에 의해 처리됩니다.
2.7 식별자 (Identifiers)
식별자의 규칙
- 문자, 숫자, _만 사용 가능.
- 첫 글자는 숫자가 될 수 없음.
- 예약어(int, return)는 사용할 수 없음.
좋은 식별자 이름의 예
- total_score (의미 있는 이름 사용).
2.8 C 프로그램의 레이아웃
가독성 있는 코드 작성하기
- 들여쓰기와 공백으로 가독성을 높이세요.
좋은 예:
#include <stdio.h>
int main(void) {
printf("Hello, World!\n");
return 0;
}
나쁜 예:
#include<stdio.h>int main(void){printf("Hello, World!\n");return 0;}
반응형
'Computer Science > C 언어' 카테고리의 다른 글
[C#5] 조건문 (Selection Statements) (1) | 2024.12.03 |
---|---|
[C#4] 표현식 (Expressions) (0) | 2024.12.02 |
[C#3] 포맷 입력과 출력 (Formatted Input/Output) (0) | 2024.12.01 |
[C#1] C 언어의 기초: 역사와 특징 (1) | 2024.11.29 |
[C 0] C Programming: A Modern Approach (2nd Edition) 목차 (1) | 2024.11.27 |