P5761: 结构体
传统题
1.000s
时间限制
128MB
内存限制
5 提交
3 解决
【题目描述】
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;
}
请将上述提供的程序复制到提交代码的位置并作相应修改。