728x90
728x170
쉽게 풀어 쓴 C언어 Express 9장 Exercise 문제
1.
#include <stdio.h>
void f(void);
double ratio;
// (b)
extern int counter;
// (d)
int main(void) {
static int setting;
// (f)
...
}
void f(void) {
int number;
// (a)
register int index;
// (c)
extern int total;
// (e)
...
}
2.
#include <stdio.h>
int a;
// 파일 전체, 정적, 연결 가능
static int b;
// 파일 전체, 정적, 연결 불가능
extern int c;
// 파일 전체, 정적, 외부 변수 참조
int main(void) {
int d;
// 블록, 자동, 연결 불가능
register int e;
// 블록, 자동, 연결 불가능
static int f;
// 블록, 정적, 연결 불가능 {
int g;
// 블록, 자동, 연결 불가능
}
return 0;
}
3.
(a)
// 전역 변수를 사용하여 프로그램이 복잡해지는 경우
#include <stdio.h>
void f(void);
int i;
int main(void) {
for (i = 0;i < 3; i++) {
printf("*");
f();
}
return 0;
}
void f(void) {
for (i = 0;i < 5; i++)
printf("#");
}
*#####
(b)
#include <stdio.h>
void f(int);
int n = 10;
int main(void) {
f(n);
printf("n=%d\n", n);
return 0;
}
void f(int n) {
n = 20;
}
n=10
(c)
#include <stdio.h>
void f(void);
int x = 1;
int main(void) {
int x = 2;
printf("%d\n", x); {
int x = 3;
printf("%d\n", x);
}
printf("%d\n", x);
return 0;
}
(d)
#include <stdio.h>
void f(void);
int main(void) {
f();
f();
return 0;
}
void f(void) {
static int count = 0;
printf("%d\n", count++);
}
4.
(a) 하나 이상의 저장 유형 지정자를 붙이면 안된다.
(b) 재귀 호출할 때 매개 변수의 값이 줄어들지 않아서 무한히 재귀 호출됨
5.
(a)
5
4
3
2
1
0
반환값은 16
(b)
5
4
3
2
1
0
반환값은 95
6.
int recursive(int n) {
int i, sum=0;
for (i=n; i>=1; i--)
sum += i;
return sum;
}
728x90
그리드형
'IT > 프로그래밍' 카테고리의 다른 글
쉽게 풀어 쓴 C언어 Express 11장 Exercise 문제 (0) | 2020.12.06 |
---|---|
쉽게 풀어 쓴 C언어 Express 10장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 8장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 7장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 6장 Exercise 문제 (0) | 2020.12.05 |
댓글