1. switch 함수의 사용 방법은

 

 switch( 조건분기할 변수 )

  case 변수의값 : 실행내용 break;

  case 변수의값2 : 실행내용 break;

  case 변수의값3 : 실행내용 break;

 default : 실행내용

 

과 같다. 이를 암기하시오. 또한 아래 문제를 해결하시오.(2시간 소요)

 

가. 이차방정식 ax2+bx+c = 0 에 대해 a,b,c를 선언하고, 각각 입력받으시오.

     단, 입력받은 a=0이면 0이 아닌 수를 입력할 때 까지 반복하여 입력을 받도록 하시오.(do while이용)

나. math.h를 include하시오

다. 변수 det를 선언하고, 이차방정식의 판별식을 계산하여 넣으시오.

라. 변수 SolNum를 선언하고, if~elseif~else로 해의 갯수를 넣으시오. '나'를 활용하시오.

마. switch 함수를 만들고 조건분기할 변수를 SolNum으로 하시오.

바. case에서 SolNum=2 이면 두 근을 표시하시오.

사. case에서 SolNum=1 이면 중근을 표시하시오.

아. case에서 SolNum=0 이면 '해가없다'를 표시하시오.

 

 

2. 숫자를 읽어주는 프로그램을 만드시오.(2시간 소요)

  가. 1~99까지 반복문을 for로 만드시오.

  나. 1~99까지의 수의 십의자리를 읽어주는 프로그램을 switch case로 만드시오.

    x번째 수에 대해, x를 10으로 나눈 몫 n이 십의 자리이다.

    n=1이면 '십', n=2이면 '이십', n=3이면 '삼십'....과 같이 십의 자리를 읽어주도록 만드시오.

  다. 1~99까지의 수의 일의자리 m를 읽어주는 프로그램을 switch case로 만드시오. 나머지 연산자를 이용하시오.

    m=1이면 '일' m=2이면 '이', m=3이면 '삼'.... 과 같이 일의 자리를 읽어주도록 만드시오.

  라. 나~다에서 switch case가 아닌 if ~elseif~ else~를 이용하여 똑같은 기능을 하도록 만드시오.

  마. switch case와 if elseif else의 특징에 대해 조사하고 어떤 때에 어떤 분기를 쓰면 유리한지 50자 이내로 정리해 보시오.

  switch case는 변수 값이 정해져 있을때 사용하는게 좋다. 조건을 보다 간결하게 표현할수 있는 장점이 있다.

  if elseif else는 변수가 정해진 범위(남자, 여자) 사용하는 것이 유리하다.

 

3. 환전 프로그램을 만드시오 (2시간 소요)

  가. 환전하고자 하는 한국 돈을 int input으로 입력받으시오.

  나. define을 통해 USA,JAPAN,EUROPE를 1,2,3 으로 정의하시오. 어느나라 돈으로 바꿀지를 정의할 때 사용할 것임(switch case의 입력임) 

  다. define을 통해 USD,JPY,EUR을 정의하시오. 현재 환율을 이용하시오. 단, 엔화환율은 100으로 나누어야 계산이 정상동작함

  라. 어느나라 통화로 바꿀것인지 입력받으시오.(1.USA 2.JAPAN 3.EUROPE) switch ~ case문을 통해 바꿀통화의 번호를 nation이라는 변수로 받아 USA,JAPAN,EUROPE와 비교하여 넣으시오.

 

 scanf( "%d", &nation );

 

 switch( nation )

  case USA : 실행내용 break;

  case JAPAN : 실행내용 break;

  case EUROPE : 실행내용 break;

 default : 실행내용

 

 

  마. case문 안에서 원화량을 환율로 나누어 외환으로 얼마인지 구하시오.

  바. 1달러 미만, 1000엔 미만, 1유로 미만은 절사하고 한국돈 잔돈으로 받을수 있도록 계산하시오.

  사. 최종적으로 한국돈입력, 어느나라통화로 바꿀지 입력하면 상대 통화로 얼마를 받을수 있고 잔돈은 얼마인지 출력되는 프로그램을 만드시오.

  아. define을 통해 USA,JAPAN,EUROPE,USD,JPY,EUR등을 정의하면 무엇이 좋은지 50자 이내로 쓰시오.

    define으로 정의해ㅅ 놓으면 코드 가독성도 좋고 프로그램을 읽기 쉽게 만들 수 있다.

    그리고 상수를 바꿔야 할 일이 생기면  지시어만 바꾸어 주면 되기 때문에 유지보수성에서도 좋다.

