欢迎您访问浙江自考网!网站为考生提供浙江自考信息服务,供学习交流使用,非政府官方网站,官方信息以浙江省招生考试院为准 登录  网站导航

浙江自考网

自考热线:16657169113

自考办电话 | 在线提问 | 公众号

2024年4月浙江自考《C语言程序设计》每日一练(17)

编辑整理:浙江自考网 发表时间:2024-01-17   【

【1.81】已知:

struct

{int i;

char c;

float a;

}test;

则sizeof(test)的值是。

A)4 B)5 C)6 D)7


【1.82】已知:

union

{int i;

char c;

float a;

}test;

则sizeof(test)的值是。

A)4 B)5 C)6 D)7


【1.83】已知:

union u_type

{int i;

char ch;

float a;

}temp;

现在执行'temp.i=266;printf('%d',temp.ch)'的结果是。

A)266 B)256 C)10 D)1


【1.84】若有以下程序段:

struct dent

{int n;

int*m;

};

int a=1,b=2,c=3;

struct dent s[3]={{101,&a},{102,&b},{103,&c}};

struct dent*p=s;

则以下表达式中值为2的是。

A)(p++)->m B)*(p++)->m C)(*p).m D)*(++p)->m


【1.85】若有以下说明语句,则对结构变量pup中sex域的正确引用是。

struct pupil

{char name[20];

int sex;

}pup,*p;

p=&pup;

A)p.pup.sex B)p->pup.sex C)(*p).pup.sex D)(*p).sex


【参考答案】

【1.81】答案:D

【1.82】答案:A

【1.83】答案:C

注释:联合变量temp的成员是占用同一存储单元,它的长度是4个字节。266的二进制表示是100001010,存放在存储单元的低端两个字节,如下图:

高字节

0 0 0 0 0 0 0 1

低字节0 0 0 0 1 0 1 0

引用temp.ch进行输出,只取最低的第一个字节。

【1.84】答案:D

注释:由于结构指针指向了结构数组的0号元素,所以表达式(p++)->m的含义是先取出m(变量a的地址),然后指针p加1。表达式*(p++)->m的含义是先取出m的内容(变量a的值),然后指针p再加1。表达式(*p).m的含义是取出m(变量a的地址)。表达式*(++p)->m的含义是先将指针p加1,然后再取m的内容(变量b的值)。

【1.85】答案:D





浙江自考网课程中心

浙江自考网声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。

浙江自考便捷服务

浙江自考网微信交流群