#554. 【选择题】第12章:结构体和共用体 结构体

    ID: 554 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>高级语言程序设计I-第12章:结构体和共用体(1)price::0price::0

【选择题】第12章:结构体和共用体 结构体

说明

1. 有如下定义:

struct stu

{     char name[8];

       int age;

       float score;

}boy;

以下对结构体变量成员的引用,错误的是( )

Aboy.name=”王勇”;   Bboy.age=22;  Cboy.score=86;   Dstrcpy(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    BQian,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;


请将上述提供的程序复制到提交代码的位置并作相应修改。

样例