c程作业文件 下载本文

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 int fib(int g) { switch (g) {

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 int main(void)

{ 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表示的 文件中