预处理与存储类别.ppt_第1页
预处理与存储类别.ppt_第2页
预处理与存储类别.ppt_第3页
预处理与存储类别.ppt_第4页
预处理与存储类别.ppt_第5页
已阅读5页,还剩29页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lesson7预处理与存储类别 mtysoft 带参数的宏3 1 2004 4 38 以下程序的运行结果是 defineF x x xmain inti1 i2 i1 F 8 F 4 i2 F 4 4 F 2 2 printf d d n i1 i2 64 28 i1 x x x x i1 8 8 4 4 i2 x x x x i2 4 4 4 4 2 2 2 2 带参数的宏3 2 例 以下程序的运行结果是 defineF x x x main inti1 i2 i1 F 8 F 4 i2 F 4 4 F 2 2 printf d d n i1 i2 64 64 i1 x x x x i1 8 8 4 4 i2 x x x x i2 4 4 4 4 2 2 2 2 带参数的宏3 3 2005 9 33 以下程序的运行结果是 defineF x x x main inti1 i2 i1 F 8 F 4 i2 F 4 4 F 2 2 printf d d n i1 i2 4 3 i1 x x x x i1 8 8 4 4 i2 x x x x i2 4 4 4 4 2 2 2 2 函数和带参数的宏 有类型转换 无类型转换 有时间开销 执行效率高 变量占空间 参数是形式 传递数值 替换文本 运行时执行 编译时替换 intf intx inty returnx y defineF x y x y 函数 宏 编译预处理 编译预处理7 1 2007 9 15 以下程序的运行结果是 include defineM5 defineNM Mmain intk k N N 5 printf d n k 55 编译预处理7 2 2005 4 7 以下程序的运行结果是 defineS x 4 x x 1inti 6 j 8 printf d S i j 81 2004 4 16 设有以下定义 则选项中错误的是inta 3 floatb 5 doublec 3 14 defined6A a B b C c D d 编译预处理7 3 2010 3 35 以下程序的运行结果是 include defineSUB a a a main inta 2 b 3 c 5 d d SUB a b c printf d n d A 0B 12C 20D 10 编译预处理7 4 2006 9 43 以下程序的运行结果是 include defineN5 defineMN 1 defineF x x M main inti1 i2 i1 F 2 i2 F 1 1 printf d d n i1 i2 11 7 编译预处理7 5 2009 9 35 以下程序的运行结果是 defineF x x x xmain inta 3 s t s F a 1 t F a 1 printf d d s t A 10 64B 10 10C 64 10D 64 64 编译预处理7 6 2007 4 43 名为init txt的文件 内容如下 defineHDY A B A B definePRINT Y printf y d n Y 以下程序的运行结果是 includemain inta 1 b 2 c 3 d 4 k k HDY a c b d PRINT k y 6 编译预处理7 7 2009 3 36 以下程序的运行结果是 include definePT3 5 defineS x PT x x main inta 1 b 2 printf 4 1f n S a b A 14 0B 31 5C 7 5D 程序有错 无输出结果 编译预处理9 1 例 以下叙述中正确的是A 无参宏是用一个简单的名字代替一个数值B 在源文件的一行上可以有多条预处理命令C include命令只能包含库文件D 宏替换不占用程序的运行时间 2008 9 26 以下叙述中正确的是A 宏名必须用大写字母表示B 宏定义必须位于源程序中所有语句之前C 宏替换没有数据类型限制D 宏调用比函数调用耗费时间 编译预处理9 2 2008 4 28 以下叙述中错误的是A 凡是以 开始的语句行都是预处理命令行B 预处理命令行的最后不能以分号表示结束C defineMAX是合法的宏定义命令行D 预处理是在程序执行的过程中进行的 2006 4 49 以下叙述中正确的是A 预处理命令行必须位于C源程序的起始位置B 在C语言中 预处理命令行都以 开头C 每个程序必须包含 includeD 预处理不能实现宏定义和条件编译的功能 用宏判断闰年 填空实现程序的功能 带参数的宏LEAP用于判断年份y是否为闰年 defineLEAP y main intyear scanf d y 4 0 y 100 0 y 400 0 变量存储类别 例 以下程序的运行结果是voidfun autointi 0 i printf d i main fun fun fun auto自动变量 1 0 i 栈 1 1 1 例 以下程序的运行结果是voidfun staticinti 0 i printf d i main fun fun fun static静态变量 1 0 i 栈 1 2 3 堆 2 3 例 以下程序的运行结果是intf ints staticinta s a returns main inta 3 s 0 s f a s f a printf d d n a s 静态变量9 1 3 7 静态变量9 2 2010 3 34 以下程序的运行结果是intfun staticintx 1 x 2 returnx main inti s 1 for i 1 i 2 i s fun printf d s 4 静态变量9 3 2010 9 36 以下程序的运行结果是intfun staticintx 1 x 1 returnx main inti s 1 for i 1 i 5 i s fun printf d s 21 静态变量9 4 2008 9 11 以下程序的运行结果是intfun intx staticintt 0 returnt x main ints i for i 1 i 5 i s fun i printf d s 15 静态变量9 5 2006 9 27 以下程序的运行结果是fun intx inty staticintm 0 i 2 i m 1 m i x y returnm main intj 1 m 1 k k fun j m printf d k k fun j m printf d n k 5 11 静态变量9 6 2009 9 34 以下程序的运行结果是intf intn staticinta 1 n a returnn main inta 3 s s f a s s f a printf d n s 9 静态变量9 7 2005 4 16 以下程序的运行结果是fun inta intb 0 staticintc 3 b c returna b c main inti a 5 for i 0 i 3 i printf d d i fun a 0 10 1 11 2 12 静态变量9 8 2007 4 42 以下程序的运行结果是inta 4 intf intn intt 0 staticinta 5 if n 2 inta 6 t a else inta 7 t a returnt a main ints a s f 0 s f 1 printf d s 28 静态变量9 9 2005 9 45 以下程序的运行结果是inta 2 intf intn staticinta 3 intt 0 if n 2 staticinta 4 t a else staticinta 5 t a returnt a main ints a s f 0 s f 1 s f 2 printf d s 29 变量作用域与生存期 auto register static extern 全局 局部 静态 动态 变量存储类别3 1 2009 3 12 若函数中有定义语句 intk 则A 系统将自动给k赋初值0B 这时k中的值无意义C 系统将自动给k赋初值 1D 这时k中无任何值 2009 3 34 函数中有整型变量n 为使其在未赋初值的情况下初值为0 应选择的存储类别是A autoB registerC staticD auto或register 变量存储类别3 2 例 以下叙述中正确的是A 全局变量的作用域一定比局部变量的作用域范围大B static变量的生存期贯穿于整个程序运行期间C 函数的形参都属于全局变量D 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 变量存储类别3 3 2004 9 39 以下叙述中正确的是A 局部变量说明为static类别 其生存期将得到延长B 全局变量说明为sta

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论