반응형
1. 반복문인 while문과 do-while문의 차이점을 설명하시오.
while문은 조건식을 먼저 확인한 후 본문을 실행하지만 do~while문은 본문을 먼저 실행한 후 조건식을 확인한다.
2. if문이 두 번 나타나는 ①, ②를 논리 연산자를 이용해 두 조건을 하나로 표현한 if문으로 작성하시오.
①
if (x < 10)
printf("%d\n", x);
if (x > 20)
printf("%d\n", x);
if (x < 10 || x>20)
printf("%d\n", x);
②
if (x > 10)
if (x < 20)
printf("%d\n", x);
if (x > 10 && x < 20)
printf("%d\n", x);
3. 다음 코드에서 잘못된 부분을 찾아 수정하시오.
#include <stdio.h>
int main(void)
{
float n;
printf("입력:");
scanf_s("%f", &n);
switch (n)
case 1.0:printf("%f\n", n);
case 1.0:printf("%f\n", n + 1);
case 1.0:printf("%f\n", n + 2);
default:printf("실행 종료!");
return 0;
}
#include <stdio.h>
int main(void)
{
int n;
printf("입력:");
scanf_s("%d", &n);
switch (n)
{
case 1:printf("%d\n", n);
case 2:printf("%d\n", n + 1);
case 3:printf("%d\n", n + 2);
default:printf("실행 종료!");
}
return 0;
}
/*조건식의 결과값은 반드시 정수형이어야 하므로
입력받는 변수의 자료형을 float형에서 int형으로 바꾸었다.
case 레이블에 명시하는 값도 정수형 상수만 가능하므로 정수 1,2,3으로 바꾸었다.
case 레이블을 중괄호로 묶었다.*/
//음수, 양수, 0 구분하기
if (n > 0)
printf("양수");
else(n < 0)
printf("음수");
else(n==0)
printf("0");
if (n > 0)
printf("양수");
else if (n < 0)
printf("음수");
else
printf("0");
//1~10의 합 sum 구하기
sum = 0;
for (i = 1, i <= 10, i + 1);
sum = sum + i;
//1~10의 합 sum 구하기
sum = 0;
for (i = 1; i <= 10; i + 1)
sum = sum + i;
4. 다음 프로그램의 실행 결과를 추정한 뒤 직접 실행한 결과값과 비교해보시오.
①
int main(void)
{
if (10 % 3 && 1 - 0)
printf("ABC");
else
printf("DEF");
printf("G");
return 0;
}
//10%3과 1-0의 값이 1, 참이므로 ABC가 출력되고 G가 출력되어 ABCG가 출력될 것이다.
②
#include <stdio.h>
int main(void)
{
int i, j;
for (i = 1; i <= 3; i++)
for (j = 1; j <= 3; j++)
i += j;
printf("i=%d, j=%d\n", i, j);
return 0;
}
//i가 1일 때 중첩된 for문이 실행된다.
//i에 1,2,3이 차례로 더해지고 i는 7이 되어 반복문 종료, 7,3이 출력될 것이다.
본문 실행 후 증감식이 실행되어 j는 4, i는 8이 된다.
③
#include <stdio.h>
int main(void)
{
int n = 1;
while (n++ <= 10)
{
if (n == 7)continue;
printf("n=%d\n", n);
}
return 0;
}
/*n이 조건식에 사용된 후 2가 되고 출력된다.
3,4,5,6,까지 마찬가지로 출력된 후 n의 값이 7이므로 continue가 실행된다.
이후 8,9,10,11까지 출력될 것이다.*/
④
#include <stdio.h>
int main(void)
{
int n = 1, sum = 0;
do
{
sum = ++n + 5;
} while (n <= 10);
printf("sum=%d\n", sum);
return 0;
}
/*
do 구문 속 문장이 먼저 실행되어 sum이 7이 되고,
계속 증가해 n이 10이 될 때 sum은 15가 되어 종료될 것이다.*/
n이 10이면 ++n+5가 실행되어 11+5=16의 값으로 종료된다.
반응형
'프로그래밍 > C, C++' 카테고리의 다른 글
소수점 이하 자리에 나오는 0을 없애고 싶을 때 (0) | 2020.05.25 |
---|---|
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 5~7 (0) | 2018.03.17 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (11~16) (0) | 2018.02.02 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (6~10) (0) | 2018.02.01 |
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (1~5) (0) | 2018.01.29 |