結構體共用體和用戶定義類型_第1頁
結構體共用體和用戶定義類型_第2頁
結構體共用體和用戶定義類型_第3頁
結構體共用體和用戶定義類型_第4頁
結構體共用體和用戶定義類型_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、用typedef說明一種新類型名選擇題1)設有如下說明:typedef struct STlong a;int b;char c2;NEW;則下列敘述中正確的是ca)以上的說明形式非法 b)ST是一個結構體類型c)NEW是一個結構體類型 d)NEW是一個結構體變量2)設有以下語句:typedef struct sint g;char h;T;則下面敘述中正確的是ba)可用S定義結構體變量 b)可以用T定義結構體變量c)S是struct類型的變量 d)T是struct S類型的變量結構體類型選擇題1)有以下程序#include <stdio.h>struct stint x,y;da

2、ta2=1,10,2,20;main()struct st *p=data;printf(“%d,”,p->y);printf(“%dn”,(+p)->x);程序運行結果是_c_a)10,1 b)20,1 c)10,2 d)20,22)有以下程序#include <stdio.h>main()struct STUchar name9; char sex; double score2;struct STU a=“Zhao”,m,b=“Qian”,f;b=a;printf(“%s,%c,%2.0f,%2.0fn”,,b.sex,b.score0,b.score1

3、);程序運行的結果是_D_a)Qian,f,95,92 b)Qian,m,85,90 c)Zhao,f,95,92 d)Zhao,m,85,903) 將定已建立以下鏈表結構,且指針p和q已指向如圖所示的結點:abcdatanextpqhead則以下選項中科將q所指結點從鏈表中刪除并釋放該結點的語句是_d_a) (*p).next=(*q).next;free(p); b)p=q->next; free(q);c) p=1; free(q); d) p->next=q->next;free(q);4)以下結構體類型說明和變量定義中正確的是_a_a) typedef struct

4、 b)struct REC;int n; char c;REC; int n; char c; ;REC t1,t2; REC t1,t2;c)typedef struct REC; d) structint n=0; char c=A; t1,t2; int n; char c; REC; REC t1,t2;5)有以下程序#include <stdio.h>#include <string.h>typedef struct char name9; char sex ; float score2; STU; void f(STU a)STU b=“Zhao”,m,85

5、.0,90.0; int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i+) a.scorei=b.scorei;main()STU c=“Qian”,f,95.0,92.0;f(c); printf(“%s,%c,%2.0f,%2.0fn”,,c.sex,c.score0,c.score1);程序的運行結果是_a_a)Qian,f,95,92 b)Qian,m,85,90 c)Zhao,f,95,92 d)Zhao,m,85,906)有以下程序#include <stdio.h>struct ttint x;

6、struct tt *y; *p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main()int i;p=a;for(i=1;i<=2;i+) printf(“%d,”,p->x); p=p->y;程序的運行結果是_d_a) 20,30, b) 30,17 c)15,30, d)20,15,7)有以下程序#include <stdio.h>#include <string.h>typedef struct char name9; char sex; float score2; STU;STU f(STU a)STU b

7、=“Zhao”,m,85.0,90.0;int i;strcpy(,);a.sex=b.sex;for(i=0;i<2;i+) a.scorei=b.scorei;return a;main()STU c=“Qian”,f,95.0,92.0,d;d=f(c); printf(“%s,%c,%2.0f,%2.0fn”,,d.sex,d.score0,d.score1);程序的運行結果是_c_a)Qian,f,95,92 b)Qian,m,85,90 c)Zhao,m,85,90 d)Zhao,f,95,928) 有以下程序typedef stuct i

8、nt b,p;A;void f(A c) /*c是結構變量名*/int j;c.b+=1;c.p+=2;main()int i;A a=1,2;f(a);printf(“%d,%dn”,a.b,a.p);程序運行后的結果是_d_a)2,3 b)2,4 c)1,4 d)1,29)有以下程序struct S int n;int a20;void f(int *a,int n)int i;for(i=0;i<n-1;i+) ai+=i;main()int i;struct S s=10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;i<s.n;i+) p

