C++编程:找出打印'M'的关键语句

需积分: 43 0 下载量 181 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
在C++程序设计中,谭浩强的《C++程序设计》一书中,我们探讨了一个关于结构化编程的问题。题目给出的四个语句旨在通过`person`结构体数组`class`来访问和打印成员变量。`person`结构包含一个字符数组`name`和一个整型变量`age`。 首先,`cout<<class[3].name<<endl;`这行代码会输出数组中的第三个元素(索引从0开始计数),即玛丽(Mary)的姓名,因此会打印"M"。这里的关键点在于数组下标和字符串的引用,`class[3]`获取的是结构体数组的第三个元素,`.`操作符用于访问成员变量`name`。 接下来的三个语句分别试图访问`name`数组的单个字符。`cout<<class[3].name[1]<<endl;`会输出"M"的第一个字符'm',因为数组索引从0开始,所以`name[1]`指向的是'm'。对于`cout<<class[2].name[1]<<endl;`和`cout<<class[2].name[0]<<endl;`,它们同样涉及到数组索引,但数组`class[2]`对应的对象是保罗(Paul),`name[1]`和`name[0]`分别代表'o'和'u',因此这两行分别输出'd'和'M',由于题目描述的输出顺序是'A'、'd'、'a'、'M',所以这与提供的答案一致。 C++语言的特点在这部分体现得很明显:它支持结构化编程,允许程序员通过指针和数组访问复杂的数据结构。C++的灵活性使得可以实现高效且可移植的程序,同时它的语法结构虽然不够严密,但也正因为此给了程序员较大的设计自由度。然而,这也意味着对于新手来说学习和调试可能会有挑战,尤其是对于数组和结构体的操作。 这些语句展示了C++如何通过结构体和数组来处理字符数据,并利用索引访问和打印特定的元素。理解C++中的数据类型、数组和结构体是理解和编写此类程序的基础。