레이블이 연습문제인 게시물을 표시합니다. 모든 게시물 표시
레이블이 연습문제인 게시물을 표시합니다. 모든 게시물 표시

2015년 6월 9일 화요일

C/C++ 함수 예제

1 자신의 영문 이름과 나이를 출력하는 함수 showMe() 함수를 작성하라. 그리고 이 함수를 100번 연속으로 호출하는 코드를 작성하라.


2 정수를 받아서 그 정수가 짝수이면 “yes”, 홀수이면 “no” 라고 화면에 출력하는 함수를 작성하라. 이 함수의 선언은 다음과 같다.
void isEven(int ia);


3 구의 반지름을 입력받아서 구체의 부피를 반환하는 함수를 작성하라. 함수의 선언을 다음과 같다.(V = 4πr3/3)
double calcVolumn(double dr);


4 unsigned char형 정수를 받아서 1부터 그 수까지의 합을 반환하는 함수를 작성하라. 함수의 선언은 다음과 같다.
long sum(unsigned char uc);


5 세 개의 int형 정수를 받아서 그중 가장 큰 수를 반환하는 함수를 작성하라. 함수의 선언은 다음과 같다.
int getMax(int ia, int ib, int ic);


6. char형 문자를 하나 받아서 그 문자가 소문자이면 1, 대문자이면 0을 반환하는 함수를 작성하라. 함수의 선언은 다음과 같다.
int isLower(char ca);


2015년 5월 26일 화요일

C/C++ 제어문 연습 문제

1. 양의 정수를 입력받아서 1이면 "1st", 2라면 “2nd", 3이면 ”3rd" 나머지의 경우는 숫자 뒤에 “th”를 붙여서 화면에 출력하는 프로그램을 작성하라. 만약 0이하의 숫자가 입력되었다면 다시 입력하도록 한다.
2. 다음 반복문이 화면에 표시하는 결과는 무엇인가?
int iA;
for (iA=36; iA>0; iA/=2) {
   printf("%d ", iA);
}


3. 근의 공식을 이용하여 2차방정식의 계수를 입력하면 그 해를 출력하는 프로그램을 작성하라.
4. 2에서 9사이의 정수를 입력받아 해당하는 구구단을 출력하는 프로그램을 작성하라. 그 외의 숫자가 입력되었다면 다시 입력받도록 한다.
5. 100이하의 모든 솟수(prime number)를 출력하는 프로그램을 작성하라. (솟수란 1과 자신의 수로만 나누어 떨어지는 정수를 말한다.)
6. 라인트레이서의 바닥감지 센서로 부터 검은색 선의 감지 상태에 따라 이진수 000, 001, 010, 100 값이 변수 ucLineStatus 에 자동으로 저장된다고 하자. 좌우모터는 변수 ucMotor 값에 00(정지), 01(우모터만 on, 즉 좌회전), 10(좌모터만 on, 즉 우회전), 11(강제정지) 값을 써주면 제어된다고 가정하자. 라인트레이서가 라인을 잘 추종하도록 제어하는 프로그램을 작성하라. (ucLineStatus 변수값에 따라서 적절한 모터제어 결과가 화면에 출력되도록 작성할 것)
7. 사용자가 입력한 정수값이 소수(prime number)이면 프로그램을 종료하고 아니면 다시 정수값을 입력받는 프로그램을 작성하라.

8. 사용자가 입력한 int형 변수 x와 y에 대해 x를 y로 나눈 몫과 나머지를 화면에 각각 출력하는 프로그램을 작성하시오. 단, 나머지가 0일 경우 그것은 출력하지 않아야 한다.

9. 일차 방정식 (a2+1)x+b(a+b)=0의 해를 구하는 프로그램을 작성하라. a와 b는 사용자로부터 double형으로 입력 받는다.

10. 월소득(long형)을 입력 받아서 그것에 대한 소득세를 계산하여 출력하는 프로그램을 작성하라. 소득세율은 다음과 같다.

소득이    500,000원 이하는 0%
2,500,000원 이하는 0.5%
4,000,000원 이하는 1.0%
                      7,000,000원 이하는 2.0%,
                      그 이상은 4.0%
11. 다음과 같이 화면에 출력하는 프로그램을 반복문 명령을 이용하여 작성하라.

12. float형 변수 fa, fb, fc 에 각각 사용자로 부터 정수값을 입력 받은 후 크기 순으로 나열했을 경우의 중간 값을 화면에 출력하는 프로그램을 작성하라. 예를 들어 1.2 10.0 –3.5 를 사용자가 입력했다면 크기순으로 정렬하면 10.0 > 1.2 > -3.5 이다. 따라서 가운데의 1.2를 출력해야 한다.
13. 1000 이하의 양의 정수 중 3의 배수이거나 5의 배수인 것들을 역순으로 출력하는 프로그램을 작성하라. 즉 다음과 같이 화면에 출력되어야 한다. 만약 3의 배수이고 동시에 5의 배수인 경우 대괄호 안에 숫자를 출력한다.
1000 999 996 995 993 [990] 987 985 984 981 980 978 [975] 972 ....9 6 5 3
14. 다음 프로그램이 실행된다면 화면에 어떻게 출력되는가?
#include <stdio.h>
int main(int argc, char **argv) {
   for(char ca='a';ca!='g';ca++) {
   printf("%c ",ca);
   }
}

C/C++ 연산자 연습 문제

  1. C/C++의 연산자의 종류에 대해서 기술하라.
  2. C/C++의 연산자들 중 단항 연산자를 모두 기술하라.
  3. 증감 연산자 ++, --가 변수에 붙는 방향에 따라 동작이 어떻게 달라지는지 기술하라.
  4. 하나의 정수를 입력받아서 짝수이면 "even number!" , 홀수이면 "odd number!"라고 화면에 표시하는 프로그램을 작성하라. (조건 연산자를 이용할 것)
  5. 어떤 int형 정수를 입력받아서 그 수의 절대값을 화면에 출력해 주는 프로그램을 작성하라.
  6. 세 개의 int형 정수를 입력받아서 그 중 가장 큰 수를 화면에 출력해 주는 프로그램을 작성하라.
  7. unsigned char형 변수값을 이진수로 표기해주는 프로그램을 작성하라.
  8. 두개의 복소수를 입력받아서 곱셈 결과를 출력하는 프로그램을 작성하라.
  9. 2차 방정식 x2+ax+b=0 의 계수 a, b값(double형)을 읽어들여서 두 근을 표시하는 프로그램을 작성하라.
  10. 변수 ucA의 상위 니블을 반전시키는 코드를 작성하라.
  11. 변수 ucB의 b2가 0이라면 화면에 “LED off”, 1이라면 “LED on”이라고 출력하는 프로그램을 작성하라.
  12. 변수 ucC의 초기값을 0x0F이다. 이 변수값 전체가 주기적으로 반전되는 프로그램을 작성하라. (단 시간을 지연시키는 함수는 _delay_ms(unsigned shot usN )이라고 가정하고 usN에는 밀리세컨드 숫자를 입력한다고 하자.)

2015년 5월 24일 일요일

C/C++ 자료형 연습문제

  1. 화면의 첫 번째 줄에는 영문 이름을, 두 번쩨 줄에는 학번을 표시하고 세 번제 줄에는 생년월일을 출력하는 프로그램을 작성하라.

  1. 정수형 변수 a, b, c 를 각각 선언하고 a에는 1, b에는 2를 대입한 후 c 에는 a와 b의 곱을 대입하는 프로그램을 작성하라. (두 수의 곱은 ‘*’ 연산자를 사용한다.)

  1. 10진수 32456을 16진수로 표시하고 16진수 A9B7 을 10진수로 표시하는 프로그램을 작성하라. 또한 2진수 110011110010을 10진수로 표시하라.

  1. float형 변수 pi 에 원주율(3.141592)를 저장하고 float형 변수 e 에 자연상수(2.718281)울 저장하라. 그리고 그 수를 float형 변수 sum에 저장하라.

  1. 자연상수(2.718281...)를 E라는 상수로 정의하라. 그리고 원주율(3.141592)를 PI로 정의하라. 이후에 float형 변수 sum을 두 수의 합으로 초기화하라. 문제 4번 과의 차이점이 무엇인가 설명하라.

  1. 숫자값인 164 을 계산해서 화면에 십진수와 16진수로 표시하는 프로그램을 작성하라.

  1. sizeof 연산자는 주어진 데이터형의 바이트수를 반환해주는 매크로이다. 예를 들어서 sizeof(short)는 short형이 2바이트를 차지하기 때문에 2를 반환한다. 이것을 이용하여 char, short, int, long, long long, float, double, long double 형의 바이트 수를 화면에 모두 표시하는 프로그램을 작성하라.