版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.第八章 結(jié)構(gòu)體與聯(lián)合體選擇題1、若程序中有以下的說明和定義:struct abc int x;char y; 花括號后少了分號。struct abc s1,s2;則會發(fā)生的情況是_。A) 編譯時錯B) 程序?qū)㈨樞蚓幾g、連接、執(zhí)行C) 能順序通過編譯、連接、但不能執(zhí)行D) 能順序通過編譯、但連接出錯2、有以下程序段struct st int x; int *y;*pt;int a=1,2;b=3,4;struct st c2=10,a,20,b;pt=c;以下選項中表達式的值為11的是A) *pt->yB) pt->xC) +pt->xD) (pt+)->x3、有以下說
2、明和定義語句struct student int age; char num8;struct student stu3=20,"200401",21,"200402",19,"200403"struct student *p=stu;以下選項中引用結(jié)構(gòu)體變量成員的表達式錯誤的是_。A) (p+)->numB) p->numC) (*p).numD) stu3.age4、設有如下枚舉類型定義 enum language Basic=3,Assembly=6,Ada=100,COBOL,Fortran;枚舉量Fortran的值
3、為_。A) 4B) 7C) 102D) 103 5、以下敘述中錯誤的是_。A)可以通過typedef增加新的類型B)可以用typedef將已存在的類型用一個新的名字來代表C)用typedef定義新的類型名后,原有類型名仍有效D)用typedef可以為各種類型起別名,但不能為變量起別名6、有以下程序段typedef struct NODE int num; struct NODE *next; OLD;以下敘述中正確的是A)以上的說明形式非法B) NODE是一個結(jié)構(gòu)體類型C) OLD是一個結(jié)構(gòu)體類型D) OLD是一個結(jié)構(gòu)體變量7、以下選項中不能正確把cl定義成結(jié)構(gòu)體變量的是_。1typedef
4、struct int red; int green; int blue; COLOR; COLOR cl;2struct color cl int red; int green; int blue; ;3struct color int red; int green; int blue; cl;4struct int red; int green; int blue; c1;A) 1B) 2C) 3D) 48、設有以下語句typedef struct S int g; char h; T;則下面敘述中正確的是_。A)可用S定義結(jié)構(gòu)體變量B)可以用T定義結(jié)構(gòu)體變量C) S是struct類型的變量
5、D) T是struct S類型的變量9、設有如下說明typedef struct ST long a;int b;char c2; NEW;則下面敘述中正確的是_。A)以上的說明形式非法B) ST是一個結(jié)構(gòu)體類型C) NEW是一個結(jié)構(gòu)體類型D) NEW是一個結(jié)構(gòu)體變量10、以下對結(jié)構(gòu)體類型變量td的定義中,錯誤的是_。A) typedef struct aaB) struct aa int n; int n; float m; float m; AA; ; AA td; struct aa td;C) structD) struct int n; int n; float m; float m
6、; aa; td; struct aa td;11、根據(jù)下面的定義,能打印出字母M的語句是_。struct person char name9; int age;struct person class10="John",17, "Paul",19,"Mary",18, "Adam",16;A) printf("%cn",);B) printf("%cn",1);C) printf("%cn",class2.nam
7、e1);D) printf("%cn",0);12、設有以下語句: struct st int n; struct st *next; static struct st a3=5,&a1,7,&a2,9,'0',*p; p=&a0;則表達式 的值是6。A) p+ ->nB) p->n+C) (*p).n+D) +p->n13、下面程序的輸出結(jié)果為這里是設了一個結(jié)構(gòu)體指針變量*p。這個結(jié)構(gòu)體中又嵌套了一個指針變量*y。然后再設了一個普通數(shù)數(shù)組dt4。然后下一步是給結(jié)構(gòu)體定義的一個變量數(shù)組:de4,
8、并且分別給結(jié)構(gòu)體內(nèi)的成員直接賦值:里面分別賦了四次。 struct st int x; int *y; *p;int dt4=10,20,30,40;struct st aa4= 50,&dt0,60,&dt1,70,&dt2,80,&dt3 ;這里面是給結(jié)構(gòu)體里的x和*y直接賦值。因為是dt4所以賦了四次。第一次:x對應50;*y對應的是地址de0也就是10.然后這樣一次下去。main() p=aa; printf("%dn", +p->x ); printf("%dn", (+p)->x); printf(
9、"%dn", +( *p->y);A) 10 B) 50 C) 51 D) 6020 60 60 7020 21 21 3114、若已建立下面的鏈表結(jié)構(gòu),指針p、s分別指向圖中所示的結(jié)點,則不能將s所指的結(jié)點插入到鏈表末尾的語句組是_。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
10、=(*p).next; (*p).next=s;15、下面程序的輸出是main() enum team my,your=4,his,her=his+10;printf("%d %d %d %dn",my,your,his,her);A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 1516、下面程序的輸出是main() struct cmplx int x; int y; cnum2=1,3,2,7;printf("%dn",cnum0.y /cnum0.x * cnum1.x);A) 0 B) 1 C) 3 D)
11、617、設有如下定義: struct skint a;float b;data,*p; 若有p=&data;,則對data中的a域的正確引用是_。A) (*p).data.a B) (*p).a C) p->data.a D) p.data.a18、有以下程序: *#include<stdio.h>union pw int i; char ch2; a;main() a.ch0=13; a.ch1=0; printf("%dn",a.i); 程序的輸出結(jié)果是 。(注意: ch0在低字節(jié),ch1在高字節(jié)。)A) 13 B) 14 C) 208 D)
12、20919、已知字符0的ASCII碼為十六進制的30,下面程序的輸出是_。main() union unsigned char c;unsigned int i4; z;z.i0=0x39;z.i1=0x36;printf("%cn",z.c);A) 6 B) 9 C) 0 D) 320、字符'0'的ASCII碼的十進制數(shù)為48,且數(shù)組的第0個元素在低位,則以下程序的輸出結(jié)果是_。#include<stdio.h>main( ) union int i2; long k; char c4; r,*s=&r;s->i0=0x39;s-
13、>i1=0x38;printf("%cn",s->c0) ; A) 39 B) 9 C) 38 D) 8填空題1、以下函數(shù)creat用來建立一個帶頭結(jié)點的單向鏈表,新產(chǎn)生的結(jié)點總是插在鏈表的末尾。單向鏈表的頭指針作為函數(shù)值返回.請?zhí)羁?#include<stdio.h>struct list char data; struct list * next; ;struct list * creat() struct list * h,* p,* q;char ch;h=(struct list *) malloc(sizeof(struct list);
14、p=q=h;ch=getchar();while(ch!='?') p=(struct list *)malloc(sizeof(struct list);p->data=ch;p->next=p;q=p;ch=getchar();p->next='0'return(h); 2、有以下說明定義和語句,可用a.day引用結(jié)構(gòu)體成員day, 請寫出引用結(jié)構(gòu)體成員a.day的其它兩種形式 (*b).day 、 b->day 。structint day;char mouth;int year;a,*b; b=&a;datanexthea
15、ddatanextdatanext3、現(xiàn)有如圖所示的存儲結(jié)構(gòu),每個結(jié)點含兩個域,data是指向字符串的指針域,next是指向結(jié)點的指針域。請?zhí)羁胀瓿纱私Y(jié)構(gòu)的類型定義和說明。struct linkchar *data ; struct link *next; *head;4、若有以下說明和定義語句,則變量w在內(nèi)存中所占的字節(jié)數(shù)是 40 。union aa float x, y;char c6;struct st union aa v; float w5; double ave; w;/325、設有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是 32_ 。Struct stud char
16、num6;int s4;double ave; a,*p;6、以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲單元的字節(jié)數(shù),請?zhí)羁?。struct st char name20; double score; ;main() struct st ex; printf(“ex size: %dn”,sizeof( _ex_ );7、以下程序段用于構(gòu)成一個簡單的單向鏈表,請?zhí)羁?。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
17、=NULL;8、若有如下結(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_ t20;9、若以下定義和語句,則sizeof(a)的值是 _12_ ,而sizeof(b)的值是 _4_ struct int day; char mouth; int year; a, *b; b=&a; sp next data root 10、變量root有如圖所示有存儲結(jié)構(gòu),其中sp是指向字符串的指針域,next 是指向該結(jié)構(gòu)的指針域,da
18、ta用以存放整型數(shù). 請?zhí)羁?, 完成此結(jié)構(gòu)的類型說明和變量root的定義 struct list char *sp; _ struct list *next_; _int data_;root;11、設有以下定義 struct ss int info; struct ss *link;x,y,z; 且已建立如下圖所示鏈表結(jié)構(gòu): _ _ _| | | | | | | | | | -| | -| | |_|_| |_|_| |_|_| x y z請寫出刪除結(jié)點y的賦值語句_ x.link=z;_。12、以下程序的運行結(jié)果是 2002Shangxian # include <string.h>typedef struct student char name10; long sno; float score; STU;main( ) STU a=“zhangsan”,2001,95,b=“Shangxian”,2002,90,c=“Anhua”,2003,95,d,*p=&d; d=a; if(s
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 建筑施工領域?qū)I(yè)考前秘卷答案及解析 - 詳解版(65題)
- 中學學生社團管理團隊建設制度
- 養(yǎng)老院活動組織與安排制度
- 企業(yè)員工績效反饋制度
- 星辰大海:馬斯克六大產(chǎn)業(yè)鏈映-
- 噴涂噴焊工常識考核試卷含答案
- 玻璃纖維及制品工安全宣貫水平考核試卷含答案
- 我國上市公司機構(gòu)投資者治理效應的多維度解析與提升路徑研究
- 初中作文素材積累關于責任的名言警句100句
- 棉膠液制備工崗前技術知識考核試卷含答案
- 印刷行業(yè)安全培訓班課件
- 《慢性胃炎診療》課件
- 北京市延慶區(qū)2026屆八年級物理第一學期期末達標測試試題含解析
- 繼電器性能測試及故障診斷方案
- 酒店清欠協(xié)議書模板模板
- 長者探訪義工培訓
- 地下室結(jié)構(gòu)加固技術方案
- 人教版高一必修二英語單詞表
- 2026年高考數(shù)學一輪復習周測卷及答案解析:第9周 數(shù)列的概念、等差與等比數(shù)列
- 電廠清潔生產(chǎn)管理制度
- 第五單元第22課-健康生活新設件人教版初中信息科技八年級全一冊
評論
0/150
提交評論