您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 2008年专升本考试C语言模拟试题
2008年专升本考试C语言模拟试题(2009-07-0422:35:50)转载标签:c语言分类:考试一.单项选择题1.以下定义语句中正确的是(C)A)chara='A'b='B';B)floata=b=10.0;C)inta=10,*b=&a;D)float*a,b=&a;2.下列运算符中,优先级最高的是(A)。A.-B.++C.&&D.=3.表达式!(x0&&y0)等价于(A)。A.!(x0)||!(y0)B.!x0||!y0C.!x0&&!y0D.!(x0)&&!(y0)4.有以下程序main(){inta=666,b=888;printf(%d\n,a,b);}程序运行后的输出结果是(B)A)错误信息B)666C)888D)666,8885.有以下程序main(){inti;for(i=0;i3;i++)switch(i){case0:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}程序运行后的输出结果是(C)A)022111B)021021C)000122D)0126.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|10的是(C)A)abs(x-y)10B)x-y-10&&x-y10C)!(x-y)-10||!(y-x)10D)(x-y)*(x-y)1007.数组定义为,inta[11][11];则数组a的元素个数为:(D)A.12B.144C.100D.1218.对于以下的变量定义,不正确的表达式是:(D)。structnode{intj,k;}x,*p=&x;A.p-k=2;B.(*p).k=2;C.x.k=2D.x-k=29.不正确的赋值或赋初值的方式是(B)。A.charstr[]=”string”;B.charstr[10];str=”string”;C.char*p=”string”;D.char*p;p=”string”;10.设程序中不再定义新的变量,写出在函数main中可以使用的所有变量为:(B)#includestdio.hintz;intp(intx){staticinty;return(x+y);}voidmain(){inta,b;printf(“%dn”,p(a));………}A.a,bB.a,b,zC.a,b,y,zD.a,b,x,y,z11.有以下程序main(){inti=0,x=0;for(;;){if(i==3||i==5)continue;if(i==6)break;i++;s+=i;};printf(%d\n,s);}程序运行后的输出结果是(D)A)10B)13C)21D)程序进入死循环12.有以下程序main(){chara,b,c,d;scanf(%c,%c,%d,%d,&a,&b,&c,&d);printf(c,%c,%c,%c\n,a,b,c,d);}若运行时从键盘上输入:6,5,65,66回车。则输出结果是(A)A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,613.s12和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;则以下选项中正确的是(D)A)if(s1s2)S;B)if(strcmp(s1,s2))S;C)if(strcmp(s2,s1)0)S;D)if(strcmp(s1,s2)0)S;14.有以下定义和语句inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1)所代表的数组元素是(C)A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]15.程序中对fun函数有如下说明void*fun();此说明的含义是:(C)A)fun了数无返回值B)fun函数的返回值可以是任意的数据类型C)fun函数的返回值是无值型的指针类型D)指针fun指向一个函数,该函数无返回值16.有以下程序voidfun(int*a,inti,intj){intt;if(iJ){t=a;a=a[j];a[j]=t;i++;j--;fun(a,i,j);}}main(){intx[]={2,6,18},i;fun(x,0,3);for(i=0;i4;i++)printf(%2d,x);printf(\n);}程序运行后的输出结果是(C)A)1268B)8621C)8162D)861217.有以下说明和定义语句structstudent{intage;charnum[8];};structstudentstu[3]={{20,200401},{21,200402},{10\9,200403}};structstudent*p=stu;以下选项中引用结构体变量成员的表达式错误的是(D)A)(p++)-numB)p-numC)(*p).numD)stu[3].age18.已定义ch为字符型变量,以下赋值语句中错误的是(A)A)ch='\';B)ch=62+3;C)ch=NULL;D)ch='\xaa';19.以下选项中不能正确把cl定义成结构体变量的是(B)A)typedefstructB)structcolorcl{intred;{intred;intgreen;intgreen;intblue;intblue;}COLOR;};COLORcl;C)structcolorD)struct{intred;{intred;intgreen;intgreen;intblue;intblue;}cl;}cl;20.有以下程序fun(inta,intb){if(ab)return(a);elsereturn(b);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%d\n,r);}程序运行后的输出结果是(D)A)3B)6C)8D)1221.有以下程序段main(){inta=5,*b,**c;c=&b;b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是(C)A)变量a的地址B)变量b中的值C)变量a中的值D)变量b的地址22.设有intx=11;则表达式(x++*1/3)的值是(A)A)3B)4C)11D)1223.下列程序的输出结果是(C)A)3B)3.2C)0D)3.07main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf(%d\n,d*y);}24.下列变量定义中合法的是(A)A)short_a=1-.le-1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e-3;25.以下循环体的执行次数是(C)A)3B)2C)1D)0main(){inti,j;for(i=0,j=1;i=j+1;i+=2,j--)printf(%d\n,i);}26.以下叙述正确的是(D)A)do-while语句构成的循环不能用其它语句构成的循环来代替。B)do-while语句构成的循环只能用break语句退出。C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。D)用do-while语句构成的循环,在while后的表达式为零时结束循环。27.下列程序执行后的输出结果是(A)A)GB)HC)ID)Jmain(){intx='f';printf(%c\n,'A'+(x-'a'+1));}28.下列程序执行后的输出结果是(A)A)6B)7C)8D)9voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf(%d\n,b[0]);}29.下列程序的运行结果是(B)A)a=%2,b=%5B)a=2,b=5C)a=d,b=dD)a=%d,b=%d#includemain(){inta=2,c=5;printf(a=%d,b=%d\n,a,c);}30.设有数组定义:chararray[]=China;则数组array所占的空间为(C)A)4个字节B)5个字节C)6个字节D)7个字节31.下列程序的输出结果是(B)A)5B)6C)7D)8structabc{inta,b,c;};main(){structabcs[2]={{1,2,3},{4,5,6}};intt;t=s[0],a+s[1],b;printf(%d\n,t);}32.若有以下调用语句,则不正确的fun函数的首部是(C)A)voidfun(intm,intx[])B)voidfun(ints,inth[41])C)voidfun(intp,int*s)D)voidfun(intn,inta)main(){…inta[50],n;…fun(n,&a[9]);…}33.设已有定义:char*st=howareyou;下列程序段中正确的是(A)A)chara[11],*p;strcpy(p=a+1,&st[4]);B)chara[11];strcpy(++a,st);C)chara[11];strcpy(a,st);D)chara[],*p;strcpy(p=&a[1],st+2);34.下列程序执行后的输出结果是(A)A)you&neB)youC)meD)errmai(){chararr[2][4];strcpy(arr,you);strcpy(arr[1],me);arr[0][3]='&';printf(%s\n,arr);}35.下列程序执行后的输出结果是(B)A)6B)8C)10D)12#defineMA(x)x*(x-1)main(){inta=1,b=2;printf(%d\n,MA(1+a+b));}36.变量a所占内存字节数是(C)A)4B)5C)6D)8unionU{charst[4];inti;longl;};structA{intc;unionUu;}a;二、填空题1.表达式105的值是1。3.表达式~(101^~5)的值是0。2.设变量已正确定义,在程序段B中填入正确的内容,使程序段A和程序段B等价。程序段Afor(k=s=0;k=10;s+=a[k++])if(a[k]0)break;程序段Bfor(k=0,s=0;;s+=a[k++])if(a[k]0||k10)break;3.下列程序的输出结果是100。#defineT10#defineMD3*Tprintf(“%d”,30/MD);4.下列程序的输出结果是k=5,s=15。intk,s;for(k=s=0;k10&&s=10;s+=k)k++;printf(“k=%d,s=%d”,k,s);5.下列程序的输出结果是5,9。#includestdio.hintf(intm){staticintk=2;k++;returnk+m;}voidmain(){ints;s=f(2);printf(“%d,%dn”,s,f(s));}6.对于以下递归函数f,条用f(3)的返回值是-2。f(intn){return((n=0)?n:f(n-1)+f(n-2));}7.下列程序的输出结果是-10。intc[]={10,0,-10};int*k=c+2;printf(“%d”,*k--);8.下列程序的输出结果是21。intk=1,j=2,*p=&k,*q=p;p=&j;printf(“%d%d”,*p,*q);9.下列程序的输出结果是un,g。#includestdio.hchar*f(char*str){returnstr=”fun”;}voidmain(){char*str=”one”;printf(“%s,%cn”,f(str)+1,*f(str)+1);}10.下列程序的输出结果是1,3。#includestdio.hvoidp(int*x,inty){++*x;y--;}voi
本文标题:2008年专升本考试C语言模拟试题
链接地址:https://www.777doc.com/doc-6729166 .html