厦门工学院《C语言程序设计》2021-2022学年期末试卷.pdf
厦门工学院
2021-2022学年2021级第一学期
C语言程序设计期末试卷
学院:班级:_____________姓名:
:_____________:
序号日期年月日
,
诚信应考考试作弊将带来严重后果!
一.选择题(8分)
1以下叙述不正确的是
A)C程序的main函数可以没有参数。
B)C程序的main函数可以有参数。
C)C程序的main函数可若有参数时,第一个参数的值最少是1。
D)main函数的第一个参数必须是整型,其名字必须是argv;第二个参数可以定义成:
char*argv[],名字必须是argv。
2若有以下说明和定义,则对fun函数的正确调用语句是
A)afun;a(w);B)afun;(*a)(c);
C)bfun;*b(w);D)fun(b);
main()
{int(*a)(int*),*b(),w[10],c;
:
:
}
fun(int*c){...}
3以下叙述正确的是
A)C语言中各函数之间既允许直接递归调用也允许间接递归调用
B)C语言中各函数之间既不允许直接递归调用也不允许间接递归调用
C)C语言中各函数之间既允许直接递归调用不允许间接递归调用
D)C语言中各函数之间既不允许直接递归调用允许间接递归调用
4以下程序的输出结果是
A)8B)30C)16D)2
longfib(intn)
{if(n2)return(fib(n-1)+fib(n-2));
elseerturn(2);
}
main()
{printf(“%ld\n”,fit(6));}
二.填空题(12分)
5假定以下程序经过编译和连接后生成可执行文件PROG.EXE,如果在DOS提示符下键入:
PROGABCDEFGHIJKLCR(CR表示Enter键)
则输出结果是:____________.
main()(intatgc,char*argv[])
{while(--argc0)printf(%s,argv[argc]);
printf(\n);
}
6以下程序的输出结果是______.
fun(intx)
{intp;
if(x0||x1)return(3);
px-fun(x-2);
returnp;
}
main()
{printf(%d\n,fun(9));}
7以下程序的输出结果是_____.
fun(intn,int*s)
{intf1,f2;
if(n1||n2)*s1;
else
{fun(n-1,fi);
fun(n-2,f2);
*sf1+f2;
}
}
main()
{intx;
fun(6,x);
pirntf(%d\n,x);
}
8以下程序调用invert函数按逆序重新放置a数组中