연재 완료/C++ Lang 예제코드 모음

C++ ESPRESSO 1-2. 제어문과 함수 / EXERCISE

라이피 (Lypi) 2018. 8. 1. 19:33
반응형

1. 다음 문장의 오류를 찾아서 수정하라.

	//1. 
	//if (x = 1) 
	//	cout << "x는 1과 같습니다" << endl;

	//논리적 오류
	if (x == 1) {
		cout << "x는 1과 같습니다" << endl;
	}

	//2.
	//if (0 < age < 18)
	//	cout << "청소년" << endl;
	
	//문법적 오류
	if (0 < age && age < 18) {
		cout << "청소년" << endl;
	}


	//3. 
	//float grade = 3.0;
	//switch (grade) {
	//	case 4.5:
	//		cout << "만점" << endl;
	//		break;
	//}

	//문법적 오류
	int grade = 3;
	switch (grade) {
		case 4: {
			cout << "만점" << endl;
			break;
		}
	}


2. x = 0, y = 1, z = 2인 상태에서 다음과 같은 코드가 실행되었을 경우, x,y,z의 최종값은?

	switch (x) {
		case 0: 
		x = 1;
		y = 2;

		case 1:
		z = 3;
		break;	  
	}

       x = 1, y = 2, z = 3;                                                                                                                                                                                           


3. 다음 프로그램의 결과를 써보아라.

	//1.
	x = 10;
	for (x = 10; x > 6; x--) {
		cout << x << endl;
	}

	//2.
	x = 10;
	do {
		cout << x << endl;
		x--;
	} while (x < 6);

	//3. 
	x = 0;
	for (;;)
	{
		if (x > 10) {
			break;
		}
		cout << x << " ";
		x++;
	}

       1) 10                                                                                                                                                                                                             

           9                                                                                                                                                                                                              

           8                                                                                                                                                                                                              

           7                                                                                                                                                                                                              

                                                                                                                                                                                                                          

       2) 10                                                                                                                                                                                                             

                                                                                                                                                                                                                          

       3) 0 1 2 3 4 5 6 7 8 9 10                                                                                                                                                                                   


4. 함수 원형 정의에 적합한 return 문을 써라.

       int f();                             return 10 + 20;                                                                                                                                                                   void g(int, int);                  return;                                                                                                                                                                      

      double h(double, int);          return 'a' + 1.0;                                                                                                                                                          


5. 다음 프로그램에 등장하는 변수들의 범위, 생존 기간, 영역을 설명하라.

int a;
static int b;
extern int c;

int main()
{
	int d;
	static int e;
	{
		int f;
	}
}

       a : 전역, 프로그램 시작시 생성되어 종료시 해제, 프로그램 전체                                                                                                                                   

       b : 전역, 프로그램 시작시 생성되어 종료시 해제, 프로그램 전체                                                                                                                                  

       c : 전역, 프로그램 시작시 생성되어 종료시 해제, 프로그램 전체                                                                                                                                   

       d : 지역, main함수 실행시 생성되어 종료시 해제, 메인함수 내부                                                                                                                                  

       e : 전역, 프로그램 시작시 생성되어 종료시 해제, 프로그램 전체                                                                                                                                   

       f : 지역, 생성된 다음줄에서 해제됨, 가장 가까운 블록 내부                                                                                                                                         


6. 다음 함수를 다음과 같이 호출하는 경우에 화면에 출력되는 내용과 함수의 반환값을 구하라.

int sum(int n) 
{
	cout << n << endl;
	if (n < 1) { return 1; }
	else return (n + sum(n - 1));
}

int main()
{
	sum(5);
}

       출력 내용                                                                                                                                                                                                       

       5                                                                                                                                                                                                                  

       4                                                                                                                                                                                                                  

       3                                                                                                                                                                                                                  

       2                                                                                                                                                                                                                  

       1                                                                                                                                                                                                                  

       반환값  16                                                                                                                                                                                                      






반응형