2001年上计算机基础与程序设计试卷及答案.docVIP

  • 3
  • 0
  • 约2.05千字
  • 约 4页
  • 2018-12-01 发布于浙江
  • 举报

2001年上计算机基础与程序设计试卷及答案.doc

2001年上计算机基础与程序设计试卷及答案

04经管计算机基础答案 一、单项选择题(本大题共20小题,每小题1分,共20分) 1.B 2.A 3.B 4.B 5.D 6.C 7.B 8.D 9.A 10.B 11.C 12.C 13.B 14.D 15.C 16.A 17.D 18.C 19.C 20.A 二、多项选择题(本大题共10小题,每小题2分,共20分) 21.BCDE 22.ADE 23.ACD 24.CE 25.BD 26.ACD 27.ABD 28.CD 29.ADE 30.ACD 三、填空题(本大题共10小题,每小题1分,共10分) 31.DIR A:\TC\*.C 32.函数 33.向终端输出一个字符 34.3 35.10次 36.12 37.局部变量 38.p=x 39.不相同的 40.fclose(fp) 四、简答题(本大题共4小题,第41、42题每题2分;第43、44题每题3分,共10分) 41.[参考答案] (1)利用编辑功能生成C源程序。 (2)利用编译功能生成相应的目标程序。 (3)利用连接功能生成可执行程序。 (4)运行可执行程序。 42. [参考答案] y=-1(x0) y=0(x=0) y=1(x0) 43. [参考答案] (1)等价。(1分) (2)因为string是字符型指针变量。(1分) (3)无论哪种赋值方式都只是将字符串的首地址赋给了string,而不是将整个字符串赋给了string。(1分) 44[参考答案] (1)按规定的格式打开文件。(1分) (2)对打开的文件进行读/写操作。(1分) (3)关闭已打开的文件。(1分) 五、阅读分析题(本大题共10小题,每小题2分,共20分) 45. [参考答案] a=100,64(1分) b=ffff,65535(1分) 46. [参考答案] (1)该程序有逻辑错误。当mark为A(或B或C)时,三条printf语句全部要执行一次。(1分) (2)要得到正确的结果,应做下面修改:(1分) caseC:printf(=60\n);break; caseD:printf(60\n);break; 47. [参考答案] a=8(2分) 48. [参考答案] 该程序用于求u和v的最大公约数。(2分) 49. [参考答案] while语句可以改为:(2分) r=b%a; do { if(f= =0)break; b=a;a=r; }while((r=b%a)!=0); 50. [参考答案] 51. [参考答案] 不合适。会产生整数溢出。 即使定义为long型,输入的m值也不宜过大,否则仍会产生溢出。(2分) 52. [参考答案] 只要将s=s+fac(i)改为: s=s+fac(fac(i))即可。(2分) 53. [参考答案] (1)前一句用于创建一个新结点,并使指针P指向新结点。(1分) (2)后一句用于接受调用程序的实参,并将其值赋给新结点的成员amount。(1分) 54. [参考答案] (1)前一句用于将新结点与原head指向的结点串接在一起。(1分) (2)后一句用于使head指向新加入的结点P。(1分) 六、程序设计题(本大题共2小题,第55题8分,第56题12分,共20分) 55. [参考答案] 参考程序如下: #includestdio.h void main(void) { ? int i,j,im,jm,x[3][3],max; ? for(i=0;j3;i++) ???? for(j=0;j3;j++) ??????? scanf(%d,x[i][j]); ? for(j=0;j3;j++) ???? { ?????? max=x[0][j];im=0;jm=j; ?????? for(i=1;i3;i++) ???????? if(maxx[i][j]) ??????????? { ????????????? max=x[i][j]; ????????????? im=i; ????????????? jm=j; ??????????? } ? printf(i=%d j=%d max=%d\n,i,j,max); } } 56. [参考答案] 参考程序如下: #includestdio.h void strcpy(char *,char * ); void main(void) { ?? char *str1,*str2=abcdef; ???? strcpy(str1,str2); ???? printf(%s,str1); } void strcpy(char *s1,char *s2) { ???? int i=0; ???? while((s1[i]=s2[i])!=\0) ?????????? i++; }

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档