首页 理论教育 C语言实践教程:往联合成员数组写入字符串

C语言实践教程:往联合成员数组写入字符串

时间:2023-11-01 理论教育 版权反馈
【摘要】:②在程序中,往联合成员数组str中写入字符串,然后按照结构成员类型来理解,显然un.ch.c1表示字符‘T’。

C语言实践教程:往联合成员数组写入字符串

1.写出下面程序的运行结果,然后上机验证。

提示与分析:

在VC中,short类型有2个字节,即16bit来描述。将十进制的266转换成二进制:00000001 00001010。考虑到联合的性质,按整数的方式输出两个字节。如果高字节放在高地址,就会输出1,10;否则,会输出10,1。请上机验证。

2.写出下面程序的运行结果,然后上机验证。

提示与分析:

① 联合中嵌套结构体,联合中的两个成员不能同时存在,通常往一个联合成员变量中写入数据后,也通过访问该成员变量来获取数据。但也可以往一个联合成员变量中写数据,然后读另外一个成员变量,这样做是合法的,表示将这块内存的二进制信息按另一种类型来理解。

② 在程序中,往联合成员数组str中写入字符串,然后按照结构成员类型来理解,显然un.ch.c1表示字符‘T’。可以用图示的方法帮助理解。

3.编写程序,模拟“剪刀石头布”游戏。定义枚举变量:

enum gest{ SCISSOR, STONE, CLOTH };

4.下面程序的功能是取出正整数n从右端开始的4~7位,请填空并运行该程序。(www.xing528.com)

提示与分析:

先将n右移4位,于是4~7位移到右端,然后与一个低4位全为1、其余位全为0的数0x000f进行按位与运算。

5.编写程序,统计一个无符号数的二进制表示中1的个数.

提示与分析:

函数的原型:int countBit(unsigned int x)。

6.编写程序,对一个32个的无符号数做循环右移。循环右移是将低位移出的部分再补到高位去,例如:将0XAF12BBDD,循环右移4位的值为0XDAF12BBD。

提示与分析:

函数的原型:unsigned int rotateRight(unsigned int x, int n);

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