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

需积分: 19 410 下载量 137 浏览量 更新于2024-08-23 收藏 8.66MB PPT 举报
在C++程序设计中,谭浩强的教材提供了一个关于如何打印特定字符M的示例。首先,我们需要理解给出的结构体定义。`struct person` 定义了一个包含姓名(`char name[9]`)和年龄(`int age`)的基本对象。然后,有一个`person` 类型的数组`class[10]`,其中存储了四个不同成员对象,分别是John、Paul、Mary和Adam,每个对象都有姓名和年龄属性。 题目要求根据提供的代码片段找出能打印出字母M的语句。观察给出的输出部分: 1. `cout<<class[3].name<<endl;` 这行会打印`class`数组中的第三个元素的姓名,由于`class[3]`是Mary,所以这行会输出"M",符合题意,即输出"M"。 2. `cout<<class[3].name[1]<<endl;` 这行会打印Mary姓名的第二个字符,由于`name`数组下标从0开始,Mary的第二个字符是'y',所以输出的是'y',不符合要求。 3. `cout<<class[2].name[1]<<endl;` 同样,对于`class[2]`,即Paul,其第二个字符是'u',输出的是'u',也不符合要求。 4. `cout<<class[2].name[0]<<endl;` Paul的第一个字符是'P',输出的是'P',同样不是M。 因此,唯一能够打印出字母M的语句是: ```cpp cout<<class[3].name<<endl; ``` 这个语句利用了数组索引和结构体的嵌套访问,通过索引`3`获取到Mary的姓名字符串,并将其打印出来。这展示了C++中如何通过数组和结构体操作内存以及访问成员变量,同时也体现了C++程序设计中的结构化思想。在C++中,结构体和数组的结合允许开发者灵活组织和操作数据,尤其是在处理复杂的数据结构时。此外,这段代码也体现了C++程序的可读性和调试的重要性,虽然在编写和调试初期可能会遇到一些挑战,但一旦掌握了语法和规则,就能高效地编写和维护程序。