计算机二级C语言 字符串.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机二级C语言 字符串

第十章 字符串 1.存放字符串 (1)用一维字符数组存放字符串 ①C语言对字符串的约定 “abcd” 存放:借助一维字符型数组存放 占空间: 4+1 实际长度:4 ②C语言中字符串常量的约定 10 10.0 ‘a’ ‘\n’ ‘\77’ ‘\xaa’ “” “a” “sdfs” ‘\0’ 自动加 #define PI 3 .14159 #defien N 6 ③C语言中字符串常量给出的是地址值 字符串常量实际可理解为一个一维字符型数组。但这个一维字符型数组没名字,C编译系统读取到这一串存储单元的首地址。 字符串实际被隐含的处理为一个以’\0’结尾的无名一维字符型数组。 举例: char s[10],*p; “abcd” s=”abcd”; s[0]=’a’; s[1]=’b’; s[2]=’c’; s[3]=’d’; s[4]=’\0’ p=”abcd”; 首地址 ④一维字符数组和字符串的区别及其联系 区别: 字符数组:char a[5]; 5 任意的字符 字符串: “abcd” 无名 \0 联系: 字符型数组的最后一位位置存放’\0’,则它可理解为字符串常量。 字符串为字符数组的特例。 (2)用赋初值的方式将字符串写入一维字符数组中 ①数组赋初值的方式 “abcd” 4+1 char a[4]={‘a’,’b’,’c’,’d’}; char a[5]= {‘a’,’b’,’c’,’d’}; char a[5]= {‘a’,’b’,’c’,’d’,’\0’}; char a[10]= {‘a’,’b’,’c’,’d’}; char a[10]= {‘a’,’b’,’c’,’d’,’\0’}; char a[]={‘a’,’b’,’c’,’d’}; 4 char a[]={‘a’,’b’,’c’,’d’,’\0’}; 5 ②直接将字符串常量给一维字符数组 “abcd” 4+1 char a[4]= “abcd”; 非法 char a[5]=”abcd”; char a[10]=”abcd”; char a[]=”abcd”; 常用 总结: “abcd” 4+1 char a[]={‘a’,’b’,’c’,’d’,’\0’}; char a[]=”abcd”; char *p=”abcd”; (3)执行过程中将字符串写入一维字符数组中 ①不可用赋值语句给字符数组整体赋一串字符 “abcd” char a[5]; a=”abcd”; 非法 char a[5]=”abcd”,b[5]; b=a; 非法 ②给字符数组逐个赋字符值,最后人为加入’\0’ “abcd” “fssdfsfsajdklasdl kldfladf” char a[5]; a[0]=’a’; a[1]=’b’; a[2]=’c’; a[3]=’d’; a[4]=’\0’; for(i=0;i4;i++) scanf(“%c”,a[i]); abcd a[i]=’\0’; 人为输入 2.字符串与指针 (1)赋初值时使指针指向一个字符串 char *p=”abcd”; 首地址 char a[]=”abcd”,*p=a; (2)赋值运算(可执行语句中)使指针指向一个字符串 char *p; p=”abcd”; char a[]=”abcd”,*p; p=a; (3)字符数组存放字符串和指针指向字符串间的区别 char a[]=”abcd”; 内容 char *p=”abcd”; 首地址 a数组中: 内容:可变 存储空间:固定 p是一个指针变量: 可指向其它地方 3.字符串的输入和输出 单个字符处理(%c getchar….) 整串处理可用%s “abcd” #includestdio.h main() {char a[5]; int i; for(i=0;i4;i++) a[i]=getchar(); a[i]=’\0’; abcd a[0]=’a’ ‘b’ ‘c’ ‘d’ ‘\0’ for(i=0;i4;i++) putchar(a[i]); abcd 条件 char a[]=”abcd”,*p=a; 输入项:字符数组名,字符指针变量,字符数组元素的地址。 存放的起始地址 scanf(“%s”,a); p a[1] 输出项可为:字符串常量,字符数组名,已指向字符串的字符指针变量。 输出的起始地址 printf(“%s”,”abcd”); a p (2)用%s整串输入和输出 char a[10],*p=a; “ab

文档评论(0)

80019pp + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档