반응형

디딤돌 C언어 39

[정답] 디딤돌 C언어 73. 문자열 정리하기

[정답] 73. 문자열 정리하기 68. 문자열69. 문자열 사용 기초70. 문자열 길이와 strlen 함수71. 문자열 비교와 strcmp 함수72. 문자열 복사 1. 문자열 길이를 구하는 함수를 만드시오. (strlen 함수와 같은 기능을 하는 함수 만들기) 답: //문자열 길이를 구하는 함수를 만드시오. //(strlen 함수와 같은 기능을 하는 함수 만들기) #include #include int mystrlen(const char *str); int main(void) { char arr[100]; printf("문장 입력:"); gets_s(arr, sizeof(arr)); printf("%s string length:%d\n", arr, mystrlen(arr)); printf("%s stri..

[정답] 디딤돌 C언어 67. 정리하기(함수)

[정답] 67. 정리하기(함수) 52. 함수 개요 53. 프로그램 생명 주기 54. 프로세스 메모리 구조 55. 프로그램 동작 원리 56. 매개변수 전달 원리 57. 전역 변수 58. 지역변수 59. 정적 변수 60. 상수화 변수 61. 함수 만들기 실습 시나리오 62. 도메인 분석 63. 함수명 결정 64. 함수 원형 결정 65. 테스트 코드 작성하기 66. 구현 1. 피보나치 수열의 n 항을 구하는 함수를 구현하시오. //피보나치 수열의 n 항을 구하는 함수를 구현하시오. #include int Fibonacci(int n); int main(void) { int i; for (i = 1; i 2. 특정 구간 내에 n의 배수의 개수를 구하는 함수를 구현하시오. 답: //특정 구간 내에 n의 배수의 개..

[정답] 디딤돌 C언어 52. 함수 개요

[정답] 52. 함수 개요 ◈ 기본 연습 1. 두 개의 정수를 입력 매개변수로 전달받아 큰 수를 반환하는 함수를 작성하시오. 그리고 작성한 함수를 이용해서 2, 9 중에 큰 수를 출력하시오. 답: //두 개의 정수를 입력 매개변수로 전달받아 큰 수를 반환하는 함수 작성 //그리고 작성한 함수를 이용해서 2, 9 중에 큰 수를 출력 #include int FindBig(int a, int b); int main(void) { printf("%d\n", FindBig(2, 9)); return 0; } int FindBig(int a, int b) { if (a > b) { return a; } return b; } 2. 하나의 정수를 입력 매개변수로 전달받아 홀수일 때는 0을 반환하고 짝수일 때는 1을 반..

[정답] 디딤돌 C언어 50. 인덱스 연산자

[정답] 50. 인덱스 연산자 ◈ 기본 연습 1. 4 명의 국어 성적을 관리할 수 있는 배열을 선언하시오. 그리고 첫번째 학생은 90점, 두번째 학생은 85, 세번째 학생은 69, 네번째 학생은 75점으로 대입합니다. 네 명의 국어 성적의 합계, 평균을 출력하는 프로그램을 작성하시오 답: //4 명의 국어 성적을 관리할 수 있는 배열을 선언하시오. //그리고 첫번째 학생은 90점, 두번째 학생은 85, 세번째 학생은 69, 네번째 학생은 75점으로 대입 //네 명의 국어 성적의 합계, 평균을 출력하는 프로그램을 작성하시오 #include #define MAX_STUDENT 4 int main(void) { int scores[MAX_STUDENT]; int ni; int sum=0; scores[0] =..

[정답] 디딤돌 C언어 49. 간접 연산자

[정답] 49. 간접 연산자 ◈ 기본 연습 1. 다음 3단계를 수행하는 코드를 작성하세요. a. char 형식 변수 c를 선언하고 char 형식 을 원소로 하는 포인터 변수 p를 선언한 후에 변수 c의 주소를 p의 초기값으로 설정하세요. b. 포인터 변수 p에 간접 연산을 이용하여 'A'를 대입하세요. c. 그리고 변수 c의 문자를 출력하세요. 답: //char 형식 변수 c를 선언, char 포인터 변수 p 선언 및 변수 c의 주소로 초기화 //포인터 변수 p에 간접 연산을 이용하여 'A'를 대입 //변수 c의 문자를 출력 #include int main(void) { char c; char *p = &c; *p = 'A'; printf("%c\n",c); return 0; } ▷실행 결과 A 2. 다..

