2022年自学考试《C语言程序设计》习题及答案16
【1.76】已知:int x[]={1,3,5,7,9,11},*ptr=x;则能够正确引用数组元素的语句是。
A)x B)*(ptr--)C)x[6]D)*(--ptr)
【1.77】函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是。
A)funa(int*x,int*y)B)funb(int x,int y)
{int*p;{int t;
p=x;*x=*y;*y=*p;t=x;x=y;y=t;
}}
C)func(int*x,int*y)D)func(int*x,int*y)
{*x=*y;*y=*x;{*x=*x+*y;*y=*x-*y;*x=*x-*y;
}}
【1.78】有定义如下:
struct sk
{int a;
float b;
}data,*p;
如果p=&data;则对于结构变量data的成员a的正确引用是____。
A)(*).data.a B)(*p).a C)p->data.a D)p.data.a
【1.79】已知:
struct st
{int n;
struct st*next;
};
static struct st a[3]={1,&a[1],3,&a[2],5,&a[0]},*p;
如果下述语句的显示是2,则对p的赋值是____。
printf('%d',++(p->next->n));
A)p=&a[0];B)p=&a[1];C)p=&a[2];D)p=&a[3];
【1.80】已知:
struct person
{char name[10];
int age;
}class[10]={'LiMing',29,'ZhangHong',21,'WangFang',22};
下述表达式中,值为72的一个是____。
A)class[0]->age+class[1]->age+class[2]->age
B)class[1].name[5]
C)person[1].name[5]
D)clase->name[5]
【参考答案】
【1.76】答案:B
【1.77】答案:D
注释:答案D是另一种交换两个变量值的算法。
【1.78】答案:B
【1.79】答案:C
注释:使用C对p进行赋值,则p->next是a[0]的地址,引用其成员n再做前增1运算,结果就是2。
【1.80】答案:B
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: