最新哈工大苏小红版_C语言_课件_chart10_string

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈工大苏小红版_C语言_课 件_chart10_string
本章主要内容
字符串常量
字符串处理函数 向函数传递字符串 从函数返回一个字符串指针
2
字符串常量
字符串常量
➢由一对双引号括起来的一个字符序列 “hAe”≠ll‘oA”’、“123” ➢存放于静态存储区,内容不可以修改 ➢注意与字符常量的区别,字符常量用单引号括
想想这个函数是如何 实现字符串复制的?
27
字符串处理函数
strcat():字符串连接
strcat(目的字符串,源字符串);
13
字符串常量
【例10.1】从键盘输入一个人名,把它显示在屏幕上
14
字符串常量
【例10.1】从键盘输入一个人名,把它显示在屏幕上
15
字符串常量
字符串的输入/输出
➢使用gets()/puts() gets(str); puts(str);
可以输入带空格的字符串
16
字符串常量
【例10.2】使用函数gets(),从键盘输入一个 带有空格的人名,然后把它显示在屏幕上
char a[6];
是字符数组,但不代表字符串
➢只有最后带有’\0’标志的字符数组才代表一个
字符串
Baidu Nhomakorabea
Ho w
ar e
y o u \0
Ho w
ar e
y o u \0
数组的最后一个元素必须是'\0'
5
字符串常量
字符数组初始化
➢用字符型数据对数组进行初始化 char str[6] =] ="C{"‘"ChCCih’nh,i‘anihna"’a;,"‘i";’},;‘n’,‘a’,‘\0’}; ➢用字符串常量直接对数组初始化
spcraintff((““%%cc””,&,stsrt[ri[]i)];); } for (i = 0; i <10; i++) {
printf(“%c”,str[i]); }
12
字符串常量
字符串的输入/输出
➢按%s格式符 scanf("%s",str); printf("%s",str);
不能输入带空格的字符串
6
字符串常量
字符数组初始化 ➢使用二维数组存储多个字符串
char weekDay[][10] = {“sunday”, “monday”, “tuesday”, “wednesday”,“thursday”,
s u n d “friaday”,”syaturd\a0y”}; \0 \0 \0
m o n d a y \0 \0 \0 \0
20
字符串常量
【例10.3】从键盘输入一个带有空格的人名,然 后在显示人名的前面显示"Hello", I said to
21
本章主要内容
字符串常量
字符串处理函数
向函数传递字符串 从函数返回一个字符串指针
22
字符串处理函数
头文件
➢string.h
常用的字符串处理函数
➢strlen(str) ➢strcpy(str1,str2) ➢strcmp(str1,str2) ➢strcat(str1,str2) ➢strcpy(str1,str2,n) ➢strcmp(str1,str2,n) ➢strcat(str1,str2,n)
字符串的访问
➢字符数组 char s*ptr[=10“C]=h“iCnhai”n; a”; char c = s*(tpr[+11];); ➢字符串指针
10
字符串常量
字符串的输入/输出
➢按%c格式符 ➢按%s格式符 ➢使用gets()/puts()
11
字符串常量
字符串的输入/输出
➢按%c格式符
for (i = 0; i <!=1‘0\0; ’i;+i++)+) {
17
字符串常量
【例10.2】使用函数gets(),从键盘输入一个带 有空格的人名,然后把它显示在屏幕上
18
字符串常量
【例10.2】使用函数gets(),从键盘输入一个带 有空格的人名,然后把它显示在屏幕上
能够限制输入字符串的长度
19
字符串常量
【例10.3】从键盘输入一个带有空格的人名,然 后在显示人名的前面显示"Hello", I said to
3
字符串常量
字符串常量的存储
➢C语言并没有为字符串提供任何专门的表示法, 完全使用字符数组和字符指针来处理
➢每个字符串在内存中都占用一段连续的空间, 并有一个唯一确定的首地址
➢‘\0’为字符串结束的标志 ➢’\0’占一个字节的内存,但不计入字符串长度
4
字符串常量
字符数组
➢每个元素都是字符类型的数组
t u e s d a y \0 \0 \0
w e d n e s d a y \0
t h u r s d a y \0 \0
f r i d a y \0 \0 \0 \0
7s
a
t
u
r
d
a
y \0 \0
字符串常量
字符指针
➢指向字符型数据的指针变量 ➢将字符串的首地址赋值给字符指针,即可让字
符指针指向这个字符串
Hel lo
C h i n a \0
字符指针就是指向字符类型数据的指针 pStr
8
字符串常量
字符指针的定义
➢用字符型数据对字符指针进行初始化 char s*sptrt;[r1;=0]";China"; scthra=r s"Ctrh[1in0a] "=;“China”; p = str;
9
字符串常量
strlen():求字符串长度
strlen(str);
len = strlen(str); for (i=0; i<len; i++) {
putchar(str[i]);用长度控制字符串输出 } putchar('\n');
25
字符串处理函数
strcpy():字符串复制
strcpy(目的字符串,源字符串);
23
字符串处理函数
strlen():求字符串长度
strlen(str);
char str[10] = {"China"}; printf("%d", strlen(str)); 打印结果是 5,6,还是10?
C h i n a \0 \0 \0 \0 \0
不包括\0的实际字符的个数
24
字符串处理函数
字符串能否用=整体复制? str2 = str1;
strcpy(str1, str2);
注意复制的方向! str1必须足够大!
26
字符串处理函数
strcpy():字符串复制
strcpy(目的字符串,源字符串);
字符串能否用=整体复制? str2 = str1;
strcpy(str1, str2);
相关文档
最新文档