《2022年程序设计语言C. 5.pdf》由会员分享,可在线阅读,更多相关《2022年程序设计语言C. 5.pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计语言 C1随机作业题做作业时间:2013-5-13 8:30:00至2013-6-30 22:00:001、在 16 位 IBM-PC机上使用 C语言,若有如下定义struct data int i; char ch; double f; b; 则结构变量 b 占用内存的字节数是(3 分) A、 B、 C、 D、DA、1 B、2 C 、8 D 、11 2、在下列定义中的共用体所占内存字节数是( ) union char k 6;struct int m;float f; a; double d; b; (3 分) A、 B、 C、 D、AA、8 B、14 C 、18 D 、10 3、变
2、量 a 所占内存字节数是union U 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - char st4; int i; long l; ; struct A int c; union U u; a; (3 分) A、 B、 C、 D、CA、4 B、5 C 、6 D 、8 4、根据下面的定义,能打印出字母 M 的语句是struct personchar name9; int age; ; struct person class
3、10=John,17, Paul,19, Mary,18, adam,16 ; (3 分) A、 B、 C、 D、DA、printf(%cn,class3.name); B、printf(%cn,class3.name1); C 、printf(%cn,class2.name1); D 、 printf(%cn,class2.name0); 5、设有以下语句typedef struct S int g; char h; T; 则下面叙述中正确的是 (3 分) A、 B、 C、 D、DA、可用 S定义结构体变量B、可以用 T 定义结构体变量C 、S是 struct类型的变量D 、T是 struc
4、t S类型的变量6、设有以下说明语句名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - struct ex int x ; float y; char z ; example; 则下面的叙述中不正确的是(3 分) A、 B、 C、 D、BA、 struct结构体类型的关键字B、example是结构体类型名C 、x,y,z都是结构体成员名D 、struct ex是结构体类型7、设有如下说明typedef struct int n;
5、char c; double x;STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是(3 分) A、 B、 C、 D、AA、STD tt2=1,A,62,2, B,75; B、STD tt2=1,A,62,2, B,75; C 、struct tt2=1,A,2, B; D 、struct tt2=1,A,62.5,2, B,75.0; 8、设有如下定义struct ss char name10; int age; char sex; std3,*p=std; 下面各输入语句中错误的是(3 分) A、 B、 C、 D、BA、scanf(%d,&(*p).age); B、scanf(%
6、s,&std.name); C 、scanf(%c,&std0.sex) D 、scanf(%c,&(p-sex); 9、设有如下定义:struck sk int a; float b; data; int *p; 若要使 P指向 data 中的 a 域,正确的赋值语句是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - (3 分) A、 B、 C、 D、CA、p=&a; B、p=data.a; C 、 p=&data.a; D
7、、*p=data.a; 10、以下叙述中错误的是(3 分) A、 B、 C、 D、AA、可以通过 typedef 增加新的类型B、可以用 typedef 将已存在的类型用一个新的名字来代表C 、用 typedef 定义新的类型名后,原有类型名仍有效D 、用 typedef 可以为各种类型起别名,但不能为变量起别名11、以下选项中不能正确把cl 定义成结构体变量的是Atypedef struct Bstruct color cl int red; int red; int green; int green; int blue; int blue; COLOR; ; COLOR cl; Cstru
8、ct color Dstruct int red; int red; int green; int green; int blue;(3分) B12、以下程序的输出结果是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(%dn,a.u.x); (3 分) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - - - - - - -
9、- - A、 B、 C、 D、DA、4 B、5 C 、6 D 、0 13、以下对结构体类型变量的定义中,不正确的是( ) (A)typedef struct aa int n; float m; AA; AA tdl; (B)struct int n; float m; aa; struct aa tdl; (C)#define AA struct aa AAint n; float m; tdl; (D)struct int n; float m; tdl; (3 分) A、DA、14、若要说明一个类型名STP ,使得定义语句STP s等价于 char *s ,以下选项中正确的是 (3 分)
10、 A、 B、 C、 D、DA、typedef STP char *s; B、typedef *char STP; C 、typedef stp *char; D 、typedef char* STP; 15、若有以下说明和定义typedef int* INTEGER; INTEGER p,*q; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - 以下叙述正确的是 ( )(3分) A、 B、 C、 D、BA、p是 int 型变量B
11、、p是基类型为 int的指针变量C 、q是基类型为 int的指针变量D 、程序中可用 INTEGER 代替 int类型名16、若有下面的说明和定义:struct test int ml; char m2; float m3; union uu char ul5; int u22; ua; myaa; 则 sizeof(struct test )的值是(3 分) A、 B、 C、 D、AA、12 B、16 C 、14 D 、9 17、若有如下说明,则 _的叙述是正确的。struct st int a ;int b2l;a;(3 分) A、 B、 C、 D、DA、结构体变量 a 与结构体成员 a
12、同名,定义是非法的B、程序只在执行到该定义时才为结构体st 分配存储单元C 、程序运行时为结构体st 分配 6 个字节存储单元D 、类型名 struct st可以通过 extern 关键字提前引用 ( 即引用在前,说明在后) 18、若有如下定义:union aa int n;char c9;float x;a,b,c; 则下列叙述中不正确的是( ) (3 分) A、 B、 C、 D、BA、union aa 是定义的共用体类型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共
13、10 页 - - - - - - - - - B、a,b,c 是定义的共用体类型名C 、n、c9和 x 是共用体的成员名D 、a,b,c 是定义的共用体变量名19、若有以下结构体定义,则_是正确的引用或定义。struct example int x;int y;v1 ;(3 分) A、 B、 C、 D、DA、examplex=10 B、example v2 x=10 C 、struct v2;v2x=lO D 、struct example v2=10;20、有以下程序段struct st int x;int *y;*pt ;int a=l ,2,b=3,4;struct st c2=10,a
14、,20,b ;pt=c ;以下选项中表达式的值为11 的是(3 分) A、 B、 C、 D、CA、*pt-y B、pt-x C 、+pt-x D 、(pt+)-x 21、有以下结构体说明和变量的定义, 且如下图所示指针p 指向变量 a, 指针 q指向变量 b。则不能把结点 b 连接到结点 a 之后的语句是struct node char data; struct node *next; a,b,*p=&a,*q=&b; (3 分) A、 B、 C、 D、BA、a.next=q; B、p.next=&b C 、p-next=&b; 名师资料总结 - - -精品资料欢迎下载 - - - - - -
15、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 10 页 - - - - - - - - - D 、(*p).next=q; 22、有以下程序struct s int x,y; data2=10,100,20,200; main() struct s *p=data; printf(%dn,+(p-x); 程序运行后的输出结果是 (3 分) B23、有以下程序# include struct STU char name10; int num; ; void f(char *name, int num) struct STU s2=Su
16、nDan,20044,Penghua,20045; num = s0.num; strcpy(name, s0.name); main() struct STU s2=YangSan,20041,LiSiGuo,20042,*p; p=(3 分) A、 B、 C、 D、AA、SunDan 20042 B、SunDan 20044 C 、LiSiGuo 20042 D 、YangSan 20041 24、有以下程序typedef structint b,p;A; void f(A c) /*注意:c 是结构变量名 */ int j; c.b+=1; c.p+=2; main() int i; A
17、 a=1,2; f(a); printf(“%d,%dn”,a.b,a.p); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 10 页 - - - - - - - - - 程序运行后的输出结果是( ) (3 分) A、 B、 C、 D、DA、2,3 B、2,4 C 、1,4 D 、1,2 25、有以下程序struct S int n; int a20; ; void f(int *a,int n) int i; for(i=0;i main() int i; struc
18、t S s=10,2,3,1,6,8,7,5,4,10,9; f(s.a, s.n); for(i=0;i 程序运行后的输出结果是 ( )(3分) A、 B、 C、 D、AA、2,4,3,9,12,12,11,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,5,4,10,9, 程序设计语言 C1固定作业题26、以下程序用来输出结构体变量ex 所占存储单元的字节数,请填空。struct st char name20; double score; ; main() struct st ex; pri
19、ntf(“ex size: %dn”,sizeof(_); (3 分) 答:struct st或exstruct st 或ex名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 10 页 - - - - - - - - - 27、以下定义的结构体类型拟包含两个成员, 其中成员变量 info用来存入整形数据; 成员变量 link是指向自身结构体的指针. 请将定义补充完整。struct node int info; _ link; (3 分) 答:struct node *str
20、uct node *28、若有如下结构体说明:struct STRU int a, b ; char c; double d: struct STRU p1,p2; ; 请填空,以完成对t 数组的定义, t 数组的每个元素为该结构体类型_ t20; (3 分) 答:struct STRUstruct STRU29、有以下定义和语句,则sizeof(a)的值是 _ , 而sizeof(a.share)的值是 _ struct date int day; int month; int year; unionint share1 float share2; share; a;(3分) 答:10 4104名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 10 页 - - - - - - - - -