9、rintf(“%d,”,s.ai);程序運行后的輸出結果是_a_a) 2,4,3,9,12,12,11,18,9, b)3,4,2,7,9,8,6,5,11,10,c)2,3,1,6,8,7,5,4,10,9, d)1,2,3,6,8,7,6,5,10,9,10) 有以下程序段typedef struct NODEint num;struct NODE *next;OLD;以下敘述中正確的是ca)以上的說明形式非法 b) NODE 是一個結構體類型c) OLD是一個結構體類型 d)OLD是一個結構體變量11)有以下程序:#include <string.h>struct STUin

10、t num;float TotalScore;void f(struct STU p) struct STU s2=20041,703,20045,537;p.num=s1.num;p.TotalScore=s1.TotalScore;main()struct STU s2=20041,703,20045,537;f(s0);printf(“%d %3.0fn”,s0.num,s0.TotalScore);程序運行后的輸出結果是_d_a) 20045 537 b)20044 550 c)20042 580 d)20041 70312) 有以下程序#include <string.h>

11、;struct STUchar name10;int num;void f(char *name,int num)struct STU s2=“SunDan”,20044,“Penghua”,20045;num=s0.num;strcpy(name,);main()struct STU s2=“YangSan”,20041,“LiSiGuo”,20042,*p;p=&s1;f(p->name,p->num);printf(“%s %dn”,p->name,p->num);程序運行后的輸出結果是_a_a) SunDan 20042 b)SunDan

12、20044 c)LiSiGuo 20042 d)YangSan 2004113) 有以下程序:struct STUchar name10;int num;float TotalScore;void f(struct STU *p)struct STU s2=“SunDan”,20044,550,“Penghua”,20045,537,*q=s;+p;+q;*p=*q;main()struct STU s3=“YangSan”,20041,703,“LiSiGuo”,20042,580;f(s);printf(“%s %d %3.0fn”,,s1.num,s1.TotalScore

13、);程序運行后的輸出結果_b_a)SunDan 20044 580 b)Penghua 20045 537c)LiSiGuo 20042 580 d)SunDan 20041 703填空題1)以下程序運行后的輸出結果是_5_struct NODEint num; struct NODE *next; main()struct NODE s3=1,0,2,0,3,0,*p,*q,*r;int sum=0;s0.next=s+1;s1.next=s+2;s2.next=s;p=s;q=p->next;r=q->next;sum+=q->next->num;sum+=r-&g

14、t;next->num;printf(“%dn”,sum);2)以下程序運行后的輸出結果是_13431_struct NODEint k;struct NODE *link;main()struct NODE m5,*p=m,*1=m+4;int i=0;while(p!=q)p->k=+i;p+;q->k=i+;q-;q->k=i;for(i=0;i<5;i+)printf(“%d”,mi.k);printf(“n”);3)以下程序中函數(shù)fun的功能是:統(tǒng)計person所指結構體數(shù)組中所有性別(sex)為M的記錄的個數(shù),存入變量n中,并作為函數(shù)值返回。請?zhí)羁铡?

15、include <stdio.h>#define N 3typedef structint num; char nam10; char sex; SS;int fun(SS person)int i,n=0;for(i=0;i<N;i+)if(_=M) n+;return n;main()SS WN=1,”AA”,F,2,”BB”,M,3,”CC”,M;int n;n=fun(W);printf(“n=%dn”,n);4) 函數(shù)main()的功能是:在帶頭結點的單鏈表中查找距中值最小的節(jié)點。請?zhí)羁铡?include <stdio.h>struct nodeint

16、data;struct node *next;int min(struct node *first)struct node *p;int m;p=first->next;m=p->data;p=p->next;for(;p!=NULL;p=_)if(p->data<m) m=p->data;return m;5) 設有說明struct DATE int year; int month;int day;請寫出一條定義語句,該語句定義d為上述結構體類型變量,并同時為其成員year、month、day依次賦初值2006、10、1:_6) 下面程序的功能是建立一個有3個節(jié)點的單循環(huán)鏈表,然后求各個節(jié)點數(shù)值域data中數(shù)據(jù)的和,請?zhí)羁铡?00200300pqr#include <stdio.h>#include <stdlib.h>struct NODEint data;struct NODE *next;main()struct NODE *p,*q,*r;int sum=0;p=(struct NODE *)malloc(size

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論