资源描述:
《黄建的C语言课件C11字符指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、11字符指针字符指针1111字符指针实现strcpyI/O函数实现strlen本章内容字符指针传递指针字符指针字符指针1字符指针[2006.4.47]设有以下定义,则叙述正确的是charst[20]="Program",*p;p=st;A)*p与st[0]的值相等B)st与p的类型完全相同C)st数组长度和p所指向的字符串长度相等D)数组st中存放的内容和指针变量p中存放的内容相同2字符指针[2007.9.29]若有以下定义,则不能计算出一个char型数据所占字节数的表达式是:chars[]={'1','2','3'}
2、,*p=s;A)sizeof(s)B)sizeof(char)C)sizeof(*p)D)sizeof(s[0])3字符指针[2009.3.21][2011.9.22]以下程序运行结果是char*s={"ABC"};do{printf("%d",*s%10);s++;}while(*s);5674字符指针[2011.3.21]以下程序运行后n的值是chars[]="012xy 8s34f4w2";inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;3传递指
3、针字符数组名作函数实参数组名作为函数实参,传递的是数组的首地址。函数形参可以是数组名(或指针),本质上是指针变量。1字符数组名作函数实参[2011.3.29]以下程序的运行结果是voidfun(char*c){while(*c){if(*c>='a'&&*c<='z')*c-=32;c++;}}main(){chars[]="Tom!";fun(s);puts(s);}TOM!2字符数组名作函数实参[2009.3.25][2011.3.25]以下程序运行结果是voidfun(char*s){while(*s)if(*s
4、%2)printf("%c",*s++);}main(){chara[]="BYTE";fun(a);}YE实现strlen函数intfun(char*p){intk=0;while(p[k])k++;returnk;}main(){printf("%d",fun("NBA"));}实现strlen3实现strlen函数intfun(char*p){char*s=p;while(*p)p++;returnp-s;}main(){printf("%d",fun("NBA"));}3实现strcpy函数voidfun(ch
5、ar*a,char*b){inti;for(i=0;b[i];i++)a[i]=b[i];a[i]=' ';}main(){charsa[3],sb[3]="Me";fun(sa,sb);puts(sa);}实现strcpy黄建定式一voidfun(char*p,char*w){while(*w){*p=*w;p++;w++;}*p=' ';}main(){charsa[3],sb[3]="Me";fun(sa,sb);puts(sa);}*p++=*w++;黄建定式二voidfun(char*p,char*w){
6、while(*p=*w){p++;w++;}}main(){charsa[3],sb[3]="Me";fun(sa,sb);puts(sa);}黄建定式三voidfun(char*p,char*w){while(*p++=*w++);}main(){charsa[3],sb[3]="Me";fun(sa,sb);puts(sa);}常用I/O函数ABCD80%90%65%25%A.scanf格式化输入B.printf格式化输出C.getchar输入字符D.putchar输出字符I/O函数1常用I/O函数[2010.3.
7、15]输入:12<回车>34<回车>,则以下程序的输出结果是chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();printf("%c%c%c%c",a,b,c,d);A)1234B)12C)12D)123342常用I/O函数[2006.9.18]运行时输入:876543.0<回车>,则变量a和b的值分别是inta;floatb;scanf("%2d%f",&a,&b);A)876和543.000000B)87和6.000000C)87和543.000000
8、D)76和543.0000003常用I/O函数[2005.4.19]若想使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d",m,n,p);A)m=123n=456p=789B)m=123n=45