第六章 结构体——变量信息更丰富:在前面的课程中,我们已经学习了关于很多的数据类型,例如整型、字符型、浮点型等等,但是这些数据类型已经定义好了数据的格式和要求,在解决现实生活中所遇到的问题时,常常捉襟见肘,无法完整的诠释一些问题,例如对于有着多种属性的某一事物,我们往往要定义多个数据类型的变量来表示。为解决这个问题,C语言提出了自定义数据类型--结构体。我们利用结构体可以进行自定义数据类型,将逻辑上相关的属性放到了一起,有效的提升了管理效率。在接下来的课程中,我们学习结构体模板的定义,结构体变量的定义及结构体的引用, 还要学习关于结构体数组的相关知识,以及结构体变量作为函数参数。6.1结构体的定义和引用:结构体作为一种自定义数据类型,在C语言中占有很重要的地位,对于处理一些复杂的数据结构,结构体有着很大的优势,在本小节中,我们学习如何定义一个结构体模板,如何定义一个结构体变量,以及如何使用一个结构体等相关知识。[单选题]当定义一个结构体类型的变量时,系统为它分配的内存空间是()。选项:[结构中一个成员所需的内存容量, 结构体中占内存容量最大的成员所需的容量, 结构中第一个成员所需的内存容量, 结构中各成员所需的内存容量综合]
6.2结构体数组及向函数传递结构体:结构体是为了解决复杂结构的实体所引入的一种自定义数据类型,在日常生活中,这种复杂结构的实体往往不会单独存在,这时候我们需要将这些有着相同结构体类型的变量放到一起进行处理,最好的方式就是采用数组。结构体数组在日常生活中有着很广泛的应用,我们在这一小节中,不仅学习结构体数组的相关知识外,还学习结构体作为函数参数的相关知识。
[单选题]
以下程序执行后的输出结果是#include <stdio.h>struct STU{ char name[10]; int num;}; void Fun1(struct STU c){ struct STU b={"LiGuo",2042}; c=b;}; void Fun2(struct STU *c){ struct STU b={"SunDan",2044}; *c=b;}; int main(){ struct STU a={"YangHan",2041},b={"WangYi",2043}; Fun1(a); Fun2(&b); printf("%d %d",a.num,b.num); return 0;}
[单选题]若能使程序运行后的输出结果如下:201501则空白处填写的表达式或语句应该是#include <stdio.h>struct student { int age; char num[8]; }; int main(){ struct student stu[3]={{20,"201501"},{21,"201502"},{19,"201503"}}; struct student *p=stu; ____________________ return 0;}选项:[printf("%s",stu[1]->num);, printf("%s",(++p)->num);, printf("%s",(*p).num);, printf("%d",p.age);]
[单选题]
- 有以下说明和定义语句,下面各输入语句中错误的是()
- #include <stdio.h>
- int main()
- {
- struct student
- {
- int age; char sex;
- char name[8];
- };
- struct student std;
struct student *p=&std;
- .......
- return 0;
- }
选项:[scanf("%s",&std.name);, scanf("%d",&(*p).age); , scanf("%c",&(p->sex));, scanf("%c",&std[0].sex); ]
[单选题]定义以下结构体数组struct c{ int x;
int y;}s[2]={1,3,2,7};语句 printf("%d",s[0].x*s[1].x);的输出结果是()选项:[14, 2, 6, 21]
温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!