C语言第八章编译预处理答案,c语言第8章 编译预处理及位运算习题答案

A)13 B)12 C)8 D)14

二.填空题

1.C提供的预处理功能主要有__宏定义____、__文件包含____、___条件编译__等三种。

2.C规定预处理命令必须以____#______开头。

3.在预编译时将宏名替换成____宏定义中的“字符串”___的过程称为宏展开。

4.预处理命令不是C语句,不必在行末加______;_____。

5.以头文件stdio.h为例,文件包含的两种格式为:_ # include〈stdio.h〉_,_#

include”stdio.h”_。

6.定义宏的关键字是___define______。

7.设有如下运算符:&、|、~、<>、^,则按优先级由低到高的排列顺序为_~、<>、

&、^、|______。

8.设二进制数i为00101101,若通过运算“i^j”,使i的高4位取反低4位不变,则

二进制数j的值应为__11110000____。

9.设无符号整型变量a为6,b为3,则表达式b&=a的值为____2____。

10.整型变量x和y的值相等且为非0值,则表达式x^y的结果为____零____。

二、阅读程序题

1.以下程序输出结果是150。

# include〈stdio.h〉

# define MAX(x,y) (x)>(y)?(x):(y)

main()

{int i,z,k;

z=15;

i=z-5;

k=10*(MAX(i,z));

printf(“%d\n”,k);

}

2.以下程序输出结果是23 。

# include〈stdio.h〉

# define ADD(y) 3.54+y

# define PR(a) printf(“%d”,(int)(a))

# define PR1(a) PR(a);putchar(‘\n’)

main()

{int i=4;

PR1(ADD(5)*i);

}

3.设有如下宏定义:

#define MYSWAP(z,x,y) {z=x;x=y;y=z;}

以下程序段通过宏调用实现变量a、b内容交换,请填空。

float a=5,b=16,c;MYSWAP( c ,a,b);

4.下列程序的输出结果是1000 10。

#define N 10

#define s(x) x*x

#define f(x) (x*x)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值