【C语言指针模拟测试题_答案】.doc

上传人:公**** 文档编号:559546240 上传时间:2023-09-05 格式:DOC 页数:7 大小:73.51KB
返回 下载 相关 举报
【C语言指针模拟测试题_答案】.doc_第1页
第1页 / 共7页
【C语言指针模拟测试题_答案】.doc_第2页
第2页 / 共7页
【C语言指针模拟测试题_答案】.doc_第3页
第3页 / 共7页
【C语言指针模拟测试题_答案】.doc_第4页
第4页 / 共7页
【C语言指针模拟测试题_答案】.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《【C语言指针模拟测试题_答案】.doc》由会员分享,可在线阅读,更多相关《【C语言指针模拟测试题_答案】.doc(7页珍藏版)》请在金锄头文库上搜索。

1、C语言指针部分模拟测试题一、 选择题 语句int a=10,*point=&a;D其值不为地址。A. point B. &a C. &point D. *point 若p为指针变量,y为变量,则y = *p+;的含义是 A Ay=*p;p+By=(*p)+ Cy=p;p+ Dp+;y=*p 语句char str=”visual C+”;char *p=str;则p的值为 B A. ”visual C+” B.str的首地址 C. n D.”v” 设有说明语句char *s=“student”,”Teacher”,”Father”,”Month”,*ps=s2;执行语句:printf(“%c,%

2、s,%c”,*s1,ps,*ps);则输出为A A. T,Father,F B.Teaher,F,Father C. Teacher,Father,Father D.语法错,无输出 下列说明或赋值语句,不正确的是CA. char *p;p=”Visual C+”; B. char p112=v,i,s,u;C. char p212;p2=”Visual C+” D. char p3=”Visual”; 现有int b34,*p;p=(int *)b;若要指针p指向b23,以下正确的是BA. p+=3*4+3 B.p+=2*4+3 C. p+=(3*4+3)*sizeof(int) D.p+=(

3、2*4+3)*sizeof(int) 语句int i,*p1,*p2;以下语句语法不正确的是BA. p1=&i; B. p2=&i; C.p2=&p1; D.i=0x23; 如下图结构体说明和变量的定义,p指向a,q指向变量b.下面不能把结点b连接到结点a之后的语句是 B qp a bdatanextdatanextA. a.next=q; B. p.next=&b; C. p-next=&b; D.(*p).next=q; 下面正确的语句是 A A. int a34,(*p)4; p=a; B. int a34,*p4; p=a; C. int a34,*p; p=a; D. int a34

4、,*p;*p=a; 以“追加”方式打开文本文件a:aa.dat,下列语句中哪一个是正确的是 B A. fp=fopen(a:aa.dat,ab); B. fp=fopen(a:aa.dat,a);C. fp=fopen(a:aa.dat,r+); D. fp=fopen(a:aa.dat,w); 设有函数定义:int f1(void)return 100,150;调用函数f1()时, B A.函数返回值100B. 函数返回值150C. 函数返回二个值100和150D. 语句return 100,150;语法错. 数组作为函数的形参时,把数组名作为实参,传递给函数的是 A A. 该数组的首地址B

5、. 该数组的元素个数C. 该数组中的各元素值D. 该数组的大小 执行以下语句序列:则 A enum Sun,Mon,Tue,Wed,Thu,Fri,Satc1,c2; /Ac1=Mon;/Bprintf(“%d”,c1);A.输出1 B.输出2C.输出0 D. B行语法错 执行以下语句序列:则 C char *p1=”Speaking”;/Achar *p2=”English”;/Bchar *p3=”a piece of cake”;/Cchar *str=p1,p2,p3;/Dprintf(“%c”,*(str0+1);A.输出EnglishB.输出SpeakingC.输出pD. D行语法

6、错二、填空题1(2*2分=4分)下面程序的运行结果为 16 、 2 void main( )static int a32=12,14,16,1,2;int *p=a1;printf(“%dn”,*(p+1);printf(“%dn”,*(p+3);2(2*2分=4分)若有以下程序段,则*(*(b+2)+1)的值为 11 , *(*(p+1)+1)的值为 7 static int b32=1,3,5,7,9,11;int (*p)2;p=b;3(1*4分=4分)下面程序的运行结果为 26 #includevoid sub(int *x,int i,int n)if(n=i)sub(x,i,3*n

7、);*x+=n+; void main( )int x=0;sub(&x,12,2);printf(“%d”,x);4(2*2分=4分)以下程序运行结果为_ Hello,world _、 ello,world void main()char *p,*q;char str=Hello,Worldn;q = p = str;p+;printf(“%sn”,q);printf(“%sn”,p);5. (1*4分=4分)以下程序运行结果是_121232343454_void main()short ar5=1,2,3,4,5 ;short * par=&ar1;int i;for(i=0; i4; i

8、+) printf(“%d %d %d”,ari,pari,*(ar+i); 6(2*2分=4分) 以下程序运行结果是_200 100_ void swap2(int *x,int *y)int t; t=*x;*x=*y;*y=t;void main( ) int a=100,b=200;swap2(&a,&b);printf(“%dt%d”,a,b);7(3*2分=6分)void fun(int n, int *s)int f1,f2;if(n= =1|n= =2)*s=1;elsefun(n-1,&f1);fun(n-2,&f2);*s=2*f1+f2+1; printf(“%dt%d”

9、,f1,f2);void main( ) int x; fun(4,&x);printf(”x=%dn”,x);程序输出的第一行是1 1 第二行是4 1 最后一行是x=10 8. (3*2分=6分)void f(int *q1,int *q2,int *q3)*q3=*q1+*q2;void main( ) int i,j,a33=1,1,*p1=a0,*p2=a0+1,*p3=a0+2;for(i=2;i9;i+)f(p1+,p2+,p3+);for(i=0;i3;i+) for(j=0;j3;j+)printf(“%d”,aii); printf(n);程序输出的第一行是 111 第二行是

10、 555 最后一行是 343434 9(2*3分=6分) int f(int x,int y) return x*y; void main( ) int i,j,(*fun)(int,int); fun=f; for(i=1;idata; for(p=p-next;p!=NULL;p= p-next )if(m p-data )m=p-data;return m;2(3*2分=6分)以下程序求二维数组的平均值 float average(float (*p)4,int n) float sum=0;for(int i=0; in ;i+)for(j=0;j2),即将链表头当链表尾,链表尾当链表头。如下图:An 0A2A1LAn-1A1 0AnL提示:本算法的思想是,逐个地把L的当前结点q插入新的链表头部,p为新表表头.void reverse(NODE * L) p=L-next; q=p-next; L-next=NULL ; while(q!=NULL) p-next=L;L=p; p=q;q=q-next ;p-next=L;L=p;4. (3*2分=6分) 以下程序实现链表L中删除第i个元素(设1i元素个数)void Delete(NODE *L,int i) NODE *p,*q;if(i= =1) q=L;L=L-next

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号