中科大软院考研复试c语言题库.doc
(476页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
49.9 积分
中科大软院考研复试c语言题库一、单选题1、有以下程序#define N 20 fun(int a[],int n,int m) { int i,j; for(i=m;i>=n;i--) a[i+1]=a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fun(a,2,9); for(i=0;i<5;i++) printf("%d",a[i]); }程序运行后的输出结果是______。 A:10234 B:12344 C:12334 D:12234答案:C评析:本题考查的是循环的嵌套。本题函数fun的作用是将指定的数组元素(从下标n到下标m)向后移一位。由函数调用"fun(a,2,9);"可知,函数fun用于将a[2]到a[9]的各元素依次向后移一位,移完后,a数组中各元素的值分别为1,2,3,3,4,5,6,7,8,9,10,故输出的前5个数组元素为12334。故本题答案为C。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:没有定义2、有以下程序#define P 3 void F(int x){return(P*x*x);} main() {printf("%d\n",F(3+5));}程序运行后的输出结果是______。A:192 B:29 C:25D:编译出错答案:D评析:本题考查的是宏定义。return语句用于从被调函数带回一个函数值。void关键字表示"无类型",即不需要从被调函数中带回函数值,所以不需要return语句,故编译时出错。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的类型和返回值、宏定义3、有以下程序int fun1(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y); return(int)(a+b);}main(){double w;w=fun2(1.1,2.0);……}程序执行后变量w中的值是______。 A:5.21 B:5 C:5.0 D:0.0答案:C评析:本题考查的是数值类型的定义与强制转换。本题在进行调用函数fun2()时,又对函数fun1()进行了调用,由于函数fun1()定义为整型,所以第一次调用fun1()时返回的值为1,然后再将1赋值给a,此时由于a为double型,则系统自动类型转换,将1转换成了1.000000赋值给了变量a,以此类推,得b的值为4.000000,然后通过"return(int)(a+b);"将a+b的值强制转换为int型5返回给主函数,此时又由w的类型为double,所以返回的整型值5又被转换为double型。故输出结果为5.0。故本题答案为C。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数、不同类型数据间的转换与运算4、若有以下函数首部int fun(double x[10], int *n)则下面针对此函数的函数声明语句中正确的是______。 A:int fun(double x, int *n); B:int fun(double, int ); C:int fun(double *x, int n); D:int fun(double *, int *);答案:D评析:本题考查的是函数的声明。 函数声明可以照写已定义的函数的首部,再加一个分号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的一致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,所以选项D正确。故本题答案为D。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/函数的定义方法、指针5、有以下程序void f(int n,int *r){ int r1=0;if(n%3==0) r1=n/3;else if(n%5==0) r1=n/5;else f(--n,&r1);*r=r1;}main(){ int m=7,r;f(m,&r); printf("%d\n",r);}程序运行后的输出结果是______。 A:2 B:1 C:3 D:0答案:A评析:本题考查的是指针作为函数的参数和函数的调用。题目中定义了一个指针变量r作为形参的f()函数。在主函数main()中定义了两个变量m和r,同时给m赋初值7,执行"f(m,&r);"语句,调用f()函数并将m的初值7传递给形参n,将r的地址传给形参指针变量r。f()函数中通过指针r将最后的值返回。首先执行if语句中的条件:n%3==0,7%3=1条件为假,执行第一个else下的语句,同样不满足条件,再执行第二个else下的语句,n自行减一,n=6,再执行if语句,满足条件,r1=2,把r1的值2赋给指针变量r所指向的存储单元,即为主函数r的值,输出结果为2。故本题答案选A。等级:1 难度:1 区分度:1出题人:文本导入 修改人: 审核人: 创建时间:2008-06-25 最后修改时间: 知识点:C综合题目部分/知识点/综合/用指针作函数参数6、有以下程序#include #include void fun( char s[][10],int n){ char t; int i,j;for(i=0;i
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。