(7) 以下程序段的运行结果为 B 。 char *pstr=\ int n=0;
while(*pstr++!='\\0') n++;
printf(\
A. 12 B. 14 C. 16 D. 不确定 (8) 以下程序段的运行结果为 B 。 int num[9]={1,2,3,4,5,6,7,8,9},*p; p=num; *(p+1)=0;
printf(\
A. 2,0,1 B. 1,0,1 C. 2,2,2 D. 1,1,1 (9) 以下程序段的运行结果为 C 。 int a=5,*p=&a,b,*q; a=10; *p=15; q=p; *q=20; b=*q; p=&b;
printf(\
A. a=5,b=10,*p=15,*q=20 B. a=20,b=15,*p=10,*q=5 C. a=20,b=20,*p=20,*q=20 D. a=15,b=15,*p=15,*q=15 (10) 已知 char *p,*q;,以下语句正确的是 C 。 A. p*5; B. p/=q; C. p+=5; D. p+=q;
第9章 结构体共用体习题
1. 填空题
(1) 定义结构体的关键字是 struct ,定义共用体的关键字是 union 。 (2) 结构体和共用体的相同点是 都是构造类型 ,不同点是 共用体在同一时间只能使用一个成员 。
(3) 若有以下定义和语句,则sizeof(a)的值是 12 ,而sizeof(b)的值是 20 。 struct tu
{ int m; char n; int y;}a; struct
{ float p; char q; struct tu r} b; (4) 设有下面结构类型说明和变量定义,则变量a在内存所占字节数是 32 。如果将该结构改成共用体,结果为 16 。 struct stud
{ char num[6]; int s[4]; double ave; } a;
(5) 下面程序用来输出结构体变量ex所占存储单元的字节数,请填空。 struct st
{ char name[20]; double score; }; main()
{ struct st ex ; printf(\
(6) 下面定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针,请将定义补充完整。 struct node
{ int info; struct node * link; } (7) 以下程序执行后输出结果是 A 。 main()
{ union { unsigned int n; unsigned char c; } u1; u1.c='A'; printf(\
(8) 变量root如图所示的存储结构,其中sp是指向字符串的指针域,next是指向该结构的指针域,data用以存放整型数。请填空,完成此结构的类型说明和变量root的定义。 root
sp next data struct list
{ char *sp ; struct list *next ; int data ; } root;
2. 阅读下面的程序,写出程序结果 (1)
struct info { char a,b,c;}; main()
{ struct info s[2]={{‘a’,‘b’,‘c’},{‘d’,‘e’,‘f’}};int t; t=(s[0].b-s[1].a)+(s[1].c-s[0].b); printf(\输出:2 (2)
void main()
{ union { char i[2]; int k; } stu; stu.i[0]='2'; stu.k=0;
printf(\}
输出:,0 (3)
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\
输出:0
商业计划书 http://www.chnci.com/syjhs 可行性分析报告 http://www.qfcmr.com 市场调查 http://www.51kybg.com
相关推荐: