



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编译预处理习题1. 一.单项选择题在宏定义#defineA3.897678中,宏名A代替一个()。2. A)单精度数B)双精度数C)常量D)字符串以下叙述中正确的是A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令3. C)宏名必须用大写字母表示D)宏替换不占用程序的运行时间C语言的编译系统对宏命令的处理()。A) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行的4. 在对源程序中其它语句正式编译之前进行的在文件包含预处理语句的中,被包含文件名用“<>”括起时,寻找被包含文件的方式是()。A)直接按系统设定的标准方式搜索目录B
2、)先在源程序所在目录搜索,再按系统设定的标准方式搜索C)仅仅在源程序所在目录搜索5. D)仅仅搜索当前目录以下说法中正确的是A)#define和printf都是C语句B)#define是C语句,而printf不是6. C)printf是C语句,但#define不是D)#define和printf都不是C语句#defineA3.897678#include<stdio.h>main()printf("A=%f",A);程序运行结果为()。A)3.897678=3.897678B)3.897678=AC)A=3.897678D)无结果有宏定义:#defineLI(a
3、,b)a*b#defineLJ(a,b)(a)*(b)在后面的程序中有宏引用:x=LI(3+2,5+8);y=LJ(3+2,5+8);则x、y的值是()。7. A)x=65,y=65B)x=21,y=65C)x=65,y=21D)x=21,y=21有以下程序#definef(x)(x*x)main()inti1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf("%d,%dn”,i1,i2);程序运行后的输出结果是A) 64,28B) 4,4C) 4,3D) 64,64以下程序的输出结果是#defineM(x,y,z)x*y+zmain()inta=1,
4、b=2,c=3;printf("%dn”,M(a+b,b+c,c+a);10 A)19B)17C)15D)12.有以下程序# defineN5# defineM1N*3# defineM2N*2main()# inti;i=M1+M2;printf("dn”,i);程序编译后运行的输出结果是:A)10B)20C)25D)30.有如下程序defineN2defineMN+1defineNUM2*M+1#main()inti;for(i=1;i<=NUM;i+)printf("%dn",i);该程序中的for循环执行的次数是12 A)5B)6C)7D)
5、8.位运算是对运算对象按二进制位进行操作的运算,运算的对象是数据,以的形式参与运算。13 A)整型原码B)整型补码C)数值原码D)数值补码.在位运算中,若左移时丢弃的高位不包含1,则每左移一位,相当于。14 A)操作数乘以2B)操作数除以2C)操作数除以4D)操作数乘以4.设intb=8;表达式(b>>2)/(b>>1)的值是。15 A)0B)2C)4D)8.若定义unsignedinta=3,b=10;printf("%dn",a<<2|b=1);则运行结果为。1. A)13B)12C)8D)14二.填空题C提供的预处理功能主要有宏定义
6、、文件包含、条件编译等三种。2. C规定预处理命令必须以#开头。3. 在预编译时将宏名替换成宏定义中的“字符串”的过程称为宏展开。4. 预处理命令不是C语句,不必在行末加;。5. 以头文件stdio.h为例,文件包含的两种格式为:_#includestdio.h_,_#6. include"stdio._。”定义宏的关键字是define。7. 设有如下运算符:&|、人,则按优先级由低到高的排列顺序为_、&人、|。8. 设二进制数i为00101101,若通过运算“咫”,使i的高4位取反低4位不变,则二进制数j的值应为_11110000。9. 设无符号整型变量a为6,b为
7、3,则表达式b&=a的值为2。10. 整型变量x和y的值相等且为非0值,则表达式xAy的结果为零。1. 二、阅读程序题以下程序输出结果是150。# includestdio.h# defineMAX(x,y)(x)(y)?(x):(y)main()inti,z,k;z=15;i=z-5;k=10*(MAX(i,z);printf("%dn",k);2. )以下程序输出结果是23。# includestdio.h# defineADD(y)3.54+y# definePR(a)printf("%d,(int)(a)# definePR1(a)PR(a);pu
8、tchar('n')main()inti=4;PR1(ADD(5)*i);3. )设有如下宏定义:#defineMYSWAP(z,x,y)z=x;x=y;y=z;以下程序段通过宏调用实现变量a、b内容交换,请填空。4. floata=5,b=16,c;MYSWAP(c,a,b);下列程序的输出结果是100010。5. #defineN10#defines(x)x*x#definef(x)(x*x)%d%dn”,i1,i2);main()inti1,i2;i1=1000/s(N);i2=1000/f(N);printf(以下程序输出结果是82012。main()intb=5;#d
9、efineb2#definef(x)b*(x)inty=3;printf("d”,f(y+1);#undefbprintf("d”,f(y+1);#defineb3printf("dn”,f(y+1);6. 下列程序的输出结果是J1。#defineNX2+3#defineNYNX*NXmain()7. inti=0,m=0;for(;i<NY;i+)m+;printf("%dn",m);下列程序的输出结果是MINo#defineMAX(a,b)a>b#defineEQU(a,b)a=b#defineMIN(a,b)a<bmai
10、n()8. inta=5,b=6;if(MAX(a,b)printf("MAXn”);if(EQU(a,b)printf("EQUn”);if(MIN(a,b)printf("MINn");下列程序的输出结果是011Q#defineTESTmain()intx=0,y=1,z;z=2*x+y;#ifdefTESTprintf("%d%d”,x,y);#endifprintf("n",z);三.编程题1,定义一个带参的宏,求两个整数的余数。通过宏调用,输出求得的结果。#defineR(m,n)(m)%(n)#include&l
11、t;stdio.h>voidmain()intm,n;printf("entertwointegers:n");scanf("%d%d",&m,&n);printf("remainder=%dn",R(m,n);)2,分别用函数和带参的宏,从3个数中找出最大者。#include<stdio.h>#defineMAX(a,b)(a)>(b)?(a):(b)/implementationbyMACROintmax3(inta,intb,intc)/implementationbyfunctionin
12、tm;m=a>b?a:b;m=m>c?m:c;returnm;)voidmain()intm,n,k;printf("enter3integer:n");scanf("%d%d%d",&m,&n,&k);printf("1.MACROmax=%dn",MAX(MAX(m,n),k);printf("2.functionmax=%dn",max3(m,n,k);)3,输入一个整数m判断它能否被3整除。要求利用带参的宏实现。#include<stdio.h>#defineDIVIDEDBY3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专职导游合同范例
- 出口订客合同范例
- 出售房屋装修合同范例
- 俱乐部招人合同范例
- 上海消防检测合同范例
- 写字楼居间代理合同范例
- 于都租房合同范例
- 上海市健身会员合同范例
- 出售古建杉木木材合同范例
- 光环美业转让合同范例
- JGJ196-2010建筑施工塔式起重机安装、使用、拆卸安全技术规程
- 教师专业发展第2章 理想教师的专业形象
- 监狱餐厅承包协议
- 100以内两位数进位加法退位减法计算题-(直接打印版)
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- 数字孪生+智慧楼宇解决方案-
- 大学生家族史范文3000字
- -辽宁省沈阳市大东区2023-2024学年七年级下学期期末数学试卷
- DZ∕T 0173-2022 大地电磁测深法技术规程(正式版)
- 小古文100篇074-《鹿照水》
- 2023年云南烟草专卖局招聘考试真题及答案
评论
0/150
提交评论