程序设计基础 教学课件 ppt 作者 C语言 7-10章 第8章
57页1、第8章 字 符 串,8.1 字符串 8.2 函数间字符串的传递 习题,8.1 字 符 串 8.1.1 字符串常量 1定义 字符串常量是由一对双引号括起来的字符序列。例如,“China“,“How are you“,“$abc“ , “123569“,“string“ 等都是合法的字符串常量。 2说明 (1) 双引号仅仅起到字符串常量的边界符作用,并不是字符串常量的一部分。,(2) 注意区分字符串常量和字符常量的区别。例如,“c“ 和 c 是根本不同的数据,前者是字符串常量,后者是字符常量。它们之间主要有以下区别: 字符常量由单引号括起来,字符串常量由双引号括起来; 字符常量只能是单个字符,字符串常量则可以含一个或多个字符; 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量; 字符常量占一个字节的内存空间。,8.1.2 字符串的存储 C语言规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。同时C语言也规定:以字符 0 作为字符串的结束标志。字符 0 是一个ASCII码为0的字符。从ASCII代码表中可以看到,ASCII码为0的字
2、符是“空操作字符”,它不引起任何控制动作,也不是一个可显示的字符,即它什么也不做。用它作为字符串结束标志不会产生附加的操作或增加有效字符,它只是一个供辨别的标志。 因此,字符串常量在内存中所占的字节数等于字符串中有效字符所占的字节数(即有效字符的个数)再加1个字节。增加的一个字节存放的是字符串结束的标志0。,例如:字符串 “Welcome“ 在内存中所占的字节为: 注意区分字符串常量和字符常量的区别。例如 “s“ 和 s ,字符串常量 “s“ 和字符常量 s虽然都只有一个字符,但在内存中的情况是不同的。,字符串 “s“ 在内存中占2个字节,可表示为: 字符 s 在内存中占一个字节,可表示为: 注意:在写字符串时不必加 0 ,0 字符是系统自动加上的。,8.1.3 字符串的表示 1字符数组 C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。语言允许用字符串的方式对字符数组作初始化,即可以用字符数组存放一个字符串。 例如: char c = W, e, l, c, o, m, e; 可写为: char c =“Welcome“; 也可以省略花括号,直接写为: char c
3、=“Welcome“;,注意:用字符串方式赋值比用字符逐个赋值要多占一个字节,多占的字节用于存放字符串结束标志 0。因此,以下两个字符数组的初始化等价,其字符数组的长度都是8。 char c =“Welcome“; char c = W, e, l, c, o, m, e,0; 字符数组完整的应用程序举例如下:,/*源程序8-1*/ #include “stdio.h“ main( ) char string =“Welcome to China!“; printf(“%sn“,string); 程序运行结果如下:,2字符指针 也可以不定义字符数组,而定义一个字符指针,用字符指针指向字符串中第一个字符的地址。,/*源程序8-2*/ #include “stdio.h“ main( ) char *string=“Welcome to China!“; printf(“%sn“,string); 程序运行结果如下:,3字符数组和字符指针变量的区别 (1) 字符数组有若干个元素,每个元素中存放一个字符;而字符指针变量中存放的是字符串中第一个字符的地址。 (2) 赋值方式的不同。 例如:字符
4、指针的赋值语句: char *string=“Welcome“; 它等价于: char *string; string=“Welcome“; 因为可以将字符串的首地址存放在指针变量中。,而字符数组的赋值语句: char string =“Welcome“; 它不等价于: char string ; string =“Welcome“; 因为string表示字符数组的首地址,是常量,不能在赋值号的左端进行修改,不能将字符串的首地址赋值给数组名。,(3) 字符数组在编译时为其分配存储单元,有确定的地址;字符指针分配的内存单元只能存放一个字符变量的地址,若没有赋值,则没有确定的指向。 char string20; scanf(“%s“,string); 以上语句是正确的。 char *p; scanf(“%s“,p); 以上语句是错误的,因为字符指针没有指向任何存储空间, 不能输入字符串。应改成: char string20 , *p; p=string; scanf(“%s“,p);,(4) 指针变量的值可以改变,是变量;数组名是常量,它的值是不能改变的。 /*源程序8-3*/ #incl
《程序设计基础 教学课件 ppt 作者 C语言 7-10章 第8章》由会员E****分享,可在线阅读,更多相关《程序设计基础 教学课件 ppt 作者 C语言 7-10章 第8章》请在金锄头文库上搜索。
逍遥游复习 知识点整理
近现代法德关系史 高三展示课3稿
当代大学生人生信仰及追求的调查研究
长相思 纳兰性德-ppt课件
课件:危机意识 一
英语ppt演讲关于阿甘正传
发达国家基础教育改革的动向与趋势 修改版
中国民间美术 课件.ppt
生物质发电技术与系统 课程ppt 第1章 生物质发电技术现状及发展趋势 2学时 -----2016
现代信号处理思考题 含答案
执业药师继续教育 抑郁症的药物治疗 100分
小学生的成长档案模板不用修改 万能型
增订六版 现代汉语 上册 第二章文字 思考与练习答案
国家财政ppt课件
加拿大英语介绍
六年级统计图的选择课件
中学生成长档案ppt
中国现代文学史期末复习整理
lohi和hihilo训练对女子赛艇运动员运动能力影响的比较研究
风雨贾平凹阅读答案
2024-04-11 25页
2024-04-11 37页
2024-04-11 28页
2024-04-11 31页
2024-04-11 36页
2024-04-11 29页
2024-04-11 22页
2024-04-11 27页
2024-04-11 34页
2024-04-11 32页