학습목표
· 연산자 : =
· 함수 : main(), printf()
· 간단한 C 프로그램 작성하기
· 정수값을 넣는 변수 만들기, 변수에 값 대입하기, 화면에 값 출력하기
· 개행 문자
· 프로그램에 주석 달기, 함수를 여러 개 사용하는 프로그램 작성하기, 프로그램에서 에러 찾기
· 키워드
학습목표에 나와있는 내용을 정확하게 알지 못하면 다음 챕터로 넘어가기 금지!!!!
아직 함수는 배우지 않았기 때문에, 함수관련 내용은 우선 SKIP~!~!
[간단한 C 예제 프로그램]
// #include : C 전처리기 지시자, 일반적으로 C 컴파일러는 컴파일하기 전에 소스 코드를 대상으로 몇 가지 사전 작업 실시
// stdio.h : standard input/ouput header, printf()와 같은 입출력 함수에 대한 정보가 들어있음.
#include <stdio.h>
// main()은 반드시 있어야 함.
// int는 main()이 반환할 수 있는 값의 종류가 하나의 정수라는 것을 의미(운영체제로 반환한다함,,아직 잘 모르는 내용!)
int main()
{
// 변수 선언, 정수형 변수 num을 선언함.
// 컴파일러는 num 변수를 저장할 적당한 메모리 공간을 할당하는 데 이 정보를 사용함.
// [중요] 모든 변수들은 사용하기 전 미리 선언해야 함.
int num;
num = 1; // 변수 num을 1로 초기화
// printf() : 큰 따옴표("") 안에 있는 문자열을 출력해줌.
printf("나는 단순한 ");
printf("컴퓨터이다.\n"); // \n : 한줄 enter
// %는 %가 있는 위치에 변수를 출력하라고 프로그램한테 알림.
// d는 그 변수를 10진수 정수로 출력하라고 알림.
// 여기서는 %d 자리에 num을 출력함 ==> 1
printf("나는 최고를 원하기 때문에 %d이라는 수를 좋아한다.\n", num);
// 프로그램이 }에 도달했을 때, 0 반환
return 0;
}
[디버깅]
★ 신택스 에러 (syntax error)
- C의 규칙을 따르지 않을 때 발생
- ex)
- 중괄호{} 대신 소괄호() 사용
- 주석 표시할 때 /* */ 쌍을 맞추지 않고, 빼먹었을 때
- 문장 끝의 세미콜론(;)이 빠졌을 때 등
★시맨틱 에러 (semantic error)
- 시맨틱 에러는 C의 규칙을 어겨서 발생하는 에러가 아님!!!
- 따라서, 컴파일러는 시맨틱 에러를 찾지 못함. (C의 규칙을 어기지 않았기 때문)
- 시맨틱 에러를 찾는 것은 전적으로 프로그래머의 몫!!
- ex)
- n = 5;
- n2 = n * n;
- n3 = n2 * n2;
- printf("n = %d\n, n의 제곱 = %d, n의 세제곱 = %d\n", n, n2, n3);
- n3는 n의 세제곱 값이 아님!!
[키워드와 예약된 식별자]
- 키워드는 변수 이름으로 사용XXXXX ==> 신택스 에러
ISO C 키워드 | |||
auto | extern | short | while |
break | float | signed | _Alignas |
case | for | sizeof | _Alignof |
char | goto | static | _Bool |
const | if | struct | _Complex |
continue | inline | switch | _Generic |
default | int | typedef | _Imaginary |
do | long | union | _Noreturn |
double | register | unsigned | _Static_assert |
else | restrict | void | #_Thread_local |
enum | return | volatile |
'C > 본수업' 카테고리의 다른 글
[2025.03.11] Ch.03_데이터와 C_연습문제 (0) | 2025.03.11 |
---|---|
[2025.03.10] Ch.03_데이터와 C (0) | 2025.03.10 |
[2025.03.10] Ch.02_C 첫걸음_연습문제 (0) | 2025.03.10 |
[2025.03.10] C언어 찍먹하기_2 (0) | 2025.03.10 |
[2025.03.07] C언어 찍먹하기 (0) | 2025.03.07 |