C++面向对象程序设计:字符数组的字符串赋值

需积分: 18 4 下载量 166 浏览量 更新于2024-08-19 收藏 8.33MB PPT 举报
"C++面向对象程序设计教程,讲解如何用字符串形式为字符数组赋初值。" 在C++编程中,字符数组的初始化是一个常见的任务,尤其在处理文本数据时。标题提到的“可以用字符串的形式为字符数组赋初值”,指的是在定义字符数组时可以直接用双引号括起来的字符串来赋值。例如: ```cpp char c[] = {"I am a boy"}; ``` 这里,`c` 是一个字符数组,它被赋予了一个包含11个字符(包括结束的空字符`\0`)的字符串。注意,字符串在内存中是以 `\0` 结尾的,因此即使我们在初始化时只写入了"I am a boy"这9个可见字符,实际上编译器会自动添加一个`\0`作为字符串的结束标记。 对比下面的初始化方式: ```cpp char a[] = {'I', ' ', 'a', 'm', ' ', 'a', ' ', 'b', 'o', 'y'}; ``` 在这个例子中,`a`数组也是被初始化为10个字符,但是字符逐一给出,没有自动添加`\0`。为了使这个数组成为一个有效的字符串,需要手动添加一个`\0`在末尾。 如果定义的字符数组长度大于字符串的长度,多余的部分将被自动填充为`\0`。例如: ```cpp char c[10] = "CHINA"; ``` 这个例子中,`c`数组有10个位置,"CHINA"只有5个字符,所以剩余的5个位置会被`\0`填充。 ASCII码是字符的编码标准,其中`\0`的ASCII值为0,空格` `的ASCII值为32。在字符数组中,`\0`用来表示字符串的结束,而空格则代表一个空白字符。 C++是从C语言发展而来,继承了C语言的许多特点,如简洁、高效以及良好的可移植性。C++在C语言的基础上增加了面向对象的特性,使得代码更加模块化和易于维护。C语言的主要特点包括: 1. **结构化编程**:C语言支持结构化编程,通过函数、循环和选择结构等构建清晰的程序结构。 2. **灵活性**:C语言允许直接操作内存,既有高级语言的抽象,也有汇编语言的底层控制。 3. **丰富的运算符**:不仅有算术和逻辑运算,还支持位运算,便于处理二进制数据。 4. **数据结构和函数**:C语言提供了结构体、联合体等数据结构,以及函数作为模块化编程的基本单元。 5. **可移植性**:由于C语言的低级别特性,程序可以在不同的计算机平台间轻松移植。 6. **自由度大**:C语言的语法较为宽松,对程序员的要求较高,但也给予了更大的设计自由度。 然而,C语言的自由度也意味着更高的学习曲线,特别是对于初学者,调试程序可能更具挑战性。C++在C语言的基础上增加了类、继承、多态等面向对象的特性,使得程序设计更加抽象和易于理解,同时也保留了C语言的高效性和灵活性。