" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 9장 Exercise

 9장 Exercise


1.

(a) int number;           지역 변수, 자동 변수

(b) double radio;         전역 변수, 자동 변수    

(c) register int index;    지역 변수, 레지스터 변수

(d) extern int counter;  전역 변수, 외부 참조 변수

(e) static int setting;     지역 변수, 정적 변수


2.

int a               전역 변수, 프로그램 시작부터 종료까지, 외부연결

static int b      정적 전역 변수, 프로그램 시작부터 종료까지, 내부연결

extern int c      외부참조 변수, 프로그램 시작부터 종료까지, 외부연결

int d              지역 변수, main 시작부터 종료까지, 무연결

register int e    지역  레지스터 변수, main 시작부터 종료까지, 무연결

static int f        정적 지역 변수, main 시작부터 프로그램 종료까지, 무연결

int g                지역 변수, main 시작부터 종료까지, 무연결


3.

(a) #####    i가 전역변수이므로 main의 for가 아닌 f의 for에 따라 반복됨

(b) 10          지역 변수와 전역 변수가 만나면 지역 변수가 먼저지만,
                f함수는 값을 반환하지 않아서 전역 변수인 n=10이 출력된다.

(c) 3\n2        지역 변수와 전역 변수가 만나면 지역 변수가 우선이다.

(d) 0\n1        정적변수이기 때문에 값이 초기화되지 않고 누적되어 출력된다.



4.

(a) register 변수는 지역 변수만 가능하다.

(b) 순환되지 않으므로 n을 n-1로 바꾸어야 한다.



5.

(a)                                                  (b)

5                                                    5

4                                                    4

3                                                    3

2                                                    2    

1                                                    1

0                                                    0

16가 반환됨(0일때 1반환)            2*(2*(2*(2*(2*(2*2+1)+1)+1)+1)+1)+1  = 95 반환



6.

#include <stdio.h>


int main()

{

int n, r=1, i;

printf("입력하시오: ");

scanf("%d", &n);

for(i=1; i<=n; i++)

{

if(n==0)

r = r + 1;

else

r = r + i;

}

printf("%d", r);

}


블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,