第六章单元测试
有以下说明和定义语句,下面各输入语句中错误的是()
#include <stdio.h>
int main()
{
struct student
{
int age;
char sex;
char name[8];
};
struct student std;
struct student *p=&std;
.......
return 0;
}
定义以下结构体数组
struct c
{
int x;
int y;
}s[2]={1,3,2,7};
语句 printf("%d",s[0].x*s[1].x);的输出结果是()
以下程序执行后的输出结果是
#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;
}
当定义一个结构体类型的变量时,系统为它分配的内存空间是()。
A:scanf("%c",&std[0].sex); B:scanf("%d",&(*p).age); C:scanf("%s",&std.name); D:scanf("%c",&(p->sex));
答案:scanf("%d",&(*p).age);
A:21 B:6 C:2 D:14
A:
2041 2043
B:2042 2043
C:2041 2044
D:2042 2044
A:printf("%s",(++p)->num); B:printf("%s",(*p).num); C:printf("%s",stu[1]->num); D:printf("%d",p.age);
A:结构中一个成员所需的内存容量 B:结构中第一个成员所需的内存容量 C:结构中各成员所需的内存容量综合 D:结构体中占内存容量最大的成员所需的容量