Category전체 (109)

중급 60. 문자열을 비교하는 함수 만들기

학습 내용 : stcmp() 함수의 내부적인 흐름을 학습합니다. 소스 코드 : 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 #include #define SKY "sky" int My_strcmp(const char* string1, const char* string2); void main() { char string[100]; int ret; printf("영단어를 입력한..

중급 59. 문자열을 대.소문자로 구분하여 비교하기 (strcmp)

학습 내용 : 문자열을 비교하는 방법을 학습합니다. 소스 코드 : 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 26 27 28 29 30 31 32 33 34 #include #include #define SKY "sky" void main() { char string[100]; int ret; printf("영단어를 입력한 후 Enter키를 치세요!\n"); printf("sky를 입력하면 프로그램이 종료됩니다.\n"); do { gets(string); ret = strcmp(string, SKY); if (ret == 0) { printf("%s == %s, ret = %d\n", string, SKY, ret); break;..

중급 58. 문자열을 복사하는 함수 만들기

학습 내용 : strcpy() 함수의 내부적인 흐름을 학습합니다. 소스 코드 : 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 26 27 28 29 30 31 32 33 34 #include #include #define KOREA "대한민국" char* My_strcpy(char* dest, const char* src); void main() { char string[100]; My_strcpy(string, KOREA); puts(string); } char* My_strcpy(char* dest, const char* src) { if (dest == (int)NULL || src == (int)NULL) { if (*dest..

중급 57. 문자열 복사하기(strcpy)

학습 내용 : 문자열을 다른 버퍼에 복사하는 방법을 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include #define KOREA "대한민국" void main() { char *string1; char string2[100]; strcpy(string1, KOREA); // 실행 시 에러 발생 (초기화 되지 않았기 때문) strcpy(string2, KOREA); strcpy(string2, "봄"); }

중급 56. 문자열 출력하기 (puts)

학습 내용 : printf() 함수를 사용하지 않고 문자열을 출력하는 기본 원리를 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 #include #define KOREA "대한민국" #define SUMMER "여름" void main() { const char* winter = "겨울"; puts(KOREA); puts(SUMMER); puts(winter); } 실행 화면 :

중급 55. 문자열 입력받기 (gets)

학습 내용 : scanf() 함수를 사용하지 않고, 문자열을 키보드로부터 입력받는 방법을 학습합니다. 소스 코드 : 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 26 27 28 29 30 31 #include int count(char *str); void main() { char string[100]; char* ret; ret = gets(string); if (ret != NULL) { printf("문자 'a'의 갯수는 %d개입니다.\n", count(string)); } } int count(char *str) { int cnt = 0; while (*str != (int)NULL) { if (*str++ == 'a') {..

중급 54. 정수값 출력하기 (printf)

학습 내용 : 숫자 값 출력 시 좌우 정렬 및 길이를 설정하는 원리를 이해합니다. 소스 코드 : 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 26 27 28 #include void main() { int i = 100; int j = 1000; int k = 12345; // 정렬을 사용하지 않는 경우 printf("[%d]\n", i); printf("[%d]\n", j); printf("[%d]\n", k); // 출력을 5자리 설정 printf("[%5d]\n", i); printf("[%5d]\n", j); printf("[%5d]\n", k); // 출력을 10자리 설정 printf("[%10d]\n", i); print..

중급 53. 정수값 입력받기 (scanf)

학습 내용 : 정수값을 입력받는 기본 원리를 이해합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include #pragma warning(disable:4996) void main() { int sum = 0; int inputNum = 0; int i; for (i = 1; i

중급 52. 문자 출력하기 (putch)

학습 내용 : 한 개의 문자를 printf() 함수를 사용하지 않고 출력하는 원리를 이해합니다. 소스 코드 : 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 26 27 28 #include #include #pragma warning(disable:4996) int print(char *string); void main() { print("This is a putch function"); } int print(char *string) { int len = 0; while (*string != (char)NULL) { putch(*string); string++; len++; } // 현재 출력되고 있는 줄을 다음 줄의 첫 번째로 이동..

중급 51. 문자 입력받기 (getch)

학습 내용 : 키보드로부터 한 개의 문자를 입력 받는 원리를 학습합니다. 소스 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include #include #pragma warning(disable:4996) #define ENTER 13 void main() { int ch; printf("아스키 코드로 변환할 키를 누르세요...\n"); printf("Enter 키를 누르면 프로그램은 종료됩니다.\n"); do { ch = getch(); printf("문자 : (%c), 아스키 코드 = (%d)\n", ch, ch); } while (ch != ENTER); } 실행 화면 :