C언어 스케치 13장 솔루션 - ceon-eo seukechi 13jang sollusyeon

본 자료는 3페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

7. 조건에 대한 판단과 선택
7.1) 다음의 프로그램에서 정수형 변수 x에 5가 저장되어있다면 각각의 조건문을 실행했을 때 변수 x에 저장된 값은?
7.2) 정수형 변수 c에 2가 저장되어 있다면 다음의 프로그램을 실행했을 때 출력될 결과는?
7.3) 정수형 변수 x에 대해 다음의 처리가 이루어지도록 빈칸을 작성하시오.
7.4) 세 개의 정수형 숫자를 입력받아 제일 큰 수를 출력하는 순서도와 프로그램을 작성하시오.
7.5) 다음의 표를 기준으로 나이에 따라 티켓을 출력하는 프로그램을 조건문을 사용하여 작성하시오.
7.6) 입력된 평점에 대해 다음 등급과 같은 등급을 출력하는 프로그램을 작성하시오.
7.7) 입력한 년도가 윤년인지 또는 평년인지를 구분하여 출력하는 프로그램을 작성하시오.
해당되는 년도를 4로 나누어 나머지가 0 이고, 100으로 나누었을 때 나머지가 0이 아니면 윤년입니다. 단 예외가 있는데, 100으로 나누었을 때 나머지가0 이더라도 400으로 나누어 나머지가 0이면 윤년입니다. 예를 들어 2000년은 4로 나누어 나머지가 0이고 100으로 또는 400으로 나누어 나머지가 0이므로 윤년입니다.

8. 반복문
8.1) 다음 반복문의 실행 결과를 예측하시오.
8.2) 다음 프로그램이 실행된다면 printf()에 의해 출력될 내용은?
8.3) 다음의 반복문에서 각각 홀수와 짝수를 출력하기 위해 사용해야할 숫자를 채우시오.
8.4) 다음의 반복문에서 printf()는 몇 번 반복하는가?
8.5) 일단 반복을 한번 처리한 후에 조건에 의해 반복 여부를 결정하는 반복문은?
8.6) 다음의 설명 중에서 맞는 것을 모두 고르시오.
8.7) 1부터 100까지의 합을 계산하는 다음의 반복문의 빈칸을 완성하시오.
8.8) 다음 반복문 안의 printf()문장은 몇 번 반복하는가? 그리고 출력될 결과는?
8.9) 중첩된 반복문을 이용하여 아래와 같이 출력되도록 각각 프로그램 하시오.

13. 번호가 붙은 변수, 배열

본문내용

=0;i<6;i++)
{
for(j=0;j<=i;j++)
printf(\"%d\", j);
printf(\"\\n\");
}

for(i=0;i<6;i++)
{
for(j=0;j<6-i;j++)
printf(\"%d\", j);
printf(\"\\n\");
}

for(i=0;i<6;i++)
{
for(j=5-i;j>=0;j--)
printf(\"%d\", j);
printf(\"\\n\");
}
13. 번호가 붙은 변수, 배열
13.1) 다음의 배열의 초기화 중 오류가 있는 것은?(3)
① int korea[5];
② int korea[]={2, 4, 9, 6};
③ int korea[3]={2, 4, 9, 6};
④ int korea[5]={2, 8};
[해설] 배열을 초기화할 경우 배열의 크기는 데이터의 개수와 일치해야 합니다. 그러나 배열의 크기>데이터의 개수라면 나머지 요소는 0으로 초기화되고, 배열의 크기<데이터의 개수 이면 컴파일 오류가 발생합니다.
13.2) 다음 배열의 초기화 중 문법 오류가 있는 것은?(2)
① char c[5]=\"test\"; ② char c[2]=\"test\";
③ char c[7]=\"test\"; ④ char c[ ]=\"test\";
[해설] 1차원 배열을 초기화할 경우에 배열의 크기는 생략할 수 있습니다. 문자열을 문자형 배열에 저장하는 경우 실제 문자의 개수보다 한개 더 크게 배열의 크기를 잡아야 합니다. 그러나 ②의 경우에는 문자의 개수(4)보다 배열의 크기(2)가 적으므로 컴파일 오류가 발생합니다.
13.4) 다음 프로그램의 실행결과를 예측하시오.

#include


int main(void)
{
int arr[7]={11, 22, 33, 44, 55, 66, 77};
int i;
for(i=1; i<=6; i=i+2)
printf(\"%d\\n\", arr[i]);
return 0;
}
[실행 결과]
22
44
66
반복문의 제어변수 i는 1부터 2씩 증가하므로 arr[1], arr[3], arr[5]의 값을 출력합니다.

배열을 초기화할 경우 배열의 크기는 데이터의 개수와 일치해야 합니다. 그러나 배열의 크기>데이터의 개수라면 나머지 요소는 0으로 초기화되고, 배열의 크기<데이터의 개수 이면 컴파일 오류가 발생합니다.
#include
int main(void)
{
int arr[3]={0};
int i;
for(i=0; i<3; i++)
printf(\"%d\", arr[i]);
return 0;
}
[실행 결과]
0 0 0

%c는 문자형을 출력하는 형식 지정자이고, %d는 정수형을 출력하는 형식지정자로서 이 문제에서는 %d 부분에 각 문자에 대한 ASCII 코드가 출력됩니다.
#include
int main(void)
{
char ch[9]=\"cprogram\";
int i;
for(i=0; i<8; i++)
printf(\"%c : %3d\\n\", ch[i], ch[i]);
return 0;
}
[실행 결과]

제어변수 i는 2에서 0으로 감소하지만 배열의 첨자는 d[2-i]로 되어 있기 때문에 0부터 2까지 변화합니다.
#include
int main(void)
{
double d[3]={0.1, 0.2, 0.3};
int i;
for(i=2;i>=0;i--)
printf(\"%.1f\\n\", d[2-i]);
return 0;
}
[실행 결과]
0.1
0.2
0.3
13.5) 2행 3열의 정수형 2차원 배열로 선언된 배열 t에 대하여 1행 2열의 원소에 3을 기억시키는 것은?(4)
① t(1,2)=3; ② t[1,2]=3; ③ t(0)(1)=3; ④ t[0][1]=3;
13.6) 다음 프로그램의 출력결과가 [그림]과 같이 나타나도록 하려면 빈칸의 초기화에 맞는 것을 모두 고르시오. (1, 2)
[해설] 배열에 데이터를 초기화 할 경우 C 언어는 행 우선으로 초기화를 합니다. 따라서 ①과 ②는 같은 방법으로 초기화를 합니다.
#include
int main(void)
{
int a[2][3]=
, i, j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf(\" %d \", a[i][j]);
printf(\"\\n\");
}
return 0;
}
[실행 결과]
1 2 3
4 5 6
① {1,2,3,4,5,6}
② {{1,2,3}, {4,5,6}}
③ {{1,2},{3,4},{5,6}}
④ {{1,3,5}, {2,4,6}}

키워드

추천자료

  • 가격1,000
  • 페이지수9페이지
  • 등록일2020.08.06
  • 저작시기2020.8
  • 파일형식한글(hwp)
  • 자료번호#1134488

본 자료는 최근 2주간 다운받은 회원이 없습니다.

Toplist

최신 우편물

태그