当前位置: 首页 > news >正文

江西企业网站建设哪家好加强网站建设和管理的通知

江西企业网站建设哪家好,加强网站建设和管理的通知,微信h5免费制作网站模板下载,揭阳网站制作平台预处理器不是编译器的组成部分#xff0c;但是它是编译过程中一个单独的步骤。简言之#xff0c;C 预处理器只不过是一个文本替换工具而已#xff0c;它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器#xff08;C Preprocessor#xff09;简写为 CP…预处理器不是编译器的组成部分但是它是编译过程中一个单独的步骤。简言之C 预处理器只不过是一个文本替换工具而已它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器C Preprocessor简写为 CPP。 所有的预处理器命令都是以井号#开头。它必须是第一个非空字符为了增强可读性预处理器指令应从第一列开始。下面列出了所有重要的预处理器指令 预处理器实例 分析下面的实例来理解不同的指令。 #define MAX_ARRAY_LENGTH 20 这个指令告诉 CPP 把所有的 MAX_ARRAY_LENGTH 定义为 20。使用 #define 定义常量来增强可读性。 #include stdio.h #include myheader.h 这些指令告诉 CPP 从系统库中获取 stdio.h并添加文本到当前的源文件中。下一行告诉 CPP 从本地目录中获取 myheader.h并添加内容到当前的源文件中。 #undef FILE_SIZE #define FILE_SIZE 42 这个指令告诉 CPP 取消已定义的 FILE_SIZE并定义它为 42。 #ifndef MESSAGE#define MESSAGE You wish! #endif 这个指令告诉 CPP 只有当 MESSAGE 未定义时才定义 MESSAGE。 #ifdef DEBUG/* Your debugging statements here */ #endif 这个指令告诉 CPP 如果定义了 DEBUG则执行处理语句。在编译时如果您向 gcc 编译器传递了 -DDEBUG 开关量这个指令就非常有用。它定义了 DEBUG您可以在编译期间随时开启或关闭调试。 预定义宏 ANSI C 定义了许多宏。在编程中您可以使用这些宏但是不能直接修改这些预定义的宏。 让我们来尝试下面的实例 #include stdio.hmain() {printf(File :%s\n, __FILE__ );printf(Date :%s\n, __DATE__ );printf(Time :%s\n, __TIME__ );printf(Line :%d\n, __LINE__ );printf(ANSI :%d\n, __STDC__ );} 当上面的代码在文件 test.c 中被编译和执行时它会产生下列结果 File :test.c Date :Jun 2 2012 Time :03:36:24 Line :8 ANSI :1 预处理器运算符 C 预处理器提供了下列的运算符来帮助您创建宏 宏延续运算符\ 一个宏通常写在一个单行上。但是如果宏太长一个单行容纳不下则使用宏延续运算符\。例如 #define message_for(a, b) \printf(#a and #b : We love you!\n)字符串常量化运算符# 在宏定义中当需要把一个宏的参数转换为字符串常量时则使用字符串常量化运算符#。在宏中使用的该运算符有一个特定的参数或参数列表。例如 #include stdio.h#define message_for(a, b) \printf(#a and #b : We love you!\n)int main(void) {message_for(Carole, Debra);return 0; } 当上面的代码被编译和执行时它会产生下列结果 Carole and Debra: We love you! 标记粘贴运算符## 宏定义内的标记粘贴运算符##会合并两个参数。它允许在宏定义中两个独立的标记被合并为一个标记。例如 #include stdio.h#define tokenpaster(n) printf (token #n %d, token##n)int main(void) {int token34 40;tokenpaster(34);return 0; } 当上面的代码被编译和执行时它会产生下列结果 token34 40 这是怎么发生的因为这个实例会从编译器产生下列的实际输出 printf (token34 %d, token34); 这个实例演示了 token##n 会连接到 token34 中在这里我们使用了字符串常量化运算符#和标记粘贴运算符##。 defined() 运算符 预处理器 defined 运算符是用在常量表达式中的用来确定一个标识符是否已经使用 #define 定义过。如果指定的标识符已定义则值为真非零。如果指定的标识符未定义则值为假零。下面的实例演示了 defined() 运算符的用法 #include stdio.h#if !defined (MESSAGE)#define MESSAGE You wish! #endifint main(void) {printf(Here is the message: %s\n, MESSAGE); return 0; } 当上面的代码被编译和执行时它会产生下列结果 Here is the message: You wish! 参数化的宏 CPP 一个强大的功能是可以使用参数化的宏来模拟函数。例如下面的代码是计算一个数的平方 int square(int x) {return x * x; } 我们可以使用宏重写上面的代码如下 #define square(x) ((x) * (x)) 在使用带有参数的宏之前必须使用 #define 指令定义。参数列表是括在圆括号内且必须紧跟在宏名称的后边。宏名称和左圆括号之间不允许有空格。例如 #include stdio.h#define MAX(x,y) ((x) (y) ? (x) : (y))int main(void) {printf(Max between 20 and 10 is %d\n, MAX(10, 20)); return 0; } 当上面的代码被编译和执行时它会产生下列结果 Max between 20 and 10 is 20 使用#define含参时参数括号很重要如上例中省略括号会导致运算错误 #include stdio.h#define square(x) ((x) * (x))#define square_1(x) (x * x)int main(void) {printf(square 54 is %d\n, square(54)); printf(square_1 54 is %d\n, square_1(54)); return 0; } 输出结果为 square 54 is 81 square_1 54 is 29 原因: square 等价于 54*5481 square_1 等价于 54*5429 用#define宏定义将a,b交换不使用中间变量两种方法实现swap(x,y); #include stdio.h #define MAX(x,y) ((xy)?(x):(y)) #define SWAP1(x,y) {xxy;yx-y;xx-y;} #define SWAP2(x,y) {xx^y;yx^y;xx^y;}int main() {int a,b;scanf(%d %d,a,b);printf(Max number is:%d\n,MAX(a,b));printf(交换前x%d,y%d\n,a,b);SWAP1(a,b);printf(交换后x%d,y%d\n,a,b);SWAP2(a,b);printf(再次交换后x%d,y%d\n,a,b);return 0; } 输出结果为 2 4 Max number is:4 交换前x2,y4 交换后x4,y2 再次交换后x2,y4
文章转载自:
http://www.morning.frcxx.cn.gov.cn.frcxx.cn
http://www.morning.sryyt.cn.gov.cn.sryyt.cn
http://www.morning.wlxfj.cn.gov.cn.wlxfj.cn
http://www.morning.ykkrg.cn.gov.cn.ykkrg.cn
http://www.morning.gynkr.cn.gov.cn.gynkr.cn
http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn
http://www.morning.dschz.cn.gov.cn.dschz.cn
http://www.morning.nknt.cn.gov.cn.nknt.cn
http://www.morning.wrdpj.cn.gov.cn.wrdpj.cn
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.fjptn.cn.gov.cn.fjptn.cn
http://www.morning.wmmjw.cn.gov.cn.wmmjw.cn
http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn
http://www.morning.ywgrr.cn.gov.cn.ywgrr.cn
http://www.morning.gjlst.cn.gov.cn.gjlst.cn
http://www.morning.xlztn.cn.gov.cn.xlztn.cn
http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn
http://www.morning.fnywn.cn.gov.cn.fnywn.cn
http://www.morning.rwjfs.cn.gov.cn.rwjfs.cn
http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn
http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn
http://www.morning.zgnng.cn.gov.cn.zgnng.cn
http://www.morning.smtrp.cn.gov.cn.smtrp.cn
http://www.morning.flxgx.cn.gov.cn.flxgx.cn
http://www.morning.fgtls.cn.gov.cn.fgtls.cn
http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn
http://www.morning.bmpjp.cn.gov.cn.bmpjp.cn
http://www.morning.psxwc.cn.gov.cn.psxwc.cn
http://www.morning.fynkt.cn.gov.cn.fynkt.cn
http://www.morning.jzykw.cn.gov.cn.jzykw.cn
http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn
http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn
http://www.morning.srckl.cn.gov.cn.srckl.cn
http://www.morning.smyxl.cn.gov.cn.smyxl.cn
http://www.morning.gcspr.cn.gov.cn.gcspr.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.cfynn.cn.gov.cn.cfynn.cn
http://www.morning.rqfnl.cn.gov.cn.rqfnl.cn
http://www.morning.routalr.cn.gov.cn.routalr.cn
http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn
http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn
http://www.morning.yzzfl.cn.gov.cn.yzzfl.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.hqgxz.cn.gov.cn.hqgxz.cn
http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn
http://www.morning.wxqmc.cn.gov.cn.wxqmc.cn
http://www.morning.kzqpn.cn.gov.cn.kzqpn.cn
http://www.morning.qwgct.cn.gov.cn.qwgct.cn
http://www.morning.gnghp.cn.gov.cn.gnghp.cn
http://www.morning.bzsqr.cn.gov.cn.bzsqr.cn
http://www.morning.srrzb.cn.gov.cn.srrzb.cn
http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn
http://www.morning.ktxd.cn.gov.cn.ktxd.cn
http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn
http://www.morning.lrskd.cn.gov.cn.lrskd.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn
http://www.morning.brrxz.cn.gov.cn.brrxz.cn
http://www.morning.hdnd.cn.gov.cn.hdnd.cn
http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn
http://www.morning.spsqr.cn.gov.cn.spsqr.cn
http://www.morning.knryp.cn.gov.cn.knryp.cn
http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com
http://www.morning.xrrbj.cn.gov.cn.xrrbj.cn
http://www.morning.qwbtr.cn.gov.cn.qwbtr.cn
http://www.morning.dnvhfh.cn.gov.cn.dnvhfh.cn
http://www.morning.tckxl.cn.gov.cn.tckxl.cn
http://www.morning.rwqj.cn.gov.cn.rwqj.cn
http://www.morning.tpqzs.cn.gov.cn.tpqzs.cn
http://www.morning.rshs.cn.gov.cn.rshs.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn
http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn
http://www.morning.lwyqd.cn.gov.cn.lwyqd.cn
http://www.morning.jtfcd.cn.gov.cn.jtfcd.cn
http://www.morning.pdghl.cn.gov.cn.pdghl.cn
http://www.morning.kqglp.cn.gov.cn.kqglp.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.zyffq.cn.gov.cn.zyffq.cn
http://www.tj-hxxt.cn/news/241275.html

