资源描述:
《C语言习题课(指针)教学文案.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言习题课(指针)1、指针变量a所指的字符串长度为(),这个长度是可以用strlen(a)测出来的。char*a=“MyNameis”wangfei”.”;(1)26(2)27(3)28(4)24(5)232、下面程序的作用是,将两个变量中的值互换,请检查程序是否正确,如不正确的,请改正。#includevoidmain(){inta=3,b=4;int*p1,*p2,*p;p1=&a,p2=&b;p=p1;p1=p2;p2=p;printf(“a=%d,b=%d”,a,b);}这里改为:int*p1,*p2,p;这里改为:p
2、=*p1;*p1=*p2;*p2=p;3、已设p1和p2为指针变量,且已指向同一个整型数组中的元素,a是一个整型变量,问下面哪一个语句不能正确执行?(1)a=*p1(2)a=*p1+*p2(3)a=*p1-*p2(4)p1=a-p24、有一个二维数组a[3][4],2行3列元素的正确表示方法为()。(1)&a[2][3](2)a[2]+3(3)*(a+2)+3(4)*(a[2]+3)5、若有语句:inta=4,*p=&a;下面均代表地址的一组选项是:1)a,p,&*a2)*&a,&a,*p3)&a,p,&*p4)*&p,*p,&a6、以下程序段的输出结果为:ch
3、ara[]=“Program”,*ptr;ptr=a;for(;ptrvoidmain(){ints[]={1,2,3,4,5,6,7,8,9},*p;p=s;*(p+5)=22;p++;printf("%d,%d",*p,*(p+4));}输出结果是:2,229、下列程序
4、的输出结果是:#includevoidmain(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf("%d",*(p));printf("%d",**k);}A)44B)22C)24D)结果错误10、写出下面程序的运行结果。#include"stdio.h"#include"string.h"voidmain(){chara[30]="nicetomeetyou!";intb;b=strlen(a)-9;strcpy(a+b,"you");printf("%s",a);}运行结果:nicetoyo
5、u!11、下列程序的输出结果是多少?#includevoidfun(int*a,int*b){intk;k=5;*a=k;*b=*a+k;}voidmain(){int*a,*b,x=10,y=15;a=&x;b=&y;fun(a,b);printf("%d,%d",*a,*b);printf("%d,%d",x,y);}运行结果:5,105,1012、以下程序段的输出结果是()#includevoidmain(){inta[10]={9,8,7,6};int*p;p=a;printf("%d,%d",*p,*(p
6、+2));}运行结果:9,713、已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是()。voidprint_value(int*x){printf("%d",++(*x));}A)23B)24C)25D)2614、阅读下面程序,输出结果是多少?#include"stdio.h"voidmain(){intc[6]={1,2,3,4,5,6};int*p;p=c;printf("%d,",*++p);p=p+3;printf("%d“,*p--);}运行结果:2,515、阅读下面程序,则程序的输出结果是多
7、少?#includevoidmain(){inti;char**p;char*name[]={"Ann","Hare","Jack","Mary"};printf("Students'snamesare:");for(i=2;i<4;i++){p=name+i;printf("%s",*p);}}运行结果:JackMary16、写出程序的运行结果。#include#includevoidfun(char*s){inti;chara[10]="opqrst";for(i=0;a[i]!=' ';
8、i++)*(s+i)=a