itgle.com

08110062:已知职工记录描述为: struct workers{ int no; char name[20]; char sex; struct{ int day; int month; int year; }birth; }; struct workers w; 设变量w中的“生日”应是“1993年10月25日”,下列对“生日”的正确赋值方式是()。A.day=25;month=10;year=1993;B.w.day=25;w.month=10;w.year=1993;C.w.birth.day

题目

08110062:已知职工记录描述为: struct workers{ int no; char name[20]; char sex; struct{ int day; int month; int year; }birth; }; struct workers w; 设变量w中的“生日”应是“1993年10月25日”,下列对“生日”的正确赋值方式是()。

A.day=25;month=10;year=1993;

B.w.day=25;w.month=10;w.year=1993;

C.w.birth.day=25;w.birth.month=10;w.birth.year=1993;

D.birth.day=25;birth.month=10;birth.year=1993;


相似考题
更多“08110062:已知职工记录描述为: struct workers{ int no; char name[20]; char sex; struct{ int day; int month; int year; }birth; }; struct workers w; 设变量w中的“生日”应是“1993年10月25日”,下列对“生日”的正确赋值方式是()。”相关问题
  • 第1题:

    设有说明

    struct DATE{int year;int month; int day;};

    请写出一条定义语句,该语句定义d为上述结构体变量,并同时为其成员year、month、day 依次赋初值2006、10、1:_________;


    正确答案:

    struct DATA d={2006,10,1}

  • 第2题:

    已知学生记录描述为 struct student { int no; char name[20]; char sex; struct { int year; int month; int day; } birth; }; struct student s;变量s中的“生日”应是“1985年4月4日”,下列对“生日”的正确赋值方式是______。

    A.year=1985;month=4;day=4;

    B.birth.year=1985;birth.month=4;birth.day=4;

    C.s.year=1985;s.month=4;s.day=4;

    D.s.birth.year=1985;s.birth.month=4;s.birth,day=4;


    正确答案:D

  • 第3题:

    C数组名称是指针变量吗?

    看这段程序,可是执行。#include <stdio.h>int main(int argc, char *argv[]){ struct info { char name[33]; int age; }; struct info aa[3]={"meng",20,"juan",29,"an",59}; struct info *p=aa; for(int i=0;i<3;i++,p++) printf("%-6s %d\n",p->name,p->age);}将其改成这样:#include <stdio.h>int main(int argc, char *argv[]){ struct info { char name[33]; int age; }; struct info aa[3]={"meng",20,"juan",29,"an",59}; //struct info *p=aa; for(int i=0;i<3;i++,aa++) printf("%-6s %d\n",aa->name,aa->age);}为什么就执行不了呢


    C数组名称是指针变量吗 C数组名是个指针常量指向数组首元素的地址,常量是 不能自加或者自减的,所以 不能 aa++

  • 第4题:

    下列对结构及其变量定义错误的是( )。

    A.struct My Struct

    B.struct MyStruct{ {int num; int num;char ch; char ch;} }My;

    C.strut

    D.struct{ {int num; int num;char ch; char ch;}My; };


    正确答案:D

  • 第5题:

    下列结构体类型说明和变量定义中正确的是( )。

    A.typedef struct {int n; char c;}REC; REC t1,t2;

    B.struct REC; {int n; char c;}; REC t1,t2;

    C.typedef struct REC; { int n=0; char c='A';} t1,t2;

    D.stmct { int n; char c;} REC; REC t1,t2;


    正确答案:A
    解析:定义结构体类型的一般形式为:struct结构体名{成员列表}:struct结构体名后不能加“:”号,所以选项B)、C)错误,选项D)中定义无名称的结构体类型同时定义结构体变量形式应为struet t1,t2;选项A)为用户自定义类型,其为正确的定义形式。

  • 第6题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。

    Struct st

    { int x;

    inty;

    int z;

    }

    Struct worker

    { char name[20];

    char sex;

    struct st birth;

    }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第7题:

    下列程序的运行结果为()。includemain(){struct date {int year,month,day; }today; pr

    下列程序的运行结果为( )。 #include<stdio.h> main() { struct date {int year,month,day; }today; printf("%d\n",sizeof(struct date)); }

    A.8

    B.6

    C.10

    D.12


    正确答案:B
    解析:解答本题需要注意两个知识点;①结构体变量的长度是其内部成员长度的总和,本题中,structdate中包含year、month、day这3个整型变量,一个整型变量占2个字节:②sizeof是求所占字节数的运算符。

  • 第8题:

    某C语言结构体的定义如下。 struct date { int year, month, day; }; struct worklist { char name[20]; char sex; struct date birthday; }person; 若对变量person的出生年份进行赋值,正确的赋值语句是(33)。

    A.year=1976

    B.birthday. year=1976

    C.person. year=1976

    D.person. birthday. year=1976


    正确答案:D
    解析:本试题考查嵌套定义的结构体成员的引用。首先,直接使用结构体成员而无所属关系是一种典型错误,系统将认为它是普通变量而非结构体成员。其次,不论结构体嵌套的层次多少,只能从最外层开始,逐层用“.”运算符展开,注意展开时必须使用变量名而不是结构体名。事实证明,只有这种展开方式才能清楚地说明成员的所属关系。对于试题,若对变量person的出生年份进行赋值,正确的赋值语句是选项D的“person-birthday.year=1976”。

  • 第9题:

    下列对结构及其变量定义错误的是( )。

    A.struct My Struct { int num; char ch; }

    B.struct MyStruct { int num; char ch; }My;

    C.strut { int num; char ch; }My;

    D.struct { int num; char ch; };


    正确答案:D

  • 第10题:

    在设备驱动程序(函数)Dev_drv1中,对指针ptr的说明如下:

    【C语文代码】

    int Dev_drv1(int arg1,int arg2 )

    {

    struct node {

    int ID;

    char name [20];

    int range;

    } ;

    struct node *ptr;

    /*其他局部变量声明,略*/

    ptr = (struct node *)malloc(sizeof(struct node)*100);

    /*其他程序代码,略*/

    }

    设int为32位整数,char占8位。当对指针ptr赋完值后的值为0x3751CO,若再执行一条“ptr++;”语句,此时ptr的值为多少? (用十六进制表示)。


    正确答案:ptr的值为以下均按正确对待。 0x3751DC或3751DCH或十六进制3751DC或3751DC。
    ptr的值为以下均按正确对待。 0x3751DC,或3751DCH,或十六进制3751DC,或3751DC。 解析:本题考查对C语言指针变量的理解。在指针赋予某一变量的地址后,该指针就指向该变量所分配的地址空间。需要强调的是,指针变量是有类型的,指针的值加1,表示增加按其声明类型所占的字节数,而不是增加一个字节的地址。因此ptr++后ptr的值比原来增加28个字节,当前的值应为0x3751DC。

  • 第11题:

    有以下说明语句:struct Worker{int no;char name[20];};Worker w,*p=&w;则下列错误的引用是()

    • A、w.no
    • B、p->no
    • C、(*p).no
    • D、*p.no

    正确答案:D

  • 第12题:

    单选题
    有如下定义:struct{  int num;  char name[10];  struct {  int y;  int m;  int d; }birth; }s,*ps=&s;以下对内嵌结构体成员的引用形式错误的是(  )。
    A

    ps.birth.y

    B

    s.birth.y

    C

    ps->birth.y

    D

    (*ps).birth.y


    正确答案: C
    解析:
    使用结构体指针对结构体成员进行访问时,形式为:结构指针名->结构成员名,或者(*结构指针名).结构成员名,题目中ps为结构体指针,答案选择A选项。

  • 第13题:

    下列语句段中,正确的是( )。

    A.struct{int x;float y;int a[2];unsigned b[3];char name[10];};

    B.struct stu{unsigned a[3];unsigned b[4];}x;int*p=&x.a;

    C.struct stu{int a;float x[4];}y={1,1.0};float data=y.x;

    D.struct nd{int a,b;unsigned c[2]=5;};


    正确答案:A
    解析: 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式:
    struct结构类型名称
    { 数据类型 成员名1;
    数据类型 成员名2;

    数据类型 成员名n;
    };
    struct为关键字,是结构的标识符;{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

  • 第14题:

    已知学生记录描述为:

    struct student

    { int no;

    char name[20],sex;

    struct

    { int year,month,day;

    } birth;

    };

    struct student s;

    设变量s中的"生日"是"1984年11月12日",对"birth"正确赋值的程序段是

    A.year=1984;month=11;day=12;

    B.s.year=1984;s.month=11;s.day=12;

    C.birth.year=1984;birth.month=11;birth.day=12;

    D.s.birth.year=1984;s.birth.month=11;s.birth.day=12;


    正确答案:D

  • 第15题:

    下面结构体的定义语句中,不正确的是______。

    A.structdate { int month; int day; int year; } Struct date datel;

    B.stmctdate { intmonth; int day; int year; } datel;

    C.struct { int month; int day; int year; } date 1;

    D.#define DATE stmct date DATE { int month; int day; int year; }datel;


    正确答案:A

  • 第16题:

    有以下定义和语句: struct students {int num;char name[20];char c; struct {int grade1;int grade2;}s; }; struct students w,*pw; *pw=w; 下列赋值语句不正确的是( )。

    A.w.num=1002;

    B.w.grade1=85;

    C.pw->num=1002;

    D.w.s.grade2=85;


    正确答案:B

  • 第17题:

    若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析: 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

  • 第18题:

    设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 stmct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

    A.x=1987

    B.birth.x=1987;

    C.p.birth.x=1987;

    D.p.x=1987;


    正确答案:C
    解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将 birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y\z。

  • 第19题:

    以下程序的输出结果是______。includestruct stu{int num; char name[10]; int age;};v

    以下程序的输出结果是______。#include<stdio.h>struct stu{ int num; char name[10]; int age;};void fun(struct stu*p){ printf("%s\n",(*p).name);}main(){ struct stu students[3]={ {9801,"Zhang",20}, { 9802,"Wang",19}, { 9803,"Zhao",18} }; fun(students+2);}

    A.Zhang

    B.Zhao

    C.Wang

    D.18


    正确答案:B

  • 第20题:

    下列关于结构型变量的定义语句中,错误的是( )

    A.typedef struct CCC

    B.define GGG struct { char name[20];GGG CCC { char name[20]; int age; int age; }GGG; }; GGG abc ; GGG CCC abc;

    C.struct

    D.struct { char name[20]; { char name[20]; int age; int age; }ccc; }abc; CCC abc;


    正确答案:C
    分析备选答案A:利用“typedef”定义了用户自定义的数据类型符“GGG”,这个用户自定义的数据类型符是含有两个成员的结构型CCC,所以语句“GGGabc”是定义结构型CCC的变量abc,语法没有错误。分析备选答案B:利用“#define”定义了宏名“GGG”,这个宏名第一次出现是定义结构型CCC,第二次是定义了结构型CCC的变量allc,所以语法上没有错误。分析备选答案C:这是定义一个没有名称的结构型,同时定义了这种结构型的变量CCC,接着的语句“CCCabc;”显然是错误的,因为CCC是变量名,不是数据类型符,该答案符合题意。至于备选答案D:这是标准的通过定义没有名称的结构型来定义该结构型的变量abc,语法上没有错误。

  • 第21题:

    下列语句段中,正确的是( )。

    A.struct { int x; float y; int a[2]; unsigned b[3]; char name[ 10]; };

    B.struct stu { unsigned a[3]; unsigned b[4]; }x; int *p=& x.a;

    C.street stu { int a; float x[4]; }y={1,1.0}; float data=y.x;

    D.struct nd {int a,b; unsigned c[2]=5; };


    正确答案:A
    解析:本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式是:struct结构类型名称{数据类型成员名1;数据类型成员名2;…数据类型成员名n;};struct为关键字,是结构的标识符:{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

  • 第22题:

    有下列语句:  struct Birthday{public int year;  public int month;   public int day;}; struct Student{ int no;  string name;   int age;  public Birthday bir; };  ……  Student Stu;  如果要把Stu的出生年份赋值为1988,正确的语句是()

    • A、 Stu.bir.year=1988;
    • B、 Stu.year=1988;
    • C、 Stu. Birthday.year=1988;
    • D、 Student. Birthday.year=1988;

    正确答案:A

  • 第23题:

    数据结构里,struct student { char name[20]; char sex[10]; int age; int score; }; 定义结构体后,定义变量、数组赋值正确的是()。

    • A、struct student s={"张三","男",18,100};
    • B、struct student stu[3]={{"张三","男",18,100},{"李四","男",19,90},{"王五","男",23,97}};
    • C、struct student s={"李四";"女";18;100};
    • D、struct student stu[3]={{"张三",18,"男",100},{"李四",19,"男",90},{"王五",23,"男",97}};

    正确答案:A,B

  • 第24题:

    单选题
    有以下说明语句:struct Worker{int no;char name[20];};Worker w,*p=&w;则下列错误的引用是()
    A

    w.no

    B

    p->no

    C

    *p).no

    D

    *p.no


    正确答案: A
    解析: 暂无解析