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

网站开发基本要求购物商城模板

网站开发基本要求,购物商城模板,网页微信版可以加入腾讯会议吗,建站宝盒后台对C语言有一定了解的同学#xff0c;相信对预处理一定不会陌生。今天我们就来聊一聊一些预处理的相关知识。预处理是在编译之前对源文件进行简单加工的过程#xff0c;主要是处理以#开头的命令#xff0c;例如#include stdio.h、#define等。预处理是C语言的一个重要…        对C语言有一定了解的同学相信对预处理一定不会陌生。今天我们就来聊一聊一些预处理的相关知识。预处理是在编译之前对源文件进行简单加工的过程主要是处理以#开头的命令例如#include stdio.h、#define等。预处理是C语言的一个重要功能在预处理阶段完成。当对一个源文件进行编译时系统将自动调用预处理程序对源程序中的预处理部分作处理处理完毕自动进入对源程序的编译。 ~~~正文开始~~~ 预定义符号 什么是预定义符号预定义符号是由编译器预先设置好的特殊标识符它们代表了特定的信息如编译器版本、目标平台信息、编译选项等。在C语言中 也设置了一些预定符号可以直接使用。 //常见的C语言预定义符号 __FILE__ //进⾏编译的源⽂件 __LINE__ //⽂件当前的⾏号 __DATE__ //⽂件被编译的⽇期 __TIME__ //⽂件被编译的时间 使用举例 int main() {printf(file:%s line:%d\n, __FILE__, __LINE__);//输出结果file:C:\Users\test.c line:269printf(date:%s time:%s\n, __DATE__, __TIME__);//输出结果date:Apr 2 2024 time:17:04:04return 0; } #define #define定义常量 //基本语法 #define name stuff 使用举例 //最常见的定义方式 #define MAX 1000 //为register这个关键字创建⼀个简短的名字。有点类似typedef #define reg register //⽤更形象的符号来替换⼀种实现(死循环) #define do_forever for(;;) //在写case语句的时候⾃动把 break写上。 #define CASE break;case //如果定义的 stuff过⻓可以分成⼏⾏写除了最后⼀⾏外每⾏的后⾯都加⼀个反斜杠(续⾏符)。 #define DEBUG_PRINT printf(file:%s\tline:%d\t \date:%s\ttime:%s\n ,\__FILE__,__LINE__ , \__DATE__,__FILE__) 思考一下为什么在define定义标识符的时候后面不加分号呢我们知道define定义的标识符在预处理阶段就会被替换如果加上分号就可能导致程序出错。比如 #define MAX 10; int main() {//替换之后printf(%d\n, 10;);//就会有语法错误printf(%d\n, MAX);return 0; } #define定义宏  #define 机制有⼀个规定允许把参数替换到⽂本中这种实现通常称为宏macro或定义宏(define macro)。 //宏的申明⽅式 #define name( parament-list ) stuff 注意参数列表的左括号必须与name紧邻如果两者之间有任何空白存在参数列表就会被解释为stuff的一部分。 使用举例 #define MUL(x) x * x int main() {printf(%d\n, MUL(5));//输出25return 0; } 上面的代码看上去是不是非常完美实际上存在了一个特别大的bug请看下面一段代码 #define MUL(x) x * x int main() {printf(%d\n, MUL(5 1));return 0; }这段代码的结果是多少呢36no no no实际上上面的代码会被替换成 printf(%d\n, 5 1 * 5 1);//结果为11 所以我们在使用宏的时候一定要注意应该把上面代码修改为 #define MUL(x) ((x) * (x))这样就可以得到我们想要的结果了所以用于对数值表达式进行求值的宏定义都应该用这种方式加上括号避免在使用宏时由于参数中的操作符或邻近操作符之间不可预料的相互作用。 宏与函数的对比 宏通常被应用于执行简单的运算。 和函数相比宏的优势 比如在两个数中找出较大的一个时写成下面的宏更有优势一些。 #define MAX(a, b) ((a)(b)?(a):(b)) 优势有二 用于调用函数和从函数返回的代码可能比实际执行这个小型计算工作所需要的时间更多。所以宏比函数在程序的规模和速度方面更胜一筹。更为重要的是函数的参数必须声明为特定的类型。所以函数只能在类型合适的表达式上使用。反之这个宏可以适用于整形、长整型、浮点型等类型。宏是类型无关的。 和函数相比宏的劣势 每次使用宏的时候一份宏定义的代码将插入到程序中。除非宏比较短否则可能大幅度增加程序的长度。宏是没法调试的。宏由于类型无关也就不够严谨。宏可能会带来运算符优先级的问题导致程容易出现错 宏和函数的对比 命名约定 ⼀般来讲函数的宏的使用语法很相似。所以语言本身没法帮我们区分二者。那我们平时的用个习惯是 把宏名全部大写 函数名不要全部大写 但是也有例外offsetof就是一个宏但它却是全部小写 #undef 这条指令用于移除一个宏定义。 使用举例 #define MAX 20 int main() { printf(%d\n, MAX); #undef MAX //移除宏定义//printf(%d\n, MAX); //error//也可以再次定义宏 #define MIN 10printf(%d\n,MIN);return 0; } 条件编译 在编译⼀个程序的时候我们如果要将一条语句一组语句编译或者放弃是很方便的。因为我们有条件编译指令。比如说调试性的代码辛辛苦苦写的删除可惜保留又碍事所以我们可以选择性的编译。 使用举例 #define __DEBUG__ int main() {int arr[10] { 0 };for (int i 0; i 10; i){arr[i] i;#ifdef __DEBUG__ //若为真则执行printf语句printf(%d\n, arr[i]);//为了观察数组是否赋值成功。#endif //__DEBUG__}return 0; } 常见的条件编译指令 条件编译 #if 常量表达式 //... #endif //常量表达式由预处理器求值。 //例 #define __DEBUG__ 1 #if __DEBUG__ //.. #endif 多个分支的条件编译 #if 常量表达式 //... #elif 常量表达式 //... #else //... #endif 判断是否被定义 #if defined(symbol) #ifdef symbol#if !defined(symbol) #ifndef symbol 使用举例 #define __DEBUG__ int main() {#if defined(__DEBUG__)printf(haha\n);#endif#if !defined(__DEBUG__)printf(haha\n);#endif//打印结果hahareturn 0; } 嵌套指令 #if defined(OS_UNIX)#ifdef OPTION1unix_version_option1();#endif#ifdef OPTION2unix_version_option2();#endif #elif defined(OS_MSDOS)#ifdef OPTION2msdos_version_option2();#endif #endif
http://www.hkea.cn/news/14272918/