'C언어' 카테고리의 다른 글

C언어 기초 12주차  (0) 2020.12.21
C언어 기초 9주차  (0) 2020.11.29
c언어 기초 7주차  (0) 2020.11.15
c언어 기초 6주차  (0) 2020.11.08
c언어 기초 5주차  (0) 2020.11.01
by 맑은소금 2020. 11. 22. 23:07

# 기본과제 및 제출 양식

1. while의 사용방법은

 

while( 조건식 )

{

  조건식이 참일때 실행할 문장

}

 

과 같다. 이를 암기하시오. 또한 아래 문제를 해결하시오.(3시간 소요)

 

  가. 100, 97, 94... 와 같은 등차수열이 있다.

  An = a + (n-1)*d; a=초항, d=공차임을 이용하여 등차수열의 일반항을 수기로 구하시오. 위 수열에서 초항은 100, 공차는 -3이다. 이 때, n값을 숫자로 넣으면 A를 계산해주는 프로그램을 for문을 이용하여 구하시오. 예를들어, n=3 이면 94를 출력해야함.

 

 

  나. S1 = 100;

       S2 = 100 + 97;

       S3 = 100 + 97 + 94;

       Sn = A1 + A2 + A3 + ... + An; 임을 이용하여 S1, S2, S3 .... S34, S35 를 for문을 이용하여 구하시오. '가'에서 만들어놓은 일반항 프로그램을 재사용 하여 구현하시오. (예를들어, Sum = Sum + A; A = 103-3N; 과 같이 구하면 됨) 예를들어,  n=5 이면 470을 출력해야함. (=100+97+94+91+88)

 

 

  다. S34은 100+97+94...1 이어서 모든 수가 양수가 더해지고 있고, S35는 100+07+94+...1+ (-2) 처럼 되어 음수를 처음으로 더하게 되므로 Sn의 최대값은 S34이다. Sn의 최대값을 구하기 위해 어디까지 Sum하여야 하는지 수기로 계산하여야 하는 불편함이 있다. '나'에서 만든 프로그램을 조건식 A>0으로 주고 while문을 이용하여 똑같은 기능을 하는 프로그램을 구현하시오. 

 

  라. '다'를 개조하여, 초항과 공차를 입력받아

공차가 양수이거나 초항과공차가 모두 음수인경우 S1,S2,S3... S20를 출력하고,

초항이 양수이고 공차가 음수이면 수열의 값이 0 이상일때까지만 합해지도록 하여 부분합S를 출력해 보시오. for과 while중 구현하기 유리한 것을 선택하여 사용해 보시오.

 

  마. 코딩 중, for문과 while문 중 어떤 반복문을 어떨때 사용하는 것이 더 유리한지 50자 이내로 정리해보시오.

 

 for문을 사용할 경우는 반복 횟수를 정확히 알고 있을 때 사용한다. 
 while문은 조건을 입력후 진행 할 경우에는 사용한다. 

 

 

2. Do while문의 사용법은

 

Do{

  조건식이 참이거나 첫 실행일때 실행할 문장

}while( 조건식 )

 

과 같다. 이를 암기하시오. 또한 아래 문제를 해결하시오. (1시간 소요)

 

  가. Do While문 바깥에 char password = 'a' 를 주시오. char input=0을 주시오.

  나. Do While문 안쪽에서 input를 scanf하시오.

  다. input의 값이 password가 아니면 '나'를 반복하고 "입력한 값은 ~이며 암호가 틀렸습니다"를 출력하고, a 이면 반복문을 종료하도록 하는 적당한 조건식을 작성하시오. do~while문 뒤쪽 바깥에 "a를 입력하였으므로 종료되었습니다"를 출력하시오.

 

 

  라. while문은 언제 끝나게 될지 모를 경우 조건식을 통해 종료조건을 줄 수 있다는데에 의의가 있으며 do~while문은 반드시 한 번 이상은 실행해야 하는경우, 예를들어 패스워드 검증 등에 쓰인다는 데에 의의가 있다. for, while, do while에 대해 언제 어떤 반복문을 사용하는 것이 더 유리한지 100자 이내로 정리해 보시오.

 

for문을 사용할 경우는 반복 횟수를 정확히 알고 있을 때 사용한다.
while문은 조건을 입력후 진행 할 경우에는 사용한다.
do while문은 반복제한 변수의 최초 상태와 무관하게 반복문을 한번 실행할 필요가 있을때 사용한다.