[정답] 디딤돌 C언어 47. 포인터 + 정수

[정답] 47. 포인터 + 정수 ◈ 기본 연습 1. char 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. 그리고 p에 4를 더한 후에 p가 얼마인지 출력하세요. 답: 1004 char 형식의 크기는 1 바이트이므로 p+4를 하면 p에서 sizeof(char)*4를 더하므로 1004 //char 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. //그리고 p에 4를 더한 후에 p가 얼마인지 출력하세요. #include int main(void) { char *p = (char *)1000; printf("%d\n", p + 4); return 0; } 2. short 형식을 원소로 하는 포인터 변수 p를 선언하고 1000으로 초기화하세요. 그리고 p에 4..

[정답] 41. 반복문(while, do while, for)

[정답] 41. 반복문(while, do while, for) ◈ 기본 연습 1. 두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램을 작성하시오. 답: //두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램 #include int main(void) { int a, b; int sum; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b)//a가 b보다 크면 { //두 수를 교환 int temp = a; a = b; b = temp; } printf("%d ~ %d =", a, b); for (sum = 0; a 2. 1부터 100 사이에 있는 모든 6의 배수를 출력하는 프로그램을 작성하시오. 답: /..

[정답] 디딤돌 C언어 40. 선택문(switch case)

[정답] 40. 선택문(switch case) ◈ 기본 연습 하나의 문자를 입력받아 ‘i’ 혹은 ‘I’일 때는 추가, ‘d’ 혹은 ‘D’일 때는 삭제 , ‘s’ 혹은 ‘S’일 때는 검색, ‘l’, ‘L’일 때는 전체 출력이라고 화면에 출력하는 프로그램을 작성하시오. 답: //하나의 문자를 입력받아 ‘i’ 혹은 ‘I’일 때는 추가, ‘d’ 혹은 ‘D’일 때는 삭제, //‘s’ 혹은 ‘S’일 때는 검색, ‘l’, ‘L’일 때는 전체 출력이라고 화면에 출력하는 프로그램 #include int main(void) { char key; printf("I:추가 D:삭제 S:검색 L:전체 출력\n"); printf("메뉴 선택:"); scanf_s("%c", &key,1); switch (key) { case 'i'..

[정답] 디딤돌 C언어 39. 조건문(if, else)

[정답] 39. 조건문(if, else) ◈ 기본 연습 1. 두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램을 작성하시오. 답: //두 개의 정수를 입력받은 후에 큰 수를 출력하는 프로그램 #include int main(void) { int a, b; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b) { printf("두 수 중에 큰 수는 %d\n", a); } else { printf("두 수 중에 큰 수는 %d\n", b); } return 0; } 2. 0~100 사이의 정수를 입력받은 후에 90~100일 때 A, 80~89일 때 B, 70~79일 때 C, 60~69일 때 D, 50~59일 때 F, 그 외에는 NA를 출력하는 프로그램..

[정답] 디딤돌 C언어 38. 정리하기 (연산자)

[정답] 38. 정리하기 (연산자) 1. 다음 리터럴 상수로 초기값을 설정하는 선언문 중에서 오류가 있는 것을 고르시오. a. char c = "hello"; b. int i = 'a'; c. char c = 38; d. char c = 0xC; 답: a "hello"는 문자열이며 char 형식을 원소로 하는 배열이나 포인터 형식 변수로 사용할 수 있습니다. 2. 다음 코드를 수행했을 때 출력 결과를 예측하시오. printf("%d\n", 8^8); 답: ^ 연산은 비트 자리별로 같으면 0이고 다르면 1로 계산하는 연산입니다. 좌항과 우항이 같은 수이므로 모든 자리는 같으며 따라서 결과도 모든 자리가 0입니다. 3. 다음 코드를 수행했을 때 출력 결과를 예측하시오. printf("%d\n", 2 5. 다..

반응형