按关键词阅读: C语言 字符 C语言字符串 c语言课件ppt 字符串PPT课件 字符串字符串 字符串PPT
1、1,第十章字符串,知识点1:字符串 1.字符串常量 (1)C语言中字符串常量的形式 , 用一对双引号将一串字符括起来称为字符串常量 。
例如:“abcd”. (2)字符串的长度 。
一对双引号中字符的个数就是字符串的长度 。
可调用strlen函数求字符串长度 , 例如,strlen(“abcd”) , 字符串的长度为4. (3)字符串的结束标志 。
在字符串最后一个字符的后面 , 系统自动添加一个转义字符0作为字符串的结束标志 。
当人为地在字符串中间插入转义字符0时 , 例:“a0bcd”,系统就认为字符串到a为止 , 长度为1 , 不再顾及0后的字符 。
,2,(4)字符串常量的存储结构 。
1个字符串所占字节数为:字符串长度+1.例如字符 。
2、串“abcd”,在内存上5个字节 , 其字符占4个字节 , 字符串结束标志0占一个字节 。
可调用sizeof函数求字符串所占字节数 , 如:sizeof(“abcd”). (5)字符串常量的面值和地址值 。
“abcd”是字符串的面值 , 而当把它赋给某个变量时 , 给出的是此字符串在内存所占连续存储区的首地址 。
,3,2.一维字符数组和字符串变量 (1)一维字符数组的每个元素可以存放一个字符 。
(2)当一维字符数组中存放最后一个字符是0时 , 可称此一维字符数组内存放了一个字符串 , 同时可称此一维数组为字符串变量 。
3.通过赋初值给一维字符数组赋字符串 赋字符串初值形式: (1)char s5=a,b,c,d,0;
显示赋字符 。
3、串结束标志 。
(2) char s5=a,b,c,d;
系统会自动赋字符串结束标志 。
,4,(3)char s5=“abcd”;
直接赋字符串常量 。
(4)char s5=“abcd”;
把字符串常量放在一对花括号中 。
(5)char s=“abcd”;
根据所赋字符串初值来确定数组长度 。
注意 , 若有定义:char s5=“aa”;
,sizeof(s)的值为5 , strlen(s)的值为2.前者是s在内存中所中字节数 , 后者是s中的字符个数 。
,5,10-1有以下程序 main() char a=a,b,c,d,e,f,g,h,0;
int i,j;
i=sizeof(a);
j=strlen(a);
pri 。
4、ntf(“%d,%dn”,i,j);
程序运行后结果是 A.9,9 B.8,9 C.8,8 D.9,8,6,10-2有以下程序 #include main() char *p=“abcde0fghjik0”;
printf(“%dn”,strlen(p);
程序运行后结果是 A.12B.15C.6D.5,7,10-3以下不能正确进行字符串赋初值的语句是 A. char str5=“good!”;
B. char str=“good!”;
C. char *str=“good!”;
D. char str5=g,o,o,d;
,8,10-4有以下程序 main() char p20,*q=p;
s 。
5、canf(“%s %s”,p,q);
printf(“%s %sn”,p,q);
若从键盘输入:abc def , 则输出结果是 A.def def B.abc def C.abc d D.d d,9,10-5有以下程序 main( ) char s =“ABCD”, *p;
for (p=s+1;
ps+4;
p+) printf(“%sn”,p);
程序运行结果是 A. ABCD B. A C. B D. BCD BCD B C CD CD C D D D D,10,4.程序中给一维字符数组赋字符串 有定义char s5;
(1)不可以用赋值语句给s数组赋字符串 。
例如 , s=“abcd”;
是错误的 ,。
6、数组名s是一个常量 , 不可重新赋值 。
(2)可给数组元素一个一个赋字符: s0=a;
s1=b;
。
(3)可调用strcpy函数把字符串复制到数组中 。
例如 , strcpy(s,“abcd”). (4)若有定义:char s110,s220;
,可用%s格式 , 调用scanf函数给字符数组输入字符串 。
例如 , scanf(“%s%s”,s1,s2);
. (5)用gets函数给字符数组输入一行字符串 。
例如 , gets(s1);
gets(s2);
.输入的一串字符用回车结束 。
,11,5.使指针指向字符串 (1)给基类型为char的指针赋字符串的地址 , 可通过以下赋初值方式使指针指向字符串常量 。
char *sp=“ab 。
7、cd”;
把字符串“abcd”的首地址赋给基类型为char的指针变量 。
指针sp指向一个具有5个字节的连续存储区的开头 , 即指向字符a所在存储单元 。
char *sp=“abcd”;
同上,12,(2)通过赋值语句给基类型为char的指针赋字符串 。
若有定义语句:char *sp;
, 则可通过赋值语句:sp=“abcd”;
, 把字符串“abcd”的首地址赋给指针变量sp 。
(3)若有以上定义和赋值语句 , sp+;
将移动指针sp,使其指向字符串中的字符b,这时sp指向字符串“bcd”.,13,10-6下列选项中正确的语句组是 A. char s8;
s=“Beijing”;
B. char s8;
s= “Be 。
8、ijing”;
C. char *s;
s=“Beijing”;
D. char *s;
s= “Beijing”;
,14,6.通过指针引用字符串中的字符 (1)若有定义:char *sp=“abcd”;
, *sp代表字母a , *(sp+1)代表字母b, 。
来源:(未知)
【学习资料】网址:/a/2021/0324/0021768400.html
标题:字符串PPT课件|C语言字符串ppt课件