c语言第8章编译预处理及位运算习题答案.docVIP

c语言第8章编译预处理及位运算习题答案.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 3 编译预处理习题 单项选择题 在宏定义#define A 3.897678中,宏名A代替一个( )。 A) 单精度数 B) 双精度数 C) 常量 D) 字符串 以下叙述中正确的是 A)预处理命令行必须位于源文件的开头 B)在源文件的一行上可以有多条预处理命令 C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间 C语言的编译系统对宏命令的处理( )。 A) 在程序运行时进行的 B) 在程序连接时进行的 C) 和C程序中的其它语句同时进行的 D) 在对源程序中其它语句正式编译之前进行的 在文件包含预处理语句的中,被包含文件名用“ ”括起时,寻找被包含文件的方式是( )。 A) 直接按系统设定的标准方式搜索目录 B) 先在源程序所在目录搜索,再按系统设定的标准方式搜索 C) 仅仅在源程序所在目录搜索 D) 仅仅搜索当前目录 以下说法中正确的是 A)#define和printf都是C语句 B)#define是C语句,而printf不是 C)printf是C语句,但#define不是 D)#define和printf都不是C语句 #define A 3.897678 #include stdio.h main( ) { printf(“A=%f ”,A); } 程序运行结果为( )。 A) 3.897678=3.897678 B) 3.897678=A C) A=3.897678 D) 无结果 有宏定义:#define LI(a,b) a*b #define LJ(a,b) (a)*(b) 在后面的程序中有宏引用:x=LI(3+2,5+8); y=LJ(3+2,5+8); 则x、y的值是( )。 A) x=65,y=65 B) x=21,y=65 C) x=65,y=21 有以下程序 # define f(x) (x*x) 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 以下程序的输出结果是 #define M(x,y,z) x*y+z main() { int a=1,b=2, c=3; printf(“%d\n”, M(a+b,b+c, c+a)); } A) 19 B) 17 C) 15 D) 12 有以下程序 #define N 5 #define M1 N*3 #define M2 N*2 main() { int i; i=M1+M2; printf(“%d\n”,i); } 程序编译后运行的输出结果是: A) 10 B) 20 C) 25 有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 #main() { int i; for(i=1;i=NUM;i++)printf(“%d\n”,i); } 该程序中的for循环执行的次数是 A) 5 B) 6 C) 7 位运算是对运算对象按二进制位进行操作的运算,运算的对象是____数据,以___的形式参与运算。 A) 整型 原码 B) 整型 补码 C)数值 原码 D) 数值 补码 在位运算中,若左移时丢弃的高位不包含1,则每左移一位,相当于_____。 A)操作数乘以2 B)操作数除以2 C)操作数除以4 D)操作数乘以4 设 int b=8;表达式(b2)/(b1)的值是________。 A) 0 B) 2 C) 4 D) 8 若定义unsigned int a=3,b=10; printf(%d\n,a2|b==1); 则运行结果为________。 A)13 B)12 C 二.填空题 C提供的预处理功能主要有__宏定义____、__文件包含____、___条件编译__等三种。 C规定预处理命令必须以____#______开头。 在预编译时将宏名替换成____宏定义中的“字符串”___的过程称为宏展开。 预处理命令不是C语句,不必在行末加______;_____。 以头文件stdio.h为例,文件包含的两种格式为:_ # include〈stdio.h〉_,_# incl

文档评论(0)

152****6253 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档