C 语言程序设计项目六学生成绩的优化.pptVIP

C 语言程序设计项目六学生成绩的优化.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
知识扩展 一个班里有40个学生,在选举班干部时有3个候选人,现要求对候选人以姓氏的英文顺序排序,请用C中的字符指针解决此问题。 分析:要将3个候选人以姓氏的英文顺序排队,要求用C中的字符指针解决此问题,所以,在本任务中将要解决什么是字符指针,字符指针如何引用。 #include stdio.h #include string.h /*因为用到strcmp()*/ main() {char *name1=张小明,*name2=李大刚,*name3=周建华,*tt; if( strcmp(name1,name2)0) {tt=name1;name1=name2;name2=tt;} if( strcmp(name1,name3)0) {tt=name1;name1=name3;name3=tt;} if( strcmp(name2,name3)0) {tt=name2;name2=name3;name3=tt;} printf(输出的姓名为:\n); printf(%s\n,name1); printf(%s\n,name2); printf(%s\n,name3); } 程序如下 1. 用字符数组实现 #include stdio.h main() { char string[ ]=I love China! ; printf(%s\n,string); } 说明:string是数组名,代表数组的首地址; string[i]代表数组的第i个元素; string[i]等价于*(string+i)。其相应的处理方法同一般数组相似。 2. 用字符指针实现 #include stdio.h main() { char *string=I love China! ; printf(%s\n,string); } 说明: (1)字符串指针:是指向字符变量的指针变量。可以用来描述和处理一个字符串。 如 char *str=I love China!; (2)含义理解: 不是将字符串的内容赋值给指针变量,而是将其起始地址赋给它。 char *str; str=I am a student.; 可以将字符数组表示为 char s1[]=“I am a student.”; 或 char s1[]={I, ,a,m, ,a, ,s,t,u,d,e,n,t}; 不能表示为: char *str={I, ,a,m, ,a, ,s,t,u,d,e,n,t}; (3) 字符指针变量在使用之前必须初始化,使其指向一个具体的存储单元。 如:char str[]; scanf(%s,str);是正确的 而 char *str; scanf(%s,str); 是错误的。 (一)字符串的表示形式 【例6-17】将字符串a复制到字符串b。 方法一 #include stdio.h void main() { char a[]=I am a boy.,b[20],*p1,*p2; int i; p1=a; p2=b; for(;*p1!=\0;p1++,p2++) *p2=*p1; /*当*p1==\0时结束循环,因此\0并没有复制到*p2上*/ *p2=\0; printf(string a is:%s\n,a); printf(string b is:%s\n,b); printf(\n); } 方法二 #include stdio.h void main() { char *a=I am a boy.,*b; b=a; printf(string a is:%s\n,a); printf(string b is:%s\n,b); printf(\n); } 方法一和方法二输出结果都是: string a is:I am a boy. String a is:I am a boy. 注意:若a,b都是字符指针,则可以用b=a,即将a的地址赋给b,但是若a,b是字符数组,则不能用b=a,应用strcpy(b,a),即 举一反三 #include stdio.h void f(int *x,int *y) { int t; t=*x;*x=*y;*y=t; } main() { int a[9]={1,2,3,4,5,6,7,8,9},i,*p,*q; p=a;q=a[8]; while(*p!=*q){f(p,q);p++;q--;} for(i=0;i9;i++) printf(%d,,a[i]); } 分析:函数f的功

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档