您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 《C语言程序设计》期末考试试卷(A卷120分钟)
安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一.单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。1.下面程序段执行后,a的值是______。inta;printf(%d\n,(a=3*5,a*4,a+5));A)60B)20C)15D)102.下列程序段的输出是______。intx=023;printf(%d\n,--x);A)19B)18C)23D)223.执行下列语句后,a的值是______。inta=8;a+=a-=a*a;A)-240B)64C)112D)-1124.执行下列语句后,输出的值是______。intx=6;printf(%d,%d,%d\n,x,x++,--x);A)5,5,5B)6,5,5C)7,6,5D)5,6,55.指出下列程序段所表示的逻辑关系是______。if(ab){if(c==d)x=1;}elsex=2;A)若ab且c=d,则x=1;若a=b且c!=d,则x=2。B)若ab且c=d,则x=1;若a=b,则x=2。C)若ab且c=d,则x=1;若ab且c!=d,则x=2。D)若ab且c=d,则x=1;若c!=d,则x=2。6.下列程序段的执行结果是______。inti,x;for(i=1,x=1;i=20;i++){if(x=10)break;if(x%2==1){x+=5;continue;}x-=3;}printf(%d,%d\n,x,i);A)6,4B)7,5C)10,6D)14,77.下列程序的执行结果是______。#includestdio.h#includestring.hmain(){staticchars[10]={'C','h','i','n','a'};printf(%d\n,strlen(s));}A)6B)5C)11D)108.函数的数据类型是______决定的。A)调用该函数时临时B)调用函数的实参C)return语句的表达式类型D)函数的形参9.执行下列程序段后,*(p+5)的值是______。staticchars[]=Hello;char*p;p=s;A)'o'B)'\0'C)'o'的地址D)不确定的值10.以下程序的输出结果是______。#includestdio.hmain(){staticinta[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf(%d,%d\n,*p,*(p+3));}A)0,5B)1,5C)0,6D)1,611.在以下定义中,标识符P______。int(*p)[3];A)定义不合法。B)是一个指针数组名,每个元素是一个指向整型变量的指针。C)是一个指针,它指向一个具有三个元素的一维数组。D)是一个指向整型变量的指针。12.sizeof(int)是______。A)一个整型表达式B)一个不合法的表达式C)一种函数调用D)一条语句13.有宏定义:#defineMULT1(a,b)a*b#defineMULT2(a,b)(a)*(b)在后面的程序中有宏引用:y=MULT1(3+2,5+8);z=MULT2(3+2,5+8);则y和z的值是______。A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=2114.设有程序段:unionMYTYPE{longx;inty[4];charz[6];}them;main(){printf(“%d\n”,sizeof(them));}则程序的输出结果是______。A)18B)6C)8D)415.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是______。A)FILE*fp;B)FILE*fp;fp=fopen(file1,r);fp=fopen(file1,r+);C)FILE*fp;D)FILE*fp;fp=fopen(file1,rb);fp=fopen(file1,rb+);16.设有如下定义:structsk{inta;floatb;}data,*p;且p=&data;则对data中a域的正确引用是().A)(*p).data.aB)(*p).aC)p-data.aD)p.data.a17.若fun(intx){printf(“%d\n”,x);},则fun_______。A)返回值为void类型B)返回值无法确定C)返回值为int类型D)没有返回值18.实参和和形参之间的数据传送是_______。A)地址传送B)实参传给形参,再由形参传给实参C)值传送D)由用户指定传送方式19.以下程序的输出结果是______。char*s=”ABCD”,*p;for(p=s;*p;p++)printf(%s\n,p);A)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAA20.下列程序段的输出是______。intfun(intx){staticinta=3;a+=x;returna;}voidmain(void){intk=2,m=1,n;n=fun(k);n=fun(m);printf(“%d\n”,n);}A)3B)4C)6D)9得分二.填空题:(每空1分,共20分)请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。1.C语言有⑴、⑵、⑶、⑷和⑸五种常量。2.C程序的变量不仅要事先⑹,而且还必须⑺后才能使用。3.C语言在给出逻辑运算结果时,以⑻代表“真”,以⑼代表“假”;在判断一个量是否为“真”时,以⑽代表“假”,以⑾代表“真”。4.C语言规定只有⑿数组和⒀数组才能初始化;这种数组不赋初值,系统会对所有数组元素自动赋以⒁值。5.对两个指针变量进行关系运算的条件是⒂,其结果表示⒃。6.一个C文件是一个⒄或⒅,它把数据看成是⒆,对文件的存取是以⒇为单位。得分三.程序设计题(每空2分,共40分)阅读下列程序,在横线上填入适当的内容使程序完整。请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。1.下列程序是求Fibonacci数列:1,1,2,3,5,8……的前40个数,要求每行输出4个数。main(){longintf1,f2;inti;f1=1;f2=1;for(i=1;i=⑴;i++){printf(%12ld%12ld,f1,f2);if(⑵)printf(\n);f1=⑶;f2=⑷;}}2.下列程序是求一个3×4矩阵中值最小元素。min_value(⑸){inti,j,k,min;⑹=array[0][0];for(i=0;i3;i++)for(j=0;j4;j++)if(⑺)min=⑻;⑼;}main(){staticinta[3][4]={1,2,3,4,5,6,7,8,9};printf(minvalueis%d\n,min_value(⑽));}3.下列程序的功能是:将字符串a复制到字符串b中。voidcopy_string(char*from,⑾);{for(;*from;⑿)⒀;*to=⒁;}main(){char*a=Iamaboy!;char*b=Thisisatest!;⒂;printf(a=%s\a=%s\n,a,b);}4.有一个班,3个学生,各学四门棵。下列程序的功能是:查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩。main(){⒃;staticfloatscore[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};search(score,3);}voidsearch(float(*p)[4],intn);{inti,j,flag;for(j=0;jn;j++){flag=0;for(i=0;i4;i++)if(⒄)flag=1;if(⒅){printf(No.%disfail\n,j+i);for(i=0;⒆;i++)printf(%5.1f,⒇);printf(\n);}}}参考答案:一.单项选择题:(每题2分,共40分)CBDBBCBCBDCABBBBCCAC二.填空题:(每题2分,共20分)1常数2字符3字符串4、转义序列5符号常量6定义7赋值819010非011012static13extern14015指向同一数组16位置的前后17字节流18二进制流19一连串的字符20字符(字节)三.程序归纳题(每题2分,共40分)1202i%5==03f1+f24f1+f25intarray[3][4]6min7minarray[i][j]8array[i][j]9returnmin10a11char*to12from++,to++13*to=*from14‘\0’15copy_string(a,b)16voidsearch(float(*p)[4],intn)17p[j][i]6018flag==119i420p[j][i]
本文标题:《C语言程序设计》期末考试试卷(A卷120分钟)
链接地址:https://www.777doc.com/doc-2835888 .html