当前位置:文档之家› c模拟试题 (3)

c模拟试题 (3)

1,下列描述中不正确的是__C____。

A.可以对字符型数组进行整体输入、输出B.字符型数组中可以存放字符串C.可以对整型数组进行整体输入、输出D.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值2,以下程序的输出结果是___C___。

main(){ int i,a[10];for(i=9;i>=0;i--) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A.369B.741C.852D.2533,若变量已正确定义并赋值,下面符合C语言的表达式是__B____A.a=a+7=c+bB.a=b=c+2C.int 18.5%3D,a:=b+14.以下选项中合法的字符常量是_D_____。

A."B"B,DC,68D,'\010'5,有以下程序struct S{int n; int a[20];};void f(struct S *p){ int i,j,t;for(i=0;i<p->n-1;i++)for(j=i+1;j<p->n;j++)if(p->a[i]>p->a[j]) { t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t;} }main(){ int i; struct S s={10,{2,3,1,6,8,7,5,4,10,9}};f(&s);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是__C____。

A.2,3,1,6,8,7,5,4,10,9,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,4,5,6,7,8,9,10,D,10,9,8,7,6,1,2,3,4,5,6.有如下程序main(){ int n=9;while(n>6) {n--;printf("%d",n);}}该程序段的输出结果是___B___。

A.9876B.876C.8765D.9877,有如下程序int func(int a, int b){ return(a+b); }main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}该程序的输出结果是____D__。

A.14B.13C.12D.158.以下程序的输出结果为_____C_。

main(){ char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char **p;int i;p=alpha;for(i=0;i<4;i++)printf("%s",p[i]);printf("\n");}A.AEIMB.ABCDC.ABCDEFGHIJKLMNOPD.ABCDEFGHIJKL9.有以下程序main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出的结果是___B___。

A.4B.3C.2D.编译时有错,无结果10.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是_____D_。

A,p+1B.a+1C.++pD.a++11.有以下程序main(){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++) printf("%d,",*p);}程序运行后的输出结果是_____D_。

A.2,3,4,5,6,7,8,9,10,1,B. 0,1,2,3,4,5,6,7,8,9,C. 1,1,1,1,1,1,1,1,1,1,D. 1,2,3,4,5,6,7,8,9,0,12. 指针s所指字符串的长度为___A___。

char*s="\t1Name\\Address\n";A.15B.19C.18D. 说明不合法13. 请读程序:#include <stdio.h>func(int a, int b){int c;c=a+b;return c;}main( ) {int x=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n", r);}上面程序的输出结果是_____A_。

A.21B.20C.11D.3114, 有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。

struct node{ int data;struct node *next;}*p,*q,*r;data next data next data next┌─┬─┐┌─┬─┐┌─┬─┐─→││┼→││┼→││┼→└─┴─┘└─┴─┘└─┴─┘↑p ↑q ↑r现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是_B_____。

A. q->next=r->next;p->next=r;r->next=q;B. r->next=q;q->next=r->next;p->next=r;C. p->next=r;q->next=r->next;r->next=pD. q->next=r->next;r->next=q;p->next=r;15, 有以下程序main(){ int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是___D___A.-1B.5C.3D.-216, 以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。

请填空。

void fun(int,int,int(*)[4],int *);main(){ int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;fun(3,4,a,b);for(i=0;i<3;i++) printf("%4d",b[i]);printf("\n");}void fun(int m,int n,int ar[][4],int *br){ int i,j,x;for(i=0;i<m;i++){ x=ar[i][0];for(j=0;j<n;j++) if(x<ar[i][j]) x=ar[i][j];br[i] 或 *(br+i)。

=x;}17. 以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。

file *myf; long f1;myf=fopen ("test.t","rb");fseek(myf,(),SEEK_END);f1+ftell(myf);fclose(myf);printf("%1d\n",f1);18.函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s<t时返回负值。

请填空。

mycmp( char *s,char *t){ while (*s==*t){ if (*s=='\0')return 0;++s;++t;}return(*s-*t);}19. 以下程序的功能是:利用指针指向三个整型变量,并通过指针运算找出三个数中的最大值,输出到屏幕上。

请填空。

main(){ int x,y,z,max,*px,*py,*pz,*pmax;scanf("%d%d%d",&x,&y,&z);px=&x; py=&y; pz=&z; pmax=&max;*pmax=*px;if(*pmax<*py) *pmax=*py;if(*pmax<*pz) *pmax=*pz;printf("max=%d\n",max);}20. 以下程序运行后的输出结果是__81____。

#define S(x) 4*x*x+1main(){ int i=6,j=8;printf("%d\n",S(i+j));}21. 若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen("d1.dat","rb");。

22. 以下程序运行后的输出结果是3,2,2,3。

void fun(int x,int y){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main(){int x=2,y=3;fun(x,y);printf("%d,%d\n",x,y);}23. 下列程序段的输出结果是passwarn。

int n='c';switch(n++){default:printf("error");break;case'a':case'A':case'b':case'B':printf("good");break;case'c':case'C':printf("pass");case'd':case'D':printf("warn");}24. 下面程序的运行结果是:___35___。

相关主题