3장 연습 문제     [gdoc]     [smts]

  1. 연산자 ++, --가 변수에 붙는 방향에 따라 동작이 어떻게 달라지는지 기술하라.

  2. 반지름이 1.5인 원의 원주의 길이와 면적을 계산하여 출력하는 프로그램을 작성하라.

  3. 하나의 정수를 입력받아서 짝수이면 "even number!" , 홀수이면 "odd number!"라고 화면에 표시하는 프로그램을 작성하라. (조건 연산자를 이용할 것)

  4. 어떤 int형 정수를 입력받아서 그 수의 절대값을 화면에 출력해 주는 프로그램을 작성하라.

  5. 세 개의 int형 정수를 입력받아서 그 중 가장 큰 수를 화면에 출력해 주는 프로그램을 작성하라.

  6. 분수의 분자(numerator)와 분모(denominator)를 각각 입력받아(long 형) 가분수(improper fraction), 진분수(proper fraction) 여부를 출력하는 프로그램을 작성하라. 만약 가분수일 경우 정수+진분수의 형태로도 출력해야 한다.

  7. 두 개의 복소수를 입력받아서 곱셈 결과를 출력하는 프로그램을 작성하라. 단, 복소수의 실수부와 허수부는 float형으로 받는다.

  8. 2차 방정식 x2+ax+b=0 의 계수 a, b값(int형)을 키보드로 읽어들여서 판별식의 조건에 따라 두 실근일 경우 “real roots”, 중근일 경우 “an equal root”, 허근일 경우 “complex roots” 라고 화면에 표시하는 프로그램을 작성하라. 단, 중근일 경우에는  중근을 출력해야 한다.


--- 이하는 생략 가능 ---------------

  1. 변수 ucB의 b2가 0이라면 화면에 “LED off”, 1이라면 “LED on”이라고 출력하는 프로그램을 작성하라.

  2. 변수 ucC의 초기값을 0x0F이다. 이 변수값 전체가 주기적으로 반전되는 프로그램을 작성하라. (단 시간을 지연시키는 함수는 _delay_ms(unsigned shot usN )이라고 가정하고 usN에는 밀리세컨드 숫자를 입력한다고 하자.)

  3. 변수 ucA의 상위 니블을 반전시키는 코드를 작성하라.

  4. unsigned char형 변수값을 이진수로 표기해주는 프로그램을 작성하라.


Posted by 살레시오

댓글을 달아 주세요