반응형

전체 글 2934

[정답] 디딤돌 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..

[정답] 디딤돌 C언어 46. 배열 선언문

[정답] 46. 배열 선언문 ◈ 기본 연습 1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요. 그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 각 원소의 값을 출력하세요. 답: //1. 한 학생의 국어 성적, 영어 성적, 수학 성적을 관리하는 배열을 선언하세요. //그리고 초기값으로 국어 성적은 80, 영어 성적은 60, 수학 성적은 90으로 지정하고 //각 원소의 값을 출력하세요. #include enum SubjectType { KOREAN, ENGLISH, MATH,MAX_SUBJECT }; int main(void) { int scores[MAX_SUBJECT] = { 80,60,90 }; const char *titles[MA..

[정답] 디딤돌 C언어 44.정리하기(제어문)

[정답] 44.정리하기(제어문) 1. 두 개의 정수를 입력받아 작은 값을 출력하는 코드를 작성하시오. 답: //두 개의 정수를 입력받은 후에 직은 값을 출력하는 프로그램 #include int main(void) { int a, b; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b); if (a > b) { printf("두 수 중에 작은 수는 %d\n", b); } else { printf("두 수 중에 작은 수는 %d\n", a); } return 0; } 2. 10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드를 작성하시오. 답: //10개의 정수를 입력받아 최소값과 최대값을 출력하는 코드 #include int main(void) { int num; int ..

[정답] 디딤돌 C언어 43. 제어문 연습 - 별출력

[정답] 43. 제어문 연습 - 별출력 1. 다음처럼 입력한 정수 높이의 삼각형을 출력하는 프로그램을 작성하시오. 답: //삼각형 출력 //입력 // 5 - n //출력 // * 1- 공백 4, 별1, 개행 // *** 2- 공백 3, 별3, 개행 // ***** 3- 공백2, 별5, 개행 // ******* 4- 공백1, 별7, 개행 // ********* 5- 공백0, 별9, 개행 //공백 = n-line //별 = 2*line -1 //개행=1 #include int main(void) { int n; int line,space,star; scanf_s("%d",&n);//입력 for(line=1;line

[정답] 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. 다..

[정답] 디딤돌 C언어 36. 증감 연산자

[정답] 26. 증감 연산자 ◈ 기본 연습 다음 프로그램의 실행 결과를 예측하시오. #include int main() { int i = 8, re = 0; re = i++; printf("i:%d re:%d \n", i, re); return 0; } 답: i:9 re:8 re = i++; 연산은 i++ 연산을 수행하고 연산 결과를 re에 대입하는 구문입니다. i++; 은 자신의 값을 1 증가하며 연산 결과는 증가하기 전의 값입니다. 따라서 i는 1 증가하여 9이며 re에는 증가하기 전의 값이 8입니다. 본문: 36. 증감 연산자

반응형