您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 安徽大学c语言试卷(3)
1安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号一.单项选择题:(每题2分,共40分)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.下列程序段的执行结果是______。题号一二三四五六七八得分得分得分2inti,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));}3A)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)没有返回值418.实参和和形参之间的数据传送是_______。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.对两个指针变量进行关系运算的条件是,其结果表示。得分56.一个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;);得分6*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);}}}7安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(B卷120分钟)一.单项选择题:(每题2分,共20分)1.执行程序:inta;printf(%d\n,(a=3*5,a*4,a+5));后,a的值是______。A)60B)20C)15D)102.程序段:intx=023;printf(%d\n,--x);的输出是______。A)19B)18C)23D)223.程序段:staticchars[10]={'C','h','i','n','a'};printf(%d\n,strlen(s));的输出是______。A)6B)5C)11D)104.若fun(intx){printf(“%d\n”,x);},则fun_______。A)返回值为void类型B)返回值类型无法确定C)返回值为int类型D)没有返回值5.有宏定义:#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=216.程序段chars[]=Hello,*p;p=s;执行后,*(p+5)的值是______。A)'o'B)'\0'C)'o'的地址D)不确定的值7.程序段:char*s=”ABCD”,*p;for(p=s;*p;p++)printf(%s\n,p);的输出是______。A)ABCDB)AC)DD)ABCDBCDBCABCCDCBABDDAA88.若定义:int(*p)[3];则标识符p______。A)定义不合法。B)是一个指针数组名,每个元素是一个指向整型变量的指针。C)是一个指针,它指向一个具有三个元素的一维数组。D)是一个指向整型变量的指针。9.定义:structsk{inta;floatb;}data,*p;且p=&data;则正确引用成员a的方式是______。A)p.data.aB)(*p).aC)p-data.aD)(*p).data.a10.以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。A)FILE*fp;B)FILE*fp;fp=fopen(file1,rb);fp=fopen(file1,r+);C)FILE*fp;D)FILE*fp;fp=fopen(file1,r);fp=fopen(file1,rb+);二.填空题:(每空1分,共20分)7.C程序一个函数的定义由_________和_________两部分组成。8.C语言的整型变量可分为基本型、短整型、________和________。9.C语言在判断一个量是否为“真”时,以____代表“假”,以____代表“真”。10.C语言中的break语句只能用于______和______语句。11.对________和________型数组不赋初值,系统会对所有元素自动赋以0值。12.C语言中“文件包含”是通过____________命令完成的,而符号常量是通过____________命令定义的。913.对于数组x[5][5],*(x+2)+3表示__________,*(x[3]+2)表示__________。14.若定义:struct{inty,m,d;}today,*pdata;则为today分配内存____字节,为pdata分配内存____字节。15.C语言文件按数据的存放形式可分为________文件和_________文件。16.C语言文件是一个________序列,这类文件称为_______文件。三.程序归纳题(每题2分,共10分)阅读下列函数,总结其主要功能填在答题卡相应的横线上。答在试卷上不得分。1.intfun1(char*str){char*ptr=str;while(*ptr++);returnptr-str-1;}2.doublefun2(doublex,doubley,doublez){returnx(yz?y:z)?x:(yz?y:z);}3.voidfuns3(intnum[],intsize){inti=0,tmp;while(isize/2){tmp=num[
本文标题:安徽大学c语言试卷(3)
链接地址:https://www.777doc.com/doc-2526069 .html