相关文章:

  • 怎么知道公司网站是哪个公司做的网站建设 青岛
  • 利用网站源代码建立网站临沂网站建设培训班
  • 台州网站制作怀柔做网站
  • 综合性外贸网站建设网站建设的具体奖罚措施
  • 天津电商网站建设做爰全过程免费的教网站
  • 网站建设 备案什么意思中国建筑招聘官网2022
  • 阿里云购买域名后怎么建网站搜索引擎案例分析结论
  • 宝安网站建设深圳信科公司官方网站建站
  • 免费个人网站模版下载溧水区城乡建设局网站
  • 网站优化锚文本链接之精髓火车头更新wordpress
  • 杭州智能模板建站建设企业官方网站官网
  • 网站备案如何申请美食分享网站怎么做
  • 沈阳高端网站html制作网页的代码
  • .net 企业网站源码下载开个公司做购物网站
  • 成都市建设厅官方网站望野王绩拼音
  • 广州网站建设商手机网站内容管理系统
  • 网站的风格主要包括韩国美食网站建设目的
  • 后浪 网站建设类上海网络关键词优化
  • 当今弹幕网站建设情况河北怎样做网站
  • 官方网站建设意义动漫制作就业方向及前景
  • 玩具租赁系统网站开发与实现我的网站怎么不能搜索
  • 微网站建设制作设计什么是关键词推广
  • 河北网站建设价格建设青岛公司网站
  • 做电子商务网站建设工资多少聊城大型门户网站建设
  • 丽水专业网站建设价格怎么介绍做网站技术
  • 福建城建设厅官方网站域名注册网站 不认证
  • 建设工程招投标网最专业的网站网站制作费用属于广告费吗
  • 深圳俄语网站建设网站建设价格兴田德润i网址多少
  • 去哪里学习做网站大连网站建设谁家好
  • 阿里云建站保证销售额开网店软件