float b; char *c; };
int main(void)
{ struct abc x={23, 98.5, \ struct abc *px = &x;
printf(\ return 0; }
7. 执行完下列语句段后, i 值为_____ int i;
int f(int x)
{ static int k = 0; x+= k++; return x; }
i = f(f(1));
8. 执行完下列语句段后, i 值为_____ int i;
int f(int x)
{ return ( ( x>0)? f(x-1) + f(x-2) : 1 ); }
i = f(3);
9. 下列程序段 A与 B 功能等价,请填写程序段 B 中相应语句 程序段 A: int f(int n)
{ if (n<=1) return n;
else return f(n-1) + f(n-2); 第15次练习-夏7周 8 浙江大学计算机学院 } 程序段 B: int f(int n) {
__【1】___
while (__【2】___) { t=t0+t1; t0 = t1; t1 = t; n -- }
return __【3】___; }
10. 下面程序用于计算, f(k, n) = 1k + 2k + ... + nk
, 其中 power(m,n) 求 mn , 请填写程序中相 应语句。
int power(int m, int n) { int i;
__【1】___
for (i = 1; i<=n; i++) __【2】___ return p; }
int f(int k, int n) { int i;
__【3】___
for (i = 1; i<=n; i++)
__【4】___ return s; }
int main() { int k,n;
scanf(\
printf(\ return 0; }
11. 下列递归程序的输出结果为_____ #include
case 0: return 0; case 1:
case 2: return 2; }
printf(\
return fib(g-1) + fib(g-2); }
main() { int k; k = fib(4);
printf(\ return 0; }
12. 下列语句的运算结果为____ #define F(x) x-2 #define D(x) x*F(x)
printf(\
13. fopen()函数的返回值是 ____
14 缓冲文件系统与非缓冲文件系统的不同点在于____
15. 只能向指定文件写入一个字符的函数是____
16. 判断文件指针是否已经到了文件尾部的函数是____
17. 阅读程序, 以下程序完成的功能是____ #include
{ char infile[10], outfile[10]; FILE *fpa, *fpb; gets(infile); gets(outfile);
fpa=fopen(infile, \ fpb=fopen(outfile,\ while (!feof(fpa)) fputc(fgetc(fpa),fpb); fclose(fpa); fclose(fpb); return 0; }
【参考答案】
1) 【1】 x[i]!='\\0' 【2】&& 【3】if (y[j]==x[i]) break 【4】j >= ny 2) 【1】成员 【2】指向 3) 【1】 stud[i].name
4) 【1】&time.hour, &time.minute, &time.second 【2】time.second 【3】time.minute ++ 【4】time.hour == 24 5) 1 2 A B 6) 23, wang, 98.5, wang 7) 2 8) 5 9) 【1】 int t0,t1,t=n; 【2】n>1 【3】t
10) 【1】int p = 1; 【2】p = p*m; 【3】int s = 0; 【4】s = s + power(i, k); 11) g=4#g=3#k=6# 12) 7, -13
13) 指向文件缓冲区的首地址的文件结构类型指针
14) 系统是否为文件自动分配一块文件缓冲区(内存单元) 15) fputc() 16) feof()
17) 将文件名为键盘输入的infile 表示的文件内容复制到文件名为键盘输入的outfile表示的 文件中