




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
天津工业大学200 9 201 0 学年第 2 学期 高级语言程序设计(C语言) 试卷(A卷答案)学院 班级 学号 姓名 注意事项:1、本试卷共 12 页,满分为 100 分,考试时间为 110 分钟。 2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。题 目一二三四总 分分数核对得 分阅卷人读卡一、单项选择题:(每题 1 分,共 40 分)1. D2. C3. B4. D5. A6. D7. B8. B9. B10. B11. A12. C13. A14. D15. C16. B17. A18. B19. B20. D21. D22. B23. A24. A25. A26. C27. C28. D29. D30. B31. C32. D33. D34. B35. A36. B37. C38. C39. C40. A二、阅读程序题:(每题 3 分,共 30 分)分数【1】-1,5【2】1 3 12【3】-1 2【4】0 3 9【5】2 3 4【6】7 5 3【7】9【8】a=15,b=20【9】102,a【10】14三、程序改错题:(每题 6 分,共 12 分) 分数第1题【1】int amin(int b,int n) 或 amin(int b,int n)【2】scanf(%d,&ai);【3】m=amin(a,10);第2题【4】while(1.0/n=1e-6)【5】f=-f; 或f=(-1)*f【6】printf(PI=%.4fn,4*s);四、程序填空题:(每空2分,共18分)(说明:请将正确答案按照题干上【】中的序号填写在下表中)分数第1题【1】n/100【2】n/10%10或n%100/10 或 (n-a*100)/10【3】a*a*a+b*b*b+c*c*c=n第2题【4】printf(n);【5】i【6】s+aij;第3题【7】或string.h【8】sk!=sn-k-1【9】f=1或f一、单项选择题:(每题 1 分,共 40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1根据C语言的规定,为变量取名时,不能使用的符号是 【1】 。A) 数字字符B) 大写字母C) 下划线D) 减号2一个C语言程序的执行是 【2】 。A) 从第一个函数开始,到最后一个函数结束B) 从main()函数开始,到最后一个函数结束C) 从main()函数开始,到main()函数结束D) 从第一个语句开始,到最后一个语句结束3执行下列程序段后,输出结果是 【3】 。int m=013;printf(%d,%o,%xn,m,m,m);A) 19,23,13B) 11,13,bC) 13,15,dD) 13,13,134表达式sizeof(double)的值是 【4】 。A) 1B) 2C) 4D) 85设有变量定义语句 char ch; 则能够正确地为变量ch输入数据的是 【5】 。A) scanf(%c,&ch);B) getchar(ch);C) scanf(%c,ch);D) putchar(ch);6设变量a是int型、f是float型、d是double型、c是char型,则表达式c+a-f/d的数据类型是 【6】 。A) char型B) int型C) float型D) double型7有变量定义语句 int k=4,m; 执行语句m=k-; 后,变量m、k的值是 【7】 。A) m=3,k=3B) m=4, k=3C) m=3,k=4D) m=4,k=48设int i=2,j=1,k=3,则表达式i&(i+j)&k|i+j的值是 【8】 。A) 0B) 1C) 2D) 39执行下列程序段后,变量m的值是 【9】 。int m=2,k;m=(k=3,k+15, k+);A) 2B) 3C) 4D) 2010数学表达式xyz,改写为C语言表达式后,正确的写法是 【10】 。A) x=y=zB) (x=y) & (y=z)C) (x=y) & (y=z)D) (x=y) AND (y=z)11若int x=4,y=2;则表达式x0) y=1;else y=0;A) B) C) D) 13语句 if(!y)等价于 【13】 。A) if(y=0)B) if( y!=0)C) if(y=1)D) if (y!=1)14执行下列程序段后,变量x、y、z的值是 【14】 。int x=10,y=20,z=30;if(xy) z=x; x=y; y=z;A) x=10 y=20 z=30B) x=20 y=30 z=20C) x=20 y=30 z=10D) x=20 y=30 z=3015执行下列程序段后,输出结果是 【15】 。int a=-1,b=4,k;k=(a+=0)&(!(b-=0);printf(%d %d %dn,k,a,b);A) 0 0 3B) 0 1 2C) 1 0 3D) 1 1 216执行下列程序段后,输出结果是 【16】 。int c=2;switch(c)case 4:c+;case 2:c+;case 3:c+;break;case 5:c+;printf(%d,c);A) 3B) 4C) 5D) 617下列程序段的输出结果是 【17】 。int i=26; do printf(%d, i%8); i=i/8; while (i!=0 );A) 23B) 32C) 2D) 318下列程序段的输出结果是 【18】 。int n=0;while(n+=2) ; printf( %d,n);A) 3B) 4C) 0 1 2 D) 1 2 319已知数组定义语句int a10=1,2,3,4,5; 则数组元素a2和a5的值分别 【19】 。A) 2和5B) 3和0C) 3和6D) 3和不确定值20下列程序段中的语句printf(*); 共执行 【20】 次。int i,j;for(i=1;i=3;i+)for(j=1;j=i;j+)printf(*);A) 1B) 2C) 3D) 621以下数组定义中,错误的是 【21】 。A) int a =1,2;B) int a3=1,2,3,4,5;C) char s10=123;D) int N=5, aN=1,2,3,4,5;22下列程序段的输出结果是 【22】 。int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2-i);A) 1,4,7,B) 3,5,7,C) 1,5,9,D) 3,6,9,23下列程序段的输出结果是 【23】 。char s10=abncd;printf(%d ,strlen(s);A) 5B) 6C) 7D) 1024已知数组定义语句为 char s20=abc,t20=xy;能够将字符串t连接到字符串s之后的语句是 【24】 。A) strcat(s,t);B) strcpy(s,t);C) strcmp(s,t);D) s=s+t;25若有定义int a9,*p=a; 则p+5表示 【25】 。A) 数组元素a5的地址B) 数组元素a5的值C) 数组元素a6的地址D) 数组元素a0的值加上526下列程序段的输出结果是 【26】 。int a5=1,2,3,4,5, s=0, k, *p;p=&a2;for(k=0;k2;k+)s+=*(p+k);printf(%d,s);A) 3B) 5C) 7D) 927已知数组定义语句 char s20; 能够将字符串very good!输入到数组s中的正确语句是 【27】 。A) scanf(%c,s);B) scanf(%s,s);C) gets(s);D) s=gets();28要求定义一个整型变量a和一个整型指针p,并将指针p指向变量a,能够实现该要求的程序段是 【28】 。A) int a,p; *p=&a;B) int a,*p; *p=&a;C) int a,p; *p=a;D) int a,*p; p=&a;29下列程序段的输出结果是 【29】 。char s=ABC,*p;for(p=s;pb) return a;else return b;void main()int x=3,y=8,z=6;printf(%d,fun(fun(x,y),z*2); A) 3B) 6C) 8D) 1233函数fun的定义形式如下:void fun(char ch, double x)则以下对函数fun的调用语句中,正确的是 【33】 。A) fun(abc,3.0);B) t=fun(D,16.7);C) fun(65,7.9);D) fun(A,69);34在C语言中,函数隐含的存储类型是 【34】 。A) auto型B) extern型C) register型D) static型35下列程序的输出结果是 【35】 。int a=5;void fun(int b)int a=3;a=a+b+;printf(%3d,a); void main()int c=8;fun(c);a=a+c+;printf(%3d,a); A) 11 13B) 11 19C) 11 20D) 13 2136设有如下定义语句,则不能输出字符串zhang的语句是 【36】 。struct studentchar name10; int age;s=zhang,19;struct student *p=&s;A) printf(%sn,);B) printf(%sn,*);C) printf(%sn,p-name);D) printf(%sn,(*p).name);37已知定义语句如下:struct studentint x;int y;s3=1,5,7,4,8,2;则表达式s1.x/s2.y的值是 【37】 。A) 0B) 0.25C) 3D) 3.538若有如下定义:enum myEe1, e2, e3=6,e4;则枚举常数e2和e4对应的整数值分别是 【38】 。A) 1和3B) 2和4C) 1和7D) 2和739设有如下定义语句 FILE *fp; 则能够打开文本文件a.txt,并将字符test写入该文件中的正确程序段是 【39】 。A) fp=fopen(a.txt,w); fgets(test,4,fp); B) fp=fopen(a.txt,r); fgets(test,4,fp);C) fp=fopen(a.txt,w); fputs(test,fp);D) fp=fopen(a.txt,r); fputs(test,fp);40设fp是文件指针,并已经用读方式成功地打开文件。则语句fseek(fp,-5L,2);的功能是 【40】 。A) 将文件指针从文件末尾向文件头方向移动5个字节B) 将文件指针从文件头向文件末尾方向移动5个字节C) 将文件指针从当前位置向文件头方向移动5个字节D) 将文件指针从当前位置向文件尾方向移动5个字节二、阅读程序题:(每题 3 分,共 30 分)(说明:请将正确答案按照题干上【】内的序号填写在下表中)分数【1】-1,5【2】1 3 12【3】-1 2【4】0 3 9【5】2 3 4【6】7 5 3【7】9【8】a=15,b=20【9】102,a【10】141下列程序段的输出结果是 【1】 。答案:-1,5int a=2,b=5;a+=a-=b/a;printf(%d,%d,-a,b+);2下列程序段的输出结果是 【2】 。答案: 1 3 12int k,x=0,y=0;for(k=4;k10) break;if(k%3=0) x+; continue;y+;printf(%3d%3d%3dn,x,y,k);3下列程序段的输出结果是 【3】 。答案: -1 2int a,k,s=0;for(k=1;k=3;k+)a=k%2;while(a-) s+;printf(%2d%2d,a,s);4下列程序段的输出结果是 【4】 。答案: 0 3 9int a33,i,k;for(i=0;i3;i+)for(k=0;k2;k+)aik=2*i+k;aik=ai0+ai1;for(k=0;k=A & sk=a & sk=z)c2+;elsec3+;printf(%3d%3d%3d,c1,c2,c3);6下列程序段的输出结果是 【6】 。答案: 7 5 3int a=1,3,5,7,9,t;int *p,*q;p=a;q=a+4;for( ;pq;p+,q-)t=*p; *p=*q; *q=t;printf(%3d%3d%3d,a1,a2,a3);7下列程序的输出结果是 【7】 。答案: 9#include int fun(int n)if(n=0|n=1)return 1;elsereturn n+fun(n-2);void main() printf(%d,fun(5); 8下列程序的输出结果是 【8】 。答案: a=15,b=20#include void fun(int *p,int n)static int c=1;c+; *p=*p+c;n=n-c;void main()int k,a=10,b=20;for(k=1;k=2;k+)fun(&a,b);printf(a=%d,b=%d,a,b);9下列程序的输出结果是 【9】 。答案: 102,a#include void main()struct student int num;char name10;s4=101,zhang,102,wang,103,li,104,zhao,*p;p=s+1;printf(%d,%c,p-num,(*p).name1);10下列程序的输出结果是 【10】 。答案: 14#include #define AB(x,y) x*yvoid main()printf(%d,AB(2+3,4); 三、程序改错题:(每题 6 分,共 12 分)(说明:请将带注释行的错误更正, 并将正确答案按照题干上【】中的序号填写在下表中,不可增加或删除语句) 分数第1题【1】int amin(int b,int n) 或 amin(int b,int n)【2】scanf(%d,&ai);【3】m=amin(a,10);第2题【4】while(1.0/n=1e-6)【5】f=-f; 或f=(-1)*f【6】printf(PI=%.4fn,4*s);1下列程序中amin( )函数的功能是求一维整型数组的最小值,并将最小值返回;main( )函数的功能是输入数组各元素的值,调用amin( )函数求数组元素中的最小值并显示。请改正程序中的错误。#include void amin(int b,int n) /* 本行有错【1】*/ 答案:int amin(int b,int n)或amin(int b,int n)int k,min;min=b0; for(k=1;kn;k+)if (bkmin) min=bk;return min;void main()int a10,i,m; /* m:存放最小值 */for(i=0;i10;i+)scanf(%d,ai); /* 本行有错【2】*/ 答案:scanf(%d,&ai);m=amin(a10,10);/* 本行有错【3】*/答案:m=amin(a,10);printf(最小值=%dn,m);2下列程序的功能是用公式 求的近似值,直到最后一项的绝对值小于10-6为止,输出时保留小数点后面4位。请改正程序中的错误。#include void main()float s=0;int f=1, n=1; /*f:表示符号位的正负;n:表示分母while(1/n=1e-6)s=s+1.0*f/n;f=-1;/* 本行有错【5】*/答案:f=-f; 或f=(-1)*fn=n+2;答案:printf(PI=%.4fn,4*s);printf(PI=%4fn,4*s); /* 本行有错【6】*/四、程序填空题:(每空2分,共18分)(说明:请将正确答案按照题干上【】中的序号填写在下表中)分数第1题【1】n/100【2】n/10%10或n%100/10 或 (n-a*100)/10【3】a*a*a+b*b*b+c*c*c=n第2题【4】printf(n);【5】i【6】s+aij;第3题【7】或string.h【8】sk!=sn-k-1【9】f=1或f1下列程序的功能是显示所有的“水仙花数”。所谓“水仙花数”是指一个三位正整数,其各位数字的立方和正好等于该数本身。例如,153是一个水仙花数,因为13+53+33=153。请填空完善程序。#include void main()int n,a,b,c; for(n=100;n=999;n+)a= 【1】 ;/*a:表示百位上的数字*/答案: n/100b= 【2】
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源行业企业绿色供应链构建报告
- 农业:2025年农业信息化发展现状与挑战分析
- 语文中考模拟试题及答案
- 燃气安全调压设备考试题
- 2025年新能源产业质量认证技术创新与能源政策认证报告
- 2025年高三理综试卷及答案
- 照护病人基础试题及答案
- 2025年新能源企业数字化转型中研发团队组织架构优化报告
- 农发行徐州市沛县2025秋招半结构化面试题库及参考答案
- 2025年刑事诉讼法试卷及答案
- 2025贵州毕节威宁自治县面向社会招聘城市社区工作者17人考试参考试题及答案解析
- 建筑工地垃圾清理与处理方案
- 婴儿奶粉合同(标准版)
- 中医执业医师考试针灸推拿知识点试题及答案
- 卓望公司安全风控培训课件
- 修井现场安全培训内容课件
- 做更好的自己课件-2025-2026学年统编版道德与法治七年级上册
- 2023年贵州贵州贵安发展集团有限公司招聘考试真题及答案详解(夺冠)
- 2025年大宗商品贸易业务流程优化计划
- 情感表达+课件+2025-2026学年人教版(2024)初中美术七年级上册
- 先心病介入封堵治疗
评论
0/150
提交评论