Category프로그래밍/C언어 300제 (90)

초급 50. 매크로 이해하기

학습 내용 : 매크로를 작성하고 사용하는 방법을 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include #define MAX(a, b) a > b ? a : b #define MIN(a, b) a

초급 49. #include문 이해하기

학습 내용 : printf() 함수나 getch() 함수 등을 사용하기 위해서 함수의 선언을 포기하는 방법을 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 #include #include void main() { char ch; printf("아무키나 누르세요...\n"); ch = getch(); printf("%c 키가 눌려졌습니다.", ch); } 실행 화면 : 라며 에러가 뜹니다... 그리하여 include 하지않고 getch() 함수를 만들어 보겠습니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include char getch(); void main() { char ch; printf..

초급 48. 변수의 범위 이해하기

학습 내용 : 전역 변수가 사용되는 범위와 지역 변수가 사용되는 범위에 대해 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include void print_x(int x); void print_gx(void); int x = 20; void main() { int x = 5; printf("x = %d\n", x); print_x(10); print_gx(); } void print_x(int x) { printf("x = %d\n", x); } void print_gx() { printf("x = %d\n", x); } 실행 화면 :

초급 47. 함수와 인수 이해하기

학습 내용 : 함수를 만들고, 함수에 값을 전달하기 위한 인수를 사용하는 방법을 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include int print(char* string); void main() { print("This is a function!\n"); } int print(char* string) { int len = 0; while (*string != (char)NULL) { printf("%c", *string); string++; len++; } return len; } 실행 화면 :

초급 46. 데이터형 정의하기

학습 내용 : 데이터형을 정의하는 방법을 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #define true 1 #define false 0 typedef int bool; void main() { bool bCondition; bCondition = true; if (bCondition == true) { printf("조건식은 true입니다.\n"); } } 실행 화면 :

초급 45. 열거형 이해하기

학습 내용 : 열거형을 선언하고 사용하는 방법을 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include enum { Sun = 0, Mon, Tue, Wed, Thr, Fri, Sat }; void main() { printf("%d ", Sun); printf("%d ", Mon); printf("%d ", Tue); printf("%d ", Wed); printf("%d ", Thr); printf("%d ", Fri); printf("%d \n", Sat); } 실행 화면 :

초급 44. 공용체 이해하기

학습 내용 : 구조체처럼 생긴 공용체를 사용하여 공용체의 의미와 사용 방법을 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include union tagVariant { int i; float f; }; void main() { union tagVariant V; V.i = 0; V.f = 5.5; printf("V.i = %d\n", V.i); printf("V.f = %f\n", V.f); } 실행 화면 :

초급 43. 구조체 이해하기

학습 내용 : 구조적인 프로그래밍을 위해 사용되는 구조체를 실제로 사용해봄으로써 구조체의 개념을 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include struct tagSungJuk { int kor; int eng; int math; }; void main() { struct tagSungJuk SJ; SJ.kor = 100; SJ.eng = 95; SJ.math = 99; printf("총합 = %d\n", SJ.kor + SJ.eng + SJ.math); } 실행 화면 :

초급 42. 널(NULL) 문자 이해하기

학습 내용 : 문자열의 끝은 NULL로 종료된다는 것을 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include int length(char* pstr); void main() { int len = length("abcde"); printf("길이 = %d\n", len); } int length(char* pstr) { int len = 0; while (*pstr != NULL) { pstr++; len++; } return len; } 실행 화면 :

초급 41. 포인터 이해하기

학습 내용 : 포인터는 그 자체로써는 의미가 없으며, 다른 변수 값 등을 가리키기 위해 사용한다는 것을 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include void main() { int saram_A = 0; int saram_B = 0; int* pointer; int* psaram; pointer = &saram_A; *pointer = 1; printf("%d, %d\n", saram_A, *pointer); psaram = &saram_A; *psaram = 2; printf("%d, %d, %d\n", saram_A, *pointer, *psaram); pointer = &saram_B..