BRONZE
BRONZE 등급의 판매자 자료

C 프로그래밍(새내기를 위한 첫 C언어 책) 10 연습문제

"C 프로그래밍(새내기를 위한 첫 C언어 책) 10 연습문제"에 대한 내용입니다.
22 페이지
한컴오피스
최초등록일 2019.01.05 최종저작일 2015.10
22P 미리보기
C 프로그래밍(새내기를 위한 첫 C언어 책)  10 연습문제
  • 미리보기

    소개

    "C 프로그래밍(새내기를 위한 첫 C언어 책) 10 연습문제"에 대한 내용입니다.

    목차

    1. 일반 변수와 포인터 변수가 저장하는 값의 차이점을 적으시오.
    2. 다음 코드와 같이 int형 변수 sum이 선언되어 있을 때 ptr이란 포인터 변수가 sum을 가리키게 한 후 ptr을 이용하여 sum에 저장된 값을 출력하도록 밑줄을 채우시오.
    3.다음 코드의 결과를 추정함으로써 무엇을 하기 위한 코드인지 적고 프로그램으로 완성하여 실행한 다음 추정한 결과와 실행결과를 비교해보시오.
    4. int *ptr = &var; 로 선언한 포인터 변수 ptr에 대해 ptr과 *ptr이 참조하는 내용이 어떻게 다른지 차이점을 적으시오.
    5. 다음 코드의 실행결과를 적으시오.
    6. 다음 코드의 실행결과를 적으시오.
    7. 다음 코드의 실행결과를 적으시오.
    8. 다음 코드의 실행결과를 적으시오.
    9. 다음 코드의 실행결과를 적으시오.
    10. 다음 배열에서 ①~④ 가 의미하는 배열 원소는 무엇인지 밑줄에 적으시오.
    11. 다음 프로그램은 main의 두 정수 a와 b에 대해 나누기를 한 몫과 나머지를 quotient와 remainder에 구하여 출력하기 위한 것이다. 그러나 프로그램을 실행하면 잘못된 결과가 나온다. 프로그램에서 잘못된 곳을 찾아 이유를 설명하고 바르게 수정하시오.
    12. main 함수의 sec 변수에 초 단위의 시간을 입력받은 후 이 시간이 몇 분 몇 초에 해당하는지 main 함수의 min과 sec 변수에 구하는 프로그램을 작성하시오. min과 sec의 값은 compute_time 함수를 이용하여 구한다.
    13. 다음의 배열 ary에 저장된 값을 포인터 연산을 통해 출력하시오. 배열의 원소수는 배열의 크기와 배열 원소의 크기를 이용하여 구한다.
    14. 11과 12번 문제와 같이 함수 간 인수 전달에서 주소에 의한 호출이 필요한 예를 찾아 문제를 제시하고 프로그램으로 작성하시오.
    15. 대학의 학점은 일반적으로 A+가 4.5점에 해당하지만 학교에 따라 4.3 점인 경우도 있다. 4.3 만점제가 적용된 학생의 학점이 grade 일 때 이 grade를 4.5 만점제에 맞추어 변환한 값 grade2와 100점 점수제로 변환한 값 score를 구하는 프로그램을 작성하시오. main 함수는 입력받은 grade에 대한 grade2와 score를 구하기 위해 convert 함수를 이용하도록 한다. grade가 4.2 면 grade2. 4.4이며 score는 97.7이다.
    16. [프로그램 8-17]의 compute_avg 함수는 전달된 인수를 배열로 선언하여 처리한다. compute_avg 함수가 포인터를 이용하여 처리하도록 수정하시오.
    17. sales 배열에 대리점 10곳의 월 판매량이 저장되어 있다. 이 배열에서 사용자가 입력한 n에 대해 상위 n개의 판매량을 출력하는 프로그램을 작성하시오. 상위 n개의 값을 sales[0] ~ sales[n-1] 에 저장하는 top_n 함수를 정의하여 이용하며 main 함수의 sales 배열은 다음과 같이 초기화한다.
    18. 10명의 퀴즈 점수 15,4,8,9,6,13,12,10,9,11을 저장하고 있는 배열 quiz의 최대치를 출력하는 프로그램을 작성하시오. quiz 배열의 최대치는 전달된 배열의 최대치에 대한 배열 첨자를 반환하는 함수 index_of_max를 이용하도록 작성하시오.
    19. 학생 10명의 이름, 전화번호, 평점 정보가 저장되어 있을 때 학생 이름으로 정보를 검색하여 출력하는 프로그램을 작성하시오. 입력된 학생 이름과 동일한 이름의 학생이 있는 지 검색하는 함수 search를 정의하여 이용한다. search 함수는 18번 문제의 index_of_max 함수와 유사하게 사용자가 입력한 이름과 학생 이름이 저장된 배열을 전달받아 동일한 이름의 학생이 있다면 그 문자열의 행 첨자를 반환하며 그렇지 않다면 –1을 반환한다. 즉 mainㅎ마수에서는 search 함수가 반환한 이름 배열의 행 첨자를 이용하여 전화번호와 평점 정보를 출력할 수 있으며 반환 값이 –1이라면 검색에 실패했음을 확인하고 적절한 메시지를 출력할 수 있다. char형 포인터를 이용하여 문자열을 처리할 때는 동적 할당을 받지 않고는 문자열 입력을 할 수 없으므로 학생의 정보는 char *name[N] = {이름 문자열 N개}, 전화번호는 char *phone[N] = {전화번호 문자열 N개}, 평점은 double grade[N] = {평점 N개} 와 같이 선언을 하면서 초기화 한다. 문제의 해결 과정은 다음과 같다.
    20. 1~45 범위의 난수 6개로 구성된 로또 번호를 생성하는 프로그램을 작성하시오. 난수 6개는 no 배열에 저장하되 6개의 난수가 서로 달라야 하며 화면에 출력될 때는 오름차순으로 정렬하여 표시한다. 사용자에게 생성한 로또 번호를 보여준 후에는 새로운 로또번호의 생성 여부를 물어 사용자가 [Esc] 키를 누르면 더 이상 생성하지 않고 실행을 끝낸다.
    21. char msg[] = “Happy Birthday! ”; msg에 문자열이 저장되어 있다. 전광판에 글자가 반복적으로 지나가는 것과 같이 “Happy Birthday! ” 문자열의 글자들이 다음 그림과 같이 0.5 초 마다 한 글자씩 앞으로 당겨져셔 한 바퀴 회전하여 마지막에는 다시 “Happy Birthday! ”가 나타나서 끝나는 프로그램을 작성하고자 한다. 이 문제에서는 문자열 내용을 직접 변경하지 말고 포인터를 사용하여 해결하시오.

    본문내용

    1. 일반 변수와 포인터 변수가 저장하는 값의 차이점을 적으시오.
    일반 변수는 정수/실수/문자 중 1개의 값을 저장한다. 하지만 포인터 변수는 값이 아니라 "주소"(변수, 배열 등 저장공간이 할당된 것)를 저장한다.

    2. 다음 코드와 같이 int형 변수 sum이 선언되어 있을 때 ptr이란 포인터 변수가 sum을 가리키게 한 후 ptr을 이용하여 sum에 저장된 값을 출력하도록 밑줄을 채우시오.
    1 Int sum = 0;
    2 ______________________________ //ptr 선언
    3 ______________________________ //ptr이 sum을 가리키기
    4 printf("sum = %d \n",________) //ptr을 이용하여 sum 값을 출력하기.

    2. int *ptr;
    3. ptr = ∑
    4. printf("sum = %d \n",*ptr);

    <중 략>

    10. 다음 배열에서 ①~④ 가 의미하는 배열 원소는 무엇인지 밑줄에 적으시오.
    int matrix[2][3] = { {1,2,3} , {10,20,30} };

    ①*matrix
    ②*matrix[0]
    ③*matrix[1]
    ④*(matrix[1]+1)

    설명 :
    1. 우선 *matrix 같은 경우는 좀 더 이해하기 쉬운 배열로 바꾸게 되면 matrix[0] 과 같은 형태이다. 즉 matrix의 첫 번째 행을 가리키기 때문에 첫 번째 행의 주소값이 출력이 된다. (결과 값은 항상 바뀔수 있다.)

    2. *matrix[0] 같은 경우는 좀 더 이해하기 쉬운 배열로 바꾸게 되면 matrix[0][0] 과 같은 형태이다. matrix[0]에 첫 번째 주소가 가리키고 있는 곳을 간접참조 하라는 뜻이다. 그러므로 1이 출력이 된다.

    3. *matrix[1] 같은 경우 좀 더 이해하기 쉬운 배열로 바꾸게 되면 matrix[1][0] 과 같은 형태이다. matrix[1 ]에 첫 번째 주소가 가리키고 있는 곳을 간접참조 하라는 뜻이다. 그러므로 10이 출력이 된다.

    참고자료

    · 없음
  • 자료후기

    Ai 리뷰
    지식판매자의 해당 자료는 과제를 작성하는 데 큰 도움이 되었고, 내용이 풍부하여 많은 정보를 얻을 수 있었습니다. 정말 추천할 만한 자료입니다.
    왼쪽 화살표
    오른쪽 화살표
  • 자주묻는질문의 답변을 확인해 주세요

    해피캠퍼스 FAQ 더보기

    꼭 알아주세요

    • 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
      자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
      저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
    • 해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.
      파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
      파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

찾으시던 자료가 아닌가요?

지금 보는 자료와 연관되어 있어요!
왼쪽 화살표
오른쪽 화살표
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 캐시를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2025년 05월 12일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
11:37 오전