#308. 【选择题】第12章:结构体和共用体 结构体
【选择题】第12章:结构体和共用体 结构体
说明
1. 有如下定义:
struct stu
{ char name[8];
int age;
float score;
}boy;
以下对结构体变量成员的引用,错误的是( )
A.boy.name=”王勇”; B.boy.age=22; C.boy.score=86; D.strcpy(boy.name,”李明”);
2. 说明一个结构体变量时系统分配给它的内存是 。
A. 各成员所需要内存量的总和
B. 结构体中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量
3. 下面程序的输出是( )。
void main()
{ struct cmplx { int x; int y;} cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);
}
A. 0 B.1 C. 3 D. 6
4. 有如下程序:
#include <stdio.h>
void main ()
{
struct STU
{
char name[9];
char sex;
double score[2];
};
struct STU a={“Zhao”,’m’,85.0,90.0}, b={“Qian”,’f’,95.0,92.0};
b=a;
printf(“%s,%c,%2.0f,%2.0f\n”,b.name,b.sex,b.score[0],b.score[1]);
}
其运行结果是( )。
A. Qian,f,95,92 B.Qian,m,85,90 C. Zhao,f,95,9 D. Zhao,m,85,90
5. 有以下结构体定义形式
struct stu
{ char name[8];
int age;
float score;
}s[3],*p;
p=s;
则以下scanf函数调用语句错误的是( )。
A.scanf(“%s”,s[0].name); B.scanf(“%d”,&s[0].age);
C.scanf(“%f”,&p->score); D.scanf(“%d”,p->age);
6. 下面对的叙述中错误的是 。
A. 用typedef 可以定义各种类型名,但不能用来定义变量
B. 用typedef 可以增加新类型
C. 用typedef 只是将已存在的类型用一个新的标识符来代表
D. 用typedef 定义新的类型名后,原有类型名仍有效
7. 以下选项中,能定义s为合法的结构体变量的是( )。
A) typedef struct abc B) struct
{ double a; { double a;
char b[10] char b[10]
} s ; } s;
C) struct ABC D) typedf ABC
{ double a; { double a;
char b[10] char b[10]
} ; };
ABC s ; ABC s;
输出格式
#include<stdio.h>
#define N 8
int main()
{
int i;
char cAnswer[N] = {"//将你的答案表示成字符串,注意中间不要有空格"};
//例: char cAnswer[N] = {"AAAAAA"};
//N的值为选择题的个数加1,如本次作业选择题的个数为7,则N的值为8
printf("%s", cAnswer);
return 0;
}
请将上述提供的程序复制到提交代码的位置并作相应修改。
样例