file-type

C++程序设计解析:谭浩强版PPT要点

PPT文件

下载需积分: 12 | 8.66MB | 更新于2024-08-23 | 125 浏览量 | 3 下载量 举报 收藏
download 立即下载
"假设有说明-C++谭浩强 PPT版本" 在C++编程中,`argv` 是一个在程序启动时由操作系统提供的特殊数组,它包含了程序运行时传入的命令行参数。在这个例子中,`char *argv[] = {"hello", "nanjing", "jiangsu"}` 定义了一个字符指针数组,`argv` 的每个元素都是一个指向字符串的指针,分别指向"hello"、"nanjing"和"jiangsu"这三个字符串常量。 接下来的语句 `char **pargv = argv;` 将 `argv` 的首地址赋值给了 `pargv`,这样 `pargv` 就是一个指向 `argv` 数组的指针,即二级指针。现在我们可以逐条分析给出的输出语句: 1. `cout << *(pargv + 1) << endl;` 这个语句会打印 `pargv` 指向的数组中的第二个元素,也就是 `argv[1]`,因此输出是 "nanjing"。 2. `cout << (char)(**pargv + 1) << endl;` 这里首先解引用 `**pargv`,得到 `argv[0]` 的第一个字符 'h',然后将其转换为 `char` 类型并加上 1,变成了 'i',所以输出是 "i"。 3. `cout << *(*pargv + 1) << endl;` 这里先对 `*pargv` 解引用,得到 `argv[0]`,再对 `argv[0]` 加 1 后解引用,相当于访问 `argv[0]` 的第二个字符,即 'e',所以输出是 "e"。 4. `cout << *(*(pargv + 2) + 4) << endl;` 首先,`*(pargv + 2)` 访问 `argv` 数组的第三个元素,即 "jiangsu"。然后对这个指针加 4,跳过 "jiangsu" 的前四个字符 'j', 'i', 'a', 'n',最后解引用得到 'g',所以输出是 "g"。 C++的发展历史部分提到了C语言的起源,C++作为C语言的扩展,增加了面向对象的特性,如类、模板、继承等。C++的设计目标是保持C语言的高效性和灵活性,同时引入更高级别的抽象,以支持更复杂的软件开发。C语言的特点包括结构化编程、丰富的运算符(包括位运算)、良好的可移植性以及较为宽松的语法,这些特点使得C语言在各种领域都得到了广泛的应用。然而,它的语法结构的灵活性也为初学者带来了挑战,需要深入理解才能编写出高质量的程序。调试C/C++程序通常需要借助调试器,因为编译时可能无法捕获所有错误,执行时可能出现问题。

相关推荐