[P4C] C언어 코딩 도장 : UNIT 48 ~ UNIT 50
2021. 3. 15. 00:21
Programming Languages/C
Unit 48. 구조체 사용하기 구조체는 struct 키워드로 정의하며 data structure(자료 구조)의 약어로 struct를 사용한다. 구조체는 관련 정보를 하나의 의미로 묶을 때 사용한다. 48.1 구조체를 만들고 사용하기 struct 구조체이름 { 자료형 멤버이름; }; 구조체는 struct 키워드로 정의한다. 구조체는 정의만 해서는 사용을 할 수가 없다. 따라서 구조체도 변수로 선언해서 사용한다. struct 구조체이름 변수이름; #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include // strcpy 함수가 선언된 헤더 파일 struct Person { // 구조체 정의 char name[20]; //..
[P4C] C언어 코딩 도장 : 문제 풀이 6
2021. 3. 15. 00:19
Programming Languages/C
45.7 심사문제 : 문자열 자르기 문제 : 표준 입력으로 길이 60 이하의 인터넷 도메인이 입력됩니다. 점을 기준으로 문자열을 분리하여 각 줄마다 출력하세요. 정답 : #define _CRT_SECURE_NO_WARNINGS #include #include int main(void) { char s[61]; scanf("%s", s); char *ptr = strtok(s, "."); while (ptr != NULL) { printf("%s\n", ptr); ptr = strtok(NULL, "."); } return 0; } 45.8 심사문제 : 특정 단어 개수 세기 문제 : 표준 입력으로 길이 1,000 이하의 문자열이 입력됩니다. 입력된 문자열에서 "the"의 개수를 출력하는 프로그램을 만드세요..
[P4C] C언어 코딩 도장 : UNIT 45 ~ UNIT 47
2021. 3. 14. 12:54
Programming Languages/C
Unit 45. 문자열 자르기 45.1 문자를 기준으로 문자열 자르기 strtok 함수는 특정 문자를 기준으로 문자열을 자르는 방법이다. (string.h 헤더 파일에 선언되어 있음). strtok(대상문자열, 기준문자); #define _CRT_SECURE_NO_WARNINGS // strtok 보안 경고로 인한 컴파일 에러 방지 #include #include // strtok 함수가 선언된 헤더 파일 int main() { char s1[30] = "The Little Prince"; // 크기가 30인 char형 배열을 선언하고 문자열 할당 char *ptr = strtok(s1, " "); // " " 공백 문자를 기준으로 문자열을 자름, 포인터 반환 while (ptr != NULL) // 자..
[P4C] C언어 코딩 도장 : UNIT 41 ~ UNIT 44
2021. 3. 14. 00:59
Programming Languages/C
Unit 41. 문자열의 길이를 구하고 비교하기 41.1 문자열 길이 구하기 문자열의 길이는 strlen 함수로 구할 수 있다. (string.h 헤더 파일에 선언되어 있음). strlen(문자열포인터); strlen(문자배열); #include #include // strlen 함수가 선언된 헤더 파일 int main() { char *s1 = "Hello"; // 포인터에 문자열 Hello의 주소 저장 char s2[10] = "Hello"; // 크기가 10인 char형 배열을 선언하고 문자열 할당 printf("%d\n", strlen(s1)); // 5: strlen 함수로 문자열의 길이를 구함 printf("%d\n", strlen(s2)); // 5: strlen 함수로 문자열의 길이를 구함..
[P4C] C언어 코딩 도장 : 문제 풀이 5
2021. 3. 14. 00:07
Programming Languages/C
39.8 심사 문제 : 문자열 만들기 문제 : 표준 출력으로 다음과 같은 문자열이 출력되게 만드세요. Beethoven 9th Symphony 정답 : #include int main() { char s1[] = "Beethoven\n9th\nSymphony"; printf("%s\n", s1); return 0; } 40.8 심사문제 : 문자열 네 개 입력받기 문제 : 표준 입력으로 어떤 문자열 네 개가 입력됩니다(각 문자열의 길이는 30 이하). 입력된 문자열 네 개를 각각 한 줄씩 출력하는 프로그램을 만드세요. 정답 : #include int main(void){ char s1[31]; char s2[31]; char s3[31]; char s4[31]; scanf("%s %s %s %s", s1,..
[P4C] C언어 코딩 도장 : UNIT 39 ~ UNIT 40
2021. 3. 14. 00:05
Programming Languages/C
Unit 39. 문자열 사용하기 39.1 문자와 문자열 포인터 알아보기 문자열은 char 포인터 형식으로 사용한다. char *변수이름 = "문자열"; #include int main() { char c1 = 'a'; // 변수에 문자 'a' 저장 char *s1 = "Hello"; // 포인터에 문자열 "Hello"의 주소 저장 printf("%c\n", c1); // a: %c로 문자 출력 printf("%s\n", s1); // Hello: %s로 문자열 출력 return 0; } 문자는 1바이트 크기의 char에 저장할 수 있지만 문자열은 크기가 1바이트를 넘어서므로 char에 저장할 수 없다. 따라서 문자열은 변수에 직접 저장하지 않고 포인터를 이용해서 저장한다. 즉, 문자는 변수 c1 안에 그..