亚洲AV乱码一区二区三区女同,欧洲在线免费高清在线a,中文字幕丝袜四区,老少配老妇熟女中文高清

<s id="38axe"><nobr id="38axe"></nobr></s><abbr id="38axe"><u id="38axe"></u></abbr>

<sup id="38axe"></sup>
    <acronym id="38axe"></acronym>
  • <s id="38axe"><abbr id="38axe"><ins id="38axe"></ins></abbr></s>
    
    
        <s id="38axe"></s>
        違法信息舉報 客服熱線:400-118-7898
        廣告
        ?
        專接本欄目測試廣告

        ?2022年湖北專升本C語言結(jié)構(gòu)體與共用體模擬題

        普通專升本 責任編輯:管理員 2022-02-14

        摘要:本文是2022年湖北專升本C語言結(jié)構(gòu)體與共用體模擬題,共有22道選擇題和6道填空題,供大家參考。具體詳細內(nèi)容見下文。

        一、單項選擇題

        1.以下程序的輸出結(jié)果是( D )。

        struct student

        {char name[20];

        char sex;

        int age;

        }stu[3]={“Li Lin”,‘M’, 18, “Zhang Fun”,‘M’, 19, “Wang Min”,‘F’, 20};

        main()

        {struct student *p;

        p=stu;

        printf(“%s, %c, %d\n”, p->name, p->sex, p->age);

        }

        A) Wang Min,F,20

        B) Zhang Fun,M,19

        C) Li Lin,F,19

        D) Li Lin,M,18

        2.設(shè)有以下語句:

        struct st{int n; struct st *next;};

        static struct st a[3]={5, &a[1], 7, &a[2], 9,‘\0’},*p;

        p=&a[0];

        則表達式(D)的值是 6。

        A) p++ ->n

        B) p->n++

        C) (*p).n++

        D) ++p->n

        3.以下四個程序中,( C )不能對兩個整型變量的值進行交換。

        A) #include

        main()

        {int a=10,b=20;

        swap(&a,&b);

        printf(“%d %d\n”,a,b);

        }

        swap(int *p,int *q)

        {int *t;

        t=(int *)malloc(sizeof(int));

        *t=*p; *p=*q; *q=*t;

        }

        B) main()

        {int a=10,b=20;

        swap(&a,&b);

        printf(“%d %d\n”,a,b);

        }

        swap(int *p,int *q)

        {int t;

        t=*p; *p=*q; *q=t;

        }

        C) main()

        {int *a,*b;

        *a=10; *b=20;

        swap(a,b);

        printf(“%d %d\n”,*a,*b);

        }

        swap(int *p,int *q)

        {int t;

        t=*p; *p=*q; *q=t;

        }

        D) main()

        {int a=10,b=20;

        int *x=&a,*y=&b;

        swap(x,y);

        printf(“%d %d\n”,a,b);

        }

        swap(int *p,int *q)

        {int t;

        t=*p; *p=*q; *q=t;

        }

        4.下面程序的輸出結(jié)果是( C)。

        struct st

        {int x;

        int *y;

        }*p;

        int dt[4]={10, 20, 30, 40};

        struct st aa[4]={50, &dt[0], 60, &dt[1], 70, &dt[2], 80, &dt[3]};

        main()

        {p=aa;

        printf(“%d”, ++p->x);

        printf(“%d”, (++p)->x);

        printf(“%d\n”, ++(*p->y));

        }

        A) 10 20 20

        B) 50 60 21

        C) 51 60 21

        D) 60 70 31

        5.若要用下面的程序片段使指針變量 p 指向一個存儲整型數(shù)據(jù)的動態(tài)存儲單元,則應填入( D )。

        int *p;

        p= malloc(sizeof(int));

        A) int

        B) int *

        C) (* int)

        D) (int *)

        6.若已建立下面的鏈表結(jié)構(gòu),指針 p、s 分別指向圖中所示的結(jié)點,則不能將 s 所指的結(jié)點插入到鏈表末尾的語句組是( C)。

        A) s->next=NULL; p=p->next; p->next=s;

        B) p=p->next; s->next=p->next; p->next=s;

        C) p=p->next; s->next=p; p->next=s;

        D) p=(*p).next; (*s).next=(*p).next; (*p).next=s;

        7.以下程序的輸出結(jié)果是( D)。

        #include

        void fun(float *p1,float *p2, float *s)

        {s=(float *)calloc(1, sizeof(float));

        *s=*p1+*(p2++);

        }

        main()

        {float a[2]={1.1, 2.2}, b[2]={10.0, 20.0}, *s=a;

        fun (a, b, s);

        printf(“%f\n”, *s);

        }

        A) 11.100000 B) 12.100000 C) 21.100000 D) 1.100000

        8.字符‘0’的 ASCII 碼的十進制數(shù)為 48,且數(shù)組的第 0 個元素在低位,則以下程序的輸出結(jié)果是( B )。

        image.png

        A) 39

        B) 9

        C) 38

        D) 8

        9.若有說明:long *p, a; 則不能通過 scanf 語句正確給輸入項讀入數(shù)據(jù)的程序段是( A )。

        A) *p=&a; scanf(“%ld”,p);

        B) p=(long *)malloc(8); scanf(“%ld”,p);

        C) scanf(“%ld”,p=&a);

        D) scanf(“%ld”,&a);

        10.以下選項中,能定義 s 為合法的結(jié)構(gòu)體變量的是(B)。

        A) typedef struct abc

        {double a;

        char b[10];

        }s;

        B) struct

        {double a;

        char b[10];

        }s;

        C) struct ABC

        {double a;

        char b[10];

        }

        ABC s;

        D) typedef ABC

        { double a;

        char b[10];

        }

        ABC s;

        11.設(shè)有以下定義和語句,則輸出結(jié)果是(指針變量占 2 個字節(jié))( D)。

        struct date

        {long *cat;(2 字節(jié))

        struct date *next;(2 字節(jié))

        double dog;(8 字節(jié))

        }too;

        printf(“%d”, sizeof(too));

        A) 20

        B) 16

        C) 14

        D) 12

        12.以下程序的輸出結(jié)果是(D)。

        #include

        int a[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9}, *p;

        main()

        {p=(int *)malloc(sizeof(int));

        f(p, a);

        printf(“%d\n”,*p);

        }

        f(int *s, int p[][3])

        {*s=p[1][1];}

        A) 1

        B) 4

        C) 7

        D) 5

        13.設(shè)有如下定義:

        struct

        sk

        {int a; float b;} data, *p;

        若有 p=&data,則對 data 中的成員 a 的正確引用是( B )。

        A) (*p).data.a

        B) (*p).a C) p->data.a

        D) p.data.a

        14.以下程序的輸出結(jié)果是( B )。

        #include

        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

        15.以下程序運行后,輸出結(jié)果是( C)。

        fut(int **s, int p[2][3])

        {**s=p[1][1];}

        main()

        {int a[2][3]={1, 3, 5, 7, 9, 11}, *p;

        p=(int *)malloc(sizeof(int));

        fut(&p, a);

        printf(“%d\n”, *p);

        }

        A) 1

        B) 7

        C) 9

        D) 11

        16.下列程序的輸出結(jié)果是( B)。

        struct abc

        { int a, b, c; };

        main()

        { struct abc s[2]={{1,2,3},{4,5,6}}; int t;

        t=s[0].a + s[1].b;

        printf("%d \n", t);

        }

        A) 5

        B) 6

        C) 7

        D) 8

        17.有以下結(jié)構(gòu)體說明和變量的定義,且如下圖所示指針 p 指向變量 a,指針 q 指向變量 b。則不能把結(jié)點 b 連接到結(jié)點 a 之后的語句是( B)。

        image.png

        struct node

        {char data;

        struct node *next;

        } a, b, *p=&a,*q=&b;

        A) a.next=q;

        B) p.next=&b;

        C) p->next=&b;

        D) (*p).next=q;

        18.變量 a 所占內(nèi)存字節(jié)數(shù)是(C)。

        image.png

        A) 4

        B) 5

        C) 6

        D) 8

        19.有如下定義:

        struct person{char name[9]; int age;};

        struct person class[10]={“Johu”, 17, “Paul”, 19 , “

        Mary”, 18, “Adam”, 16};

        根據(jù)上述定義,能輸出字母 M 的語句是( D)。

        A) printf(“%c\n”, class[3].name);

        B) printf(“%c\n”, class[3].name[1]);

        C) printf(“%c\n”, class[2].name[1]);

        D) printf(“%c\n”, class[2].name[0]);

        20.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是( C)。

        A) typedef struct aa

        {int n;

        float m;

        }AA;

        AA td1;

        B) #define AA struct aa

        AA{int n;

        float m;

        }td1;

        C) struct

        { int n;

        float m;

        }aa;

        struct aa td1;

        D) struct

        { int n;

        float m;

        }td1;

        21.設(shè)有以下說明語句:

        struct ex

        {int x; float y; char z;} example;

        則下面的敘述中不正確的是( B )。

        A) struct 是結(jié)構(gòu)體類型的關(guān)鍵字

        B) example 是結(jié)構(gòu)體類型名

        C) x, y, z 都是結(jié)構(gòu)體成員名

        D) struct ex 是結(jié)構(gòu)體類型名

        22.以下程序的輸出結(jié)果是( D)。

        union myun

        { struct

        { int x, y, z; } u;

        int k;

        } a;

        main()

        {a.u.x=4; a.u.y=5; a.u.z=6;

        a.k=0;

        printf(%d\n", a.u.x);

        }

        A) 4

        B) 5

        C) 6

        D) 0

        二、填空題

        1.設(shè)有以下結(jié)構(gòu)體類型說明和變量定義,則變量 a 在內(nèi)存中所占的字節(jié)數(shù)是22,變量 p 在內(nèi)存中所占的字節(jié)數(shù)是2。

        struct stud

        {char num[6];

        int s[4];

        double ave;

        }a, *p;

        2.若有如下結(jié)構(gòu)體說明:

        struct STRU

        {int a, b ; char c; double d:

        struct STRU p1, p2;

        };

        請?zhí)羁?,以完成?t 數(shù)組的定義,t 數(shù)組的每個元素為該結(jié)構(gòu)體類型:struct STRU t[20];

        3.以下程序段用于構(gòu)成一個簡單的單向鏈表,請?zhí)羁铡?/p>

        struct STRU

        {int x, y ;

        float rate;

        struct STRU * p;

        } a, b;

        a.x=0; a.y=0; a.rate=0; a.p=&b;

        b.x=0; b.y=0; b.rate=0; b.p=NULL;

        4.建立并輸出 100 個同學的通訊錄,每個通訊錄包括同學的姓名、地址、郵政編碼。

        #include

        #define N 100

        struct communication

        {char name[20];

        char address[80];

        long int post_code;

        }commun[N];

        main()

        {int i;

        for(i=0; i<100; i++)

        {set_record(commun+i);

        print_record(commun+i);

        }}

        set_record(struct communication *p)

        {printf(“Set a communication record\n”);

        scanf(“%s %s %ld”, p->name, p->address, p->post-code);

        }

        print_record ( strut communication*p)

        {printf(“Print a communication record\n”);

        printf(“Name: %s\n”, p->name);

        printf(“Address: %s\n”, p->address);

        printf(“Post_code: %ld\n”, p->post-code);

        }

        5.以下函數(shù) creatlist 用來建立一個帶頭節(jié)點的單鏈表,新的結(jié)點總是插入在鏈表的末尾。鏈表的頭指針作為函數(shù)值返回,鏈表最后一個節(jié)點的 next 成員中放入 NULL,作為鏈表結(jié)束標志。讀入時字符以#表示輸入結(jié)束(#不存入鏈表)。請?zhí)羁铡?/p>

        struct node

        {char data;

        struct node * next;

        };

        struct node * creatlist( )

        {struct node * h,* s,* r;char ch;

        h=(struct node *)malloc(sizeof(struct node));

        r=h;

        ch=getchar( );

        while(ch!=‘#’)

        {s=(struct node *)malloc(sizeof(struct node));

        s->data=ch;

        r->next=s; r=s;

        ch=getchar( );}

        r->next=NULL;

        return h;

        }

        6.有以下定義和語句,則 sizeof(a)的值是10,而 sizeof(a.share)的值是 4。

        struct date

        {int day;

        int month;

        int year;

        union

        {int share1;

        float share2;

        }share;

        } a;

        更多資料

        全國版統(tǒng)招專升本《政治》真題匯編

        河北省專升本《政治》真題(2020年)

        《民法》知識集錦(電子版)

        更多課程

        《市場營銷學》公開課—業(yè)務成長戰(zhàn)略

        1節(jié)課

        《基礎(chǔ)會計》公開課—會計要素-反映財務狀況的會計要素

        1節(jié)課

        《管理學》公開課——馬斯洛需要層次理論

        1節(jié)課

        溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請考生以權(quán)威部門公布的內(nèi)容為準!

        專升本備考資料免費領(lǐng)取

        去領(lǐng)取