- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
位域、联合、枚举、定义类型及预处理功能题库
第八章 位域、联合、枚举、定义类型及预处理功能
一、选择题
1.有以下程序
#include stdio.h
#define f(x) (x*x)
void main()
{
int i1, i2;
i1=f(8)/f(4) ;
i2=f(4+4)/f(2+2);
printf(%d, %d\n,i1,i2);
}程序运行后的输出结果是______。
A)64, 28 B)4, 4 C)4, 3 D)64, 64
有以下程序
#include stdio.h
#define P 3
void F(int x){return(P*x*x);}
main()
{
printf(%d\n,F(3+5));
}
程序运行后的输出结果是______。
A)192 B)29 C)25 D)编译出错
以下叙述中正确的是______。
A)预处理命令行必须位于源文件的开头
B)在源文件的一行上可以有多条预处理命令
C)宏名必须用大写字母表示
D)宏替换不占用程序的运行时间
若有以下说明和定义
union dt {int a;char b;double c;}data;
以下叙述中错误的是______。
A)data的每个成员起始地址都相同
B)变量data所占的内存字节数与成员c所占字节数相等
C)程序段:data.a=5;printf(%f\n,data.c);输出结果为5.000000
D)data可以作为函数的实参
有以下程序:#includestdio.h
union pw
{
int i;
char ch[2];
}a;
void main()
{
a.ch[0]=13;
a.ch[1]=0;
printf(%d\n,a.i);
}
程序的输出结果是。(注意: ch[0]在低字节,ch[1]在高字节。) A) 13 B) 14 C) 208 D) 209
答案:A
6. 设有如下枚举类型定义:enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举量Fortran的值为 A) 4 B) 7 C) 102 D) 103
答案:C
7. 下面程序的输出是A) 32 B) 16 C) 8 D) 24
#include stdio.h
typedef union {
long x[2];
int y[4];
char z[8];
}MYTYPE;
MYTYPE them;
void main()
{
printf(%d\n, sizeof(them));
}
答案:B
8.字符0的ASCII码的十进制数为48,且数组的第0个元素在低位,则以下程序的输出结果是#include stdio.h
void main()
{
union
{
int i[2];
long k;
char c[4];
}r,*s=r;
s-i[0]=0x39;
s-i[1]=0x38;
printf(%c\n,s-c[0]);
}
A) 39 B) 9 C) 38 D) 8答案:B
9.以下对枚举类型名的定义中正确的是A)enum a={one,two,three}; B)enum a {one=9,two=1,three};C)enum a={one,two,three}; D)enum a {one,two,three};
答案:B
10.以下程序的输出结果是#include stdio.h
union myun
{
struct
{
int x, y, z;
} u;
int k;
} a;
void main()
{
a.u.x=4; a.u.y=5; a.u.z=6; a.k=0;
printf(%d\n,a.u.x);
}
A) 4 B) 5 C) 6 D) 0
答案:D
11.有以下程序#include stdio.h
void main()
{
union
{
unsigned int n;
unsigned char c;
}u1;
u1.c=A;
printf(%c\n,u1.n);
}
执行后输出结果是A) 产生语法错 B) 随机值 C) A D) 65
答案:A
12.若有以下说明和定义union dt
{
int a;
char b;
double c;
}data;
以下叙述中错误的是______。A)data的每个成员起始地址都相同B)变量data所
文档评论(0)