语言程序设计第十讲.pptVIP

  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文档。上传文档
查看更多
语言程序设计第十讲

C语言程序设计 第十讲 主讲:厉福生 上讲回顾 一维数组的定义 插入算法 删除算法 三种排序算法 字符型数组及字符串赋初值 char c[100]={‘A’,’B’,’C’,’D’,’E’}; char c[100]={65,66,67,68,69}; char c[100]=“ABCDE”; char c[]=“hello c!”; 字符串输入输出 char c[]=“hello c!”; printf(“%s\n”,c); puts(c); scanf(“%s”,c); gets(s); String头文件 本头文件下有如下函数: strlen(字符数组名或字符串常量):判断字符串长度,从首地址开始,一直向后找,直到遇到‘\0’为止。 strcpy(两个字符串):将前一个字符串复制到另外一字符串中。 strcmp(两个字符串):比较两个字符串的大小,值为前串减后串。 strcat(两个字符串):将后一个字符串的内容连接放到前一个字符串之后。 二维数组定义及初始化 int a[2][3]={{1,2,3},{4,5,6}}; int a[2][3]={1,2,3,4,5,6}; int a[2][3]={{1,2},{3,4}} int a[2][3]={1,2,3,4}; int a[][3]={{1,2,3},{4,5,6}}; int a[][3]={{1,2},{3,4},{5,6}}; int a[][3]={1,2,3,4,5,6}; 字符串数组 char c[][100]={“hello”,“你好”,“print”,“二维数组”,“abcd”,“一二三四”}; 上机题 90套题: 字符串:第2、3、4、5、6、7、10、11、12、16,17,18,19,20,24,25,36,40,41,44,45,46,49,50,51,54,55,56,59,60,61,62,63,64,65,66,67,68,69,71,73,75,76,78套 数组:第9,15,19,21,22,23等 指针 指针是指能存放地址值的变量类型。定义方法为: 类型说明符 *变量名; 注意:“类型说明符 *”是类型说明用的,变量名才是真正的指针变量的名字。如: int *p; :p是一个指针变量,其数据类型为“int *”,即为可以存放整型变量地址的变量。 指针变量的赋值 不可以把普通的常量、变量赋值给指针。只可以把地址或其它指针的值赋值给指针。如: int a,b,*p,*q=b; p=a; 如此赋值之后:p和a完全等价,*p和a完全等价。 指针实例 2012年3月填空第11题: 以下程序段的输出结果是: #includestdio.h main() {char *ch[4]={red,green,blue}; int i=0; while(ch[i]) {putchar(ch[i][0]);i++;}} 指针做为函数参数传递 由于指针存储的是地址,将地址做为函数参数传递之后,被调函数中如果将形参指针改变,只是改变了形参的地址,实参不变。被调函数中如果将形参指针把指向地址内容改变了,实参也相应的变化。 指针传参实例一 2008年4月填空第10题 以下程序的输出结果为: #includestdio.h void swap(int *a,int *b) {int *t;t=a;a=b;b=t;} main() {int i=3,j=5,*p=i,*q=j; swap(p,q);printf(%d %d\n,*p,*q); printf(%d %d\n,i,j);} 指针传参实例二 2011年3月选择第29题: 有以下程序: #includestdio.h void fun(char *c) {while(*c){if(*c=a*c=z)*c=*c-(a-A);c++;}} main() {char s[81]; gets(s);fun(s);puts(s);} 执行时键盘上输入Hello Beijing回车输入的为: A)hello beijing B)Hello Beijing C)HELLO BEIJING D)HELLO Beijing 指针传参实例三 2010年9月填空第11题 有以下程序,程序执行后,输出的结果是: #includestdio.h void fun(int *a) {a[0]=a[1];} main() {int a[10]={10,9,8,7,6,5,4,3,2,1},i; for(i=2;i=0;i--)fun(a+i); for(i=0;i10;i++)printf(%d,*(a+i)); printf(\n);} 一维数组与指针 数组中的元素都是连续存储的,所以指向数组元素的指针可以参与加减

文档评论(0)

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

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

1亿VIP精品文档

相关文档