1、变量a所占的内存字节数是________。
struct stu
{ char name[20];
long int n;
int score[4];
} a ;
A) 28 B) 30
C) 32 D) 36
C
2、下列程序的输出结果是
A)5 B)6 C)7 D)8
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);
}
B
3、有如下定义
struct person{ char name[9]; int age;};
struct person calss[4]={ "Johu",17,
"Paul",19,
"Mary",18,
"Adam",16,};
根据以上定义,能输出字母M的语句是________。
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]);
D
4、设有以下说明语句
struct ex
{ int x;float y; char z; } example;
则下面的叙述中不正确的是_________。
A) struct是结构体类型的关键字
B) example是结构体类型名
C) x,y,z都是结构体成员名
D) struct ex是结构类型
B
5、若定义了以下函数:
void f(.......)
{ ........
*p=(double *)malloc(10*sizeof(double));
........
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回
主调函数,则形参p的正确定义应是________。
A) double *p B) float **p
C) double **p D) float *p
C
6、若定义了以下函数:
void f(.......)
{ ........
p=(double *)malloc(10*sizeof(double));
........
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回
主调函数,则形参p的正确定义应是________。
A) double *p B) float **p
C) double **p D) float *p
A
7、以下程序的输出是________。
struct st
{int x;int *y;} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,dt[0],};
main()
{ p=aa;
printf("%d\n",++(p->x));
}
A) 10 B) 11
C) 51 D) 60
C
8、设有以下定义和语句,则输出的结果
是________(用small模式编译,指针变量占2个字节)。
struct date
{ long *cat;
struct date *next;
double dog;
} too;
printf("%d",sizeof(too));
A) 20 B) 16
C) 14 D) 12
D
9、以下程序的输出结果是________。
struct HAR
{ int x,y; struct HAR *p; } h[2];
main()
{ int h[0].x=1; h[0].y=2;
h[1].x=3;h[1].y=4;
h[0].p=&h[1]; h[1].p=h;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y); }
A) 12 B) 23
C) 14 D) 32
D
10、下面程序的输出是________。
main()
{
struct cmplx { int x; int y; } cnum[2]={1,3,2,7};
printf("%d\n",cnum[0].y /cnum[0].x * cnum[1].x);
}
A) 0 B) 1
C) 3 D) 6
D
11、设有变量定义
struct stu
{int age;
int num;
}std,*p=&std;
能正确引用结构体变量std中成员age的表达式是
A) std->age B) *std->age
C) *p.age D) (*p).age
D
12、设有定义语句
"struct {int x;int y;}d[2]={{1,3},{2,7}};",
则printf("%d\n",d[0].y/d[0].x*d[1].x);的输出结果是
A) 0 B) 1
C) 3 D) 6
D
13、若有如下定义
union {long x[2];int y[4];char z[8];}them;
则printf("%d\n",sizeof(them));的输出是sizeof是什么
A) 32 B) 16
C) 8 D) 24
C
14、若有如下定义,则对data中的a成员的正确引用是
struct sk {int a;float b;}data,*p=&data;
A) (*p).data.a B) (*p).a
C) p->data.a D) p.data.a
B
15、若有以下说明和定义语句,则变量w在内存中所占的字节数是
union aa {float x;float y;char c[6];};
struct st {union aa v;float w[5];double ave;}w;
A) 42 B) 34
C) 30 D) 26
B
16、若有变量定义语句
union {long x[2];short y[4][5];char[10];}u1;
则表达式sizeof(u1)的值是
A) 8 B) 10
C) 40 D) 58
C
17、下列程序的输出结果是:
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
B
18、变量a所占的内存字节数是
union U
{char st[4];
int i;
long l;
};
struct A
{int c;
union U u;
}a;
A) 4 B) 5
C) 6 D) 8
C
19、以下对结构体类型变量的定义中,不正确的是:
A) typedef struct aa B) #define AA struct aa
{int n; AA{int n;
float m; float m;
}AA; }td1;
AA td1;
C) struct D) struct
{int n; { int n;
float m; float m;
}aa; }td1;
struct aa td1;
C
20、以下程序的输出结果是
main()
{union {char i[2];
int k;
}r;
r.i[0]=2;r.i[1]=0;
printf("%d\n",r.k);
}
A) 2 B) 1
C) 0 D) 不确定
D
21、变量a所占内存字节数是
union U
{char st[4];int i;long l;};
srruct A
{int c;union U u;}a;
A) 4 B) 5
C) 6 D) 8
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论