본문 바로가기
College Computer Science/C Language

[C 프로그래밍 실습] 중간고사 문제

by 2den 2021. 1. 3.
728x90

1. 한 줄로 입력된 문자열의 사칙 연산을 수행하는 프로그램을 쓰시오. (20)

  • 연산자들(+, -, *, /)은 우선 순위가 동일하다.
  • 피연산자와 연산자 사이에는 하나 이상의 공백으로 구분된다.
  • 문자열 연산식을 한번에 읽어 들이고, 토큰으로 분할하여 처리한다.
  • 아래 예시와 같이 연자자 사용 오류와 0으로 나누기 오류에 대해서만 처리한다.

 

2. 재귀호출 함수(recursive function)를 사용하여 stringlength를 계산하는 프로그램을 쓰시오. (20)

 

3. 다음을 참고로 [파스칼의 삼각형]을 출력하는 프로그램을 작성하시오. (20)

  • 정수형 이차원 배열 pascal[10][10]을 선언
  • 크기 입력 값에 따라 최대 10행까지 [파스칼의 삼각형]을 생성하여 저장 후 출력
  • pascal[n][r] = nCr = n! / ( r!(n-r)! )
  • 삼각형의 크기 입력값은 정수이고, 무한 루프를 돌면서 반복 수행한다.

 

4. 문자열 처리 함수를 만들고 라이브러리에서 제공하는 동일한 기능의 함수의 결과가 같은지 아래와 같이 실행하여 비교하시오. (20)

  • 아래 실행 결과에서 주어진 문자열 사용 : str1, str2, str3, dest(공백)
  • 라이브러리 함수: strlen(), strcmp(), strncmp(), strcpy() 4가지
  • 생성함 함수 : mystrlen(), mystrcmp(),mystrncmp(), mystrcpy() 4가지
  • mystrncmp() 함수 작성시 주어진 비교 길이가 문자열보다 큰 경우도 고려 해야 함
  • 함수 작성시 라이브러리에서 제공하는 다른 함수를 사용하지 않고 프로그래밍해야 함

 

5. 컴파일하여 생성한 실행 파일이 calargs.exe 일 때, 다음과 같은 연산식을 명령행 인자(main 함수의 인자)로 받아서 연산을 수행하고 결과를 출력하는 프로그램을 쓰시오.  사칙 연산자를 계산하도록 구현하고, 아래 예시로 주어진 오류/에외 처리를 만족하도록 프로그램을 쓰시오. (힌트: 정수변환시 atoi() 함수 이용) (20)

  • 프로그램 실행결과는 아래와 같이 콘솔창(dos , cmd ..) 에서 실행 한 결과를 보여 주도록 한다.
  • 실행 파일은 다른 이름으로 만들어져도 상관 없음
  • 0으로 나누기할 경우 결과는 0으로 처리한다.

 

728x90

댓글