'C언어' 카테고리의 다른 글

C언어 기초 9주차  (0) 2020.11.29
C언어 기초 8주차  (0) 2020.11.22
c언어 기초 6주차  (0) 2020.11.08
c언어 기초 5주차  (0) 2020.11.01
c언어 기초 4주차  (0) 2020.10.25
by 맑은소금 2020. 11. 15. 22:51

 

# 기본과제 및 제출 양식

1. for의 사용방법은

 

  for(초기값;종료조건;증감값)

  {

     반복할 내용

   }

 

  과 같다. 이를 암기하시오. 또한 아래 문항을 해결하시오. (0.5시간 소요)

 

  가. int start를 선언하고 1을 주시오.

  나. int end를 선언하고 10을 주시오.

  다. for문의 초기값에 int i=start를 주시오.

  라. for문의 종료조건에 i<=end를 주시오.

  마. for문의 증감값은 i++를 주시오.

  바. 가~마를 이용하여, 1부터 10까지 출력되게 하시오. '반복할 내용'에 printf를 이용하여 구현하면 됨.

 

 

2. for를 이용하여 숫자들의 합을 구하는 프로그램을 구현하시오. (1시간 소요)

  가. int sum을 for문 이전에 선언하고 0을 주시오.

  나. '1.바'를 이용하여 sum에 1부터 10까지의 합을 구하시오. 이를 printf 하시오. (힌트 : sum = sum+i 처럼 하면 됨.) 참고자료 : https://wikidocs.net/11368

 

 다. '1.가', '1.나'를 개조하여, 합을 구할 시작숫자와 끝 숫자를 scanf하시오. 시작숫자와 끝 숫자 사이에 있는 모든 값의 합을 구하시오. 이를 printf 하시오.

 

 

3. continue의 사용방법은 다음과 같다.

 

for(초기값;종료조건;증감값)

{

 

  if(반복문을 띄워넘을 조건)

  {

     continue;

   }

 

 }

 

이를 암기하시오. 또한 아래 문항을 해결하시오. https://wikidocs.net/11613를 참조하시오. (1.5시간 소요)

 

  가. int i=1 ~ 9 까지 나오도록 for 문을 만드시오.

  나. int j=1 ~ 9 까지 나오도록 '가'에서 만든 for문 안에, for문을 하나 더 만드시오.

  다. 가,나를 이용하여 i*j를 만들고 구구단을 출력하도록 해 보시오

  라. '다'에서 구구단 3단이 출력되지 않도록 continue를 사용해 보시오.

  마. 논리연산자 &&,||,! 에 대해 조사하시오. 이를 이용하여 구구단 3,5,7단이 출력되지 않도록 해보시오.

논리연산자 의미
&& 논리 곱(AND)
|| 논리 합(OR)
! 부정(NOT)

// 논리 곱(&&)연산자
true && true  // true
true && false // false
false && true  // false
false && false // false

// 논리 합(||)연산자
true || true  // true
true || false // true
false || true  // true
false || false // false

// 논리 부정(!)연산자
!true  // false
!false // true

 

  바. 구구단 4,8단만 출력되도록 continue를 사용해 보시오. (! 연산자를 사용하시오.)

 

 4. break의 사용방법은 다음과 같다.

 

for(초기값;종료조건;증감값)

{

 

  if(반복문을 종료할 조건)

  {

     break;

   }

 

}

 

이를 암기하시오. 또한 아래 문항을 해결하시오. https://wikidocs.net/11613를 참조하시오. (1시간 소요)

 

 가. for문의 종료조건에 숫자1 또는 true를 주어 무한루프를 만드시오.

 나. 무한루프 이전의 밖에서 char password=0을 만드시오.

 다. 무한루프 안에서 password를 scanf하시오.

 라. password의 값이 a가 아니면 '다'를 반복하고 "입력한 값은 ~이며 암호가 틀렸습니다"를 출력하고, a 이면 break를 하여 반복문을 종료하도록 하시오. for문 뒤쪽 바깥에 "a를 입력하였으므로 종료되었습니다"를 출력하시오.

'C언어' 카테고리의 다른 글

C언어 기초 8주차  (0) 2020.11.22
c언어 기초 7주차  (0) 2020.11.15
c언어 기초 5주차  (0) 2020.11.01
c언어 기초 4주차  (0) 2020.10.25
c언어 기초 3주차  (0) 2020.10.18
by 맑은소금 2020. 11. 8. 22:39
| 1 2 3 4 5 ··· 15 |