相关文章:

  • 手机网站生成app手机版自适应网站怎么做
  • 广东省住房和城乡建设网站引流推广平台软件
  • 制作人在那个网站能看简单的网页开发
  • 印江建设局网站网站开发工程师需要什么证书
  • 怎么样网站泛解析做淘客网站怎么
  • 网站未备案怎么做淘宝客建设单位经常去哪个网站
  • 公司网站备案名称注册名字商标查询
  • 邯郸网站建设选哪家好网站二维码弹窗
  • 商品网站建设实验报告手机制作表格的软件免费
  • 网站开发团队公司模式室内设计论坛网站
  • 宁波网站建设哪家公司好网龙网络有限公司
  • 安卓商城网站开发中国中小企业信息网官网
  • 徐州市贾汪区建设局网站企业网站登录
  • 软文营销把什么放在第一位婚纱摄影网站seo方案
  • 仿腾讯网站源码上海网站开发前十名
  • 保定市建设局安监网站用旧手机做网站
  • 开一家软件外包公司长春seo公司
  • 网站建设易网宣抚顺 网站建设
  • 企业培训课程一览表搜索引擎优化自然排名的区别
  • 网站前台展示家乡网页设计论文
  • 湛江企业自助建站召唤神龙网页小游戏在线玩
  • 网站架构包括哪些深圳东门麦当劳
  • 长沙企业网站建设团队北京住总第一开发建设有限公司网站首页
  • 素材下载平台网站源码找活做的网站
  • 企业网站建设规划的基本原则是什么中国河北网站
  • 大连html5网站建设深圳企业网页制作
  • 赣州网站建设开发网站模块建设方案
  • 做商城网站技术要点花的网站建设规划书
  • 做视频资源网站有哪些自建app免费制作平台
  • 成都模板网站建设平罗县住房和城乡建设局网站