您好,欢迎访问三七文档
当前位置:首页 > 法律文献 > 理论/案例 > 湖南省对口升学计算机专业综合试卷试题
112014年下期12级对口升学计算机专业综合试卷(C语言)第三次月考试题一、单选题(每题4分,共120分)1、有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]);B)scanf(“%s”,s+1);C)gets(s);D)scanf(“%s”,s[1]);2、有以下程序#includestdio.hvoidfun(char*c,intd){*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);}main(){charb=’a’,a=’A’;fun(&b,a);printf(”%c,%c\n”,b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B3、若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。C)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组4、设有定义doublea[10],*s=a;,一下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+35、有以下程序#includestdio.hmain(){inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},is=0for(i=0;i5;i++)s=s+a[b[i]];printf(%d\n,s);}程序运行后的输出结果是A)6B)10C)11D)156、若有以下定义和语句charsl[10]=abcd!,*s2=n123\\;printf(%d%d\n,strlen(s1),strlen(s2));则输出结果是A)55B)105C)107D)587、有以下程序#includestdio.h#defineN8voidfun(int*x,inti){*x=*(x+i);}main(){inta[N]={1,2,3,4,5,6,7,8},i;22fun(a,2);for(i=0;iN/2);i++){printf(%d,a[i]);}printf(\n);}程序运行后的输出结果是A)1313B)2234C)3234D)12348、有以下程序#includestudio.hintf(intt[],intn);main(){inta[4]={1,2,3,4},s;s=f{a,4};printf(”%d\n”,s);}intf(intt[],intn){if(n0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是A)4B)10C)14D)69、有以下程序#includestudio.hintfun(){staticintx=1;x*=2;returnx;}main(){intI,s=1;for(i=1;i=2;i++)s=fun();printf(”%d\n”,s);}程序运行后的输出结果是A)0B)1C)4D)810、下面程序#includestdio.hmain(){char*a=1234;fun(a);printf(\n);}fun(char*s){chart;if(*s){t=*s++;fun(s);}if(t!='\0')putchar(t);}输出为().A)1234B)4321C)1324D)42313311、对于类型相同的指针变量,不能进行哪种运算()?A)-B)+C)=D)12若有以下说明,则正确的赋值表达式是()。intx,*p;A)p=&xB)p=xC)*p=&xD)*p=*x13、有如下语句inta=10,b=20,*p1,*p2;p1=&a;p2=&b;若要实现p1,p2均指向b,可选用的赋值语句是()。A)*p1=*p2;B)p1=p2;C)p1=*p2;D)*p1=p2;14、以下程序的运行结果是()。sub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(%4d,%4d,%4d\n,a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-715、以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。main(){int*p,*q,a,b;p=&a;printf(inputa:);scanf(%d,*p);……}A)*p表示的是指针变量p的地址B)*p表示的是变量a的值,而不是变量a的地址C)*p表示的是指针变量p的值D)*p只能用来说明p是一个指针变量。16、变量的指针,其含义是指该变量的()。A)值B)地址C)名D)一个标志17、若有说明:int*p,m=5,n;以下正确的程序段是()。A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p);C)scanf(%d,&n);*p=nD)p=&n;*p=m;18、下面程序段运行结果是()。char*p=%d,a=%d,b=%d\n;inta=111,b=10,c;c=a%b;p+=3;printf(p,c,a,b);A)1,a=111,b=10B)a=1,b=111C)a=111,b=10D)以上结果都不对。19、有以下程序#includemain(){charp[20]={‘a’,’b’,’c’,’d’},q[]=”abc”,r[]=”abcde”;strcat(p,r);strcpy(p+strlen(q),q);printf(“%d\n”,strlen(p));}程序运行后的输出结果是A)9B)6C)11D)720、执行下面程序段后,ab的值为()。int*var,ab;ab=100;var=&ab;ab=*var+10;A)120B)110C)100D)904421、若有定义:intx,*pb;则正确的赋值表达式是()。A)pb=&xB)pb=xC)*pb=&xD)*pb=*x22、下面程序运行结果是()。voidfun(intx){printf(%d\n,++*x);}main(){inta=25;fun(&a);}A)23B)24C)25D)2623、对于两个类型相同的指针变量,不能进行()运算?A.+B.-C.=D.==24以下程序的输出结果是()。a.4b.6c.8d.10main(){intk=2,m=4,n=6;int*pk=&k,*pm=&m,*p;*(p=&n)=*pk*(*pm);printf(%d\n,n);}25、若有inta[10]={1,2,3,4,5,,6,7,8,9,10};*p=a;则数值为9的表达式是()。A.*p+9B.*(p+8)C.*p+=9D.p+826、若有以下说明和语句,且0≤i<5,则下面哪个答案()是对数组元素地址的正确表示?floata[]={1.6,3.0,-5.4,7.8,94.0},*p,i;p=a;A)&(p+i)B)a++C)&pD)&p[i]27、若有以下说明,则a[*(a+a[3])]的值为()。inta[]={8,1,2,5,0,4,7,6,3,9};A)8B)3C)0D)不合法28、以下程序运行后,输出结果是()。main(){inta[10]={19,23,44,17,37,28,49,36},*p;p=a;printf(%d\n,(p+=3)[3]);}A)44B)17C)49D)运行时出错,无定值29、有以下程序#includestdio.hmain(){char*a[]={“abcd”,”ef”,”gh”,”ijk”};intI;for(i=0;i4;i++)printf(“%c”,*a);}程序运行后输出的结果是A)aegiB)dfhkC)abcdD)abcdefghijk30、若有以下定义intx[10],*pt=x;则对x数组元素的正确应用是A)*&x[10]B)*(x+3)C)*(pt+10)D)pt+355二、读程序写运行结果(每题5分,共50分)1、以下程序的输出结果为______________________#includestdio.hmain(){inti=0,j=0,a=6;if((++i0)&&(++j0))a++;printf(i=%d,j=%d,a=%d\n,i,j,a);}2、有如下程序该程序的输出结果是______________________main(){inta=2,b=-1,c=2;if(ab)if(b0)c=0;elsec++;printf(%d\n,c);}3、以下程序的输出结果是______________________main(){inti=0,j=0,k=6;if((++i0)||(++j0))k++;printf(%d,%d,%d\n,i,j,k);}4、下列程序的结果为______________________change(intx,inty){intt;t=x;x=y;y=t;}main(){intx=2,y=3;change(x,y);printf(x=%d,y=%d\n,x,y);}5、下列程序运行后的输出结果是______________________#includestdio.hvoidfun(int*a,int*b){int*c;c=a;a=b;b=c;}main(){intx=3,y-5,*P=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*p,*q);fun(&x,&y);printf(“%d,%d\n”,*p,*q);}6、下列程序运行后的输出结果是______________________#includestdio.hviodf(int*p,int*q);main(){intm=1,n=2,*r=&m;66f(r,&n);printf(“%d,%d”,m,n);}voidf(int*p,int*q){p=p+1;*q=*q+1;}7、以下程序运行后的输出结果是______________________#includestdio.hmain(){intk=1,s=0;do{if{((k&2)!=0)continue;s+=k;k++;}while(k)10);printf(“s=&d/n”,s);}8下列程序运行时,若输入labced12df回车输出结果为______________________#includestdio.hmain(){chara=0,ch;while((ch=getchar())!=’\n’){if(a&2!=0&&(ch’a’&&ch=’z’))ch=ch-‘a’+’A’;a++;putchar(ch);}printf(“\n”);}9有以下程序,程序执行后,输出结果是______________________#includestdio.hvoidfun(int*a){a[0=a[1];]}main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i=0;i--)fun{&a};for(i=0;i10;i++)printf(“&d”,a);printf(“\n”);}10请将以下程序中的函数声明语句补充完整_________________#includestdio.hint【_________________】;main(){intx,y,(*p)();p=max;printf(“&d\n”,&x,&y)}intmax(inta,intb){return(ab/a:b);}772014年下期12级对口升学计算机专业综合试卷(C语言)第三次月考试题姓名班级一、单选题(每题4分,共120分)题号123456789101112131415答案题号161718192
本文标题:湖南省对口升学计算机专业综合试卷试题
链接地址:https://www.777doc.com/doc-7237927 .html