- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
#includestdio.h #includestring.h void main( ) { char ch[50],*p=ch; int i, r; long n; printf(“请输入一个正整数:\n”); do{ scanf(“%d”,n); if(n=0) break; printf(“您的输入不正确,请输入一个正 整数:\n”); }while(1); while(n) { r=n%2; *p=r+‘0’; n=n/2; p++; } *p=‘\0’; printf(“转换后的二进制数为:\n”); for(i=strlen(ch)-1;i=0;i--) printf(“%c”,*(ch+i)); printf(“\n”); } 【例8-6】比较两个长度不超过80个字符的字符串,若相等,则输出0;若不相等,则输出第一个不同字符的ASCII码之差。(注:使用数组,指针实现,不使用函数strcmp) 分析: C中使用字符数组或者字符指针来保存一串字符串。所以可以使用两个字符数组或者字符指针来进行处理两个字符串。 #includestdio.h void main( ) { char ch1[80],ch2[80],*p,*q; int n; printf(“请输入第一个字符串:\n”); gets(ch1); printf(“请输入第二个字符串:\n”); gets(ch2); p=ch1; q=ch2; while(*p==*q) { if(*p==‘\0’) break; p++; q++;} n=*p-*q; if(n==0) printf(“两个字符串相等,且差为0\n”); if(n0) printf(“字符串:%s比字符串%s大,且差为%d\n”,ch1,ch2,n); if(n0) printf(“字符串:%s比字符串%s小,且差为%d\n”,ch1,ch2,n); } 【例8-7】比编写程序,输入一串含有数字的字符串,实现将字符串中从左至右的数字提出并按提出左右顺序组成一个新的整型数据。并输出该整数。 分析: (1)使用字符数组保存字符串。 (2)使用字符指针变量对字符数组进行操作。提出里面所有数字字符并存放到另一字符数组中。 (3)对保存数字字符的数组进行从前到后转换,组合成一个整数,并输出。 #includestdio.h void main( ) { char ch1[30],ch2[30],*p,*q; long n=0; p=ch1; q=ch2; printf(输入一串含有数字的字符串:\n); gets(ch1); while(*p) { if(*p=0*p=9) { *q=*p; q++; } p++; } *q=\0; q=ch2; while(*q) { n=n*10+(*q-0); q++; } printf(字符串%s中数字字符组成的整数为:\n%ld\n,ch1,n); } 注意事项: 程序中多次使用指针变量访问数组元素。其中while的条件是*p,*q这样的表达式。当使用字符数组保存字符串的时候,一定要记得在字符串的末尾添加结束标志‘\0’,而while的条件正是使用了字符‘\0’的ASCII码值为0。 小 结 ① 本章主要介绍了指针的相关内容,包括指针的定义、指针的使用以及指针与函数、指针与数组、指针与字符串等内容。通过本章的学习,我们可以通过指针变量间接访问和控制普通变量。 ② 对于指针的定义和使用,关键掌握如何定义指针,以及定义后如何把指针与其他变量进行关联,其中包括*和运算符的使用。 ③ 当把指针放在函数的参数中时,在调用函数时需要注意区别什么时候是按值传递,什么时候是按地址传递。 小 结 ? ④ 掌握当指针指向数组时,指向数组起始地址与指向数组中某一个元素地址,在使用上有什么不同。另外,指针的加减的含义是指指针上移或下移若干个元素位置。 ⑤ 指针变量可以用来保存和处理字符串,在C中只有字符变量,没有字符串变量,因此使用指针变量来处理字符串既方便又快速。 ⑥ 指针与结构体结合在一起可以很好地实现数据结构中的单链表。掌握如何创建和使用单链表对未来的学习有着非常重要的意义。 习 题 一、选择题 1.变量的指针,其含义是指该变量的( ) A.值 B.地址 C.名 D.一个标志 2.若有语句int *point,a=4;和point=a;下面均代
您可能关注的文档
最近下载
- 浅表淋巴结结核的诊断与治疗专家共识.pptx VIP
- 标准图集-11K406-暖,冷风机选用与安装.pdf VIP
- 患者隐私保护培训课件(精).pptx VIP
- 2024年烟草公司笔试试题真题(附答案).docx VIP
- 实景三维地理信息数据倾斜摄影测量技术规程.pdf VIP
- 化学-郑州外国语中学2024-2025学年高一上学期10月月考.pdf VIP
- 中职思想政治高教版(2023)哲学与人生 第三课 追求人生理想 教案(表格式).doc.docx VIP
- 七夕情人节牛郎织女小报手抄报word电子模板黑白线稿横版竖版涂色 (1).docx VIP
- 歌曲二胡曲谱.doc VIP
- 财务会计学习指导、习题与实训第六版王宗江习题答案.docx
文档评论(0)