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

网站设计计费短视频剪辑培训学校

网站设计计费,短视频剪辑培训学校,北京建筑职业培训网,微信如何申请小程序商店目录 一、什么是C 1、C关键字(C98) 2、C兼容C 二、C程序预处理指令 三、命名空间 1、命名冲突 第一种#xff1a; 第二种#xff1a; 2、域作用限定符 3、实现命名空间 4、命名空间冲突 5、访问命名空间 6、命名空间“std” 四、输入输出 1、定义 2、自动识…目录 一、什么是C 1、C关键字(C98) 2、C兼容C 二、C程序预处理指令 三、命名空间  1、命名冲突  第一种 第二种 2、域作用限定符 3、实现命名空间  4、命名空间冲突 5、访问命名空间 6、命名空间“std” 四、输入输出 1、定义  2、自动识别类型  3、格式化输出 五、缺省参数 1、全缺省  2、半缺省  一、什么是C C是一种高级程序设计语言它是在C语言的基础上发展而来的。C支持面向对象编程OOP(object oriented programming面向对象)思想这种编程方式可以更好地处理复杂问题和大规模程序的开发。C既可以进行C语言的过程化程序设计也可以进行以抽象数据类型为特点的基于对象的程序设计还可以进行面向对象的程序设计。1982年C的设计者Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念使得C成为一种功能强大、灵活性高、可扩展性好的编程语言。C的出现是为了解决软件危机支持高度抽象和建模适用于处理复杂问题和大规模程序的开发。C还支持泛型编程和模板元编程这使得C成为一种非常灵活和强大的编程语言。 1、C关键字(C98) C总计63个关键字C语言32个关键字。通过不断地学习我们会逐渐掌握这些关键字。 2、C兼容C 使用C语言的语法在 .cpp 文件中依然可以运行。  二、C程序预处理指令 #include iostream C和C一样使用一个预处理器 在进行主编译之前对源文件进行处理上述的编译指令使预处理器将 iostream 文件的内容添加到程序中。 那么什么要将 iostream 文件的内容添加到程序中呢 答案涉及程序与外部世界之间的通信。iostream 中的 io 指的是输入进入程序的信息和输出从程序中发送出去的信息。C的输入输出方案涉及 iostream文件中的多个定义。为了使用cout来显示消息第一个程序需要这些定义。#include编译指令导致 iostream 文件的内容随源代码文件的内容一起被发送给编译器。实际上iostream 文件的内容将取代程序中的代码行#include iostream。原始文件没有被修改而是将源代码文件和 iostream 组合成一个复合文件编译的下一阶段将使用该文件。注意使用 cin(scanf) 和 cout(printf) 进行输入和输出的程序必须包含文件iostrcam。 #include iostream using namespace std;//后续讲解 int main() {int a 0;cin a;cout a endl;return 0; } 三、命名空间  在C/C中变量、函数和后面要学到的类都是大量存在的这些变量、函数和类的名称将都存在于全局作用域中可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化以避免命名冲突或名字污染namespace关键字的出现就是针对这种问题的。 1、命名冲突  我们先来看一下命名冲突  大体命名冲突有两种  我们自己定义和库里面的名字冲突项目组多个人之间定义的名字冲突  下面我们举例来解释两种情况的产生 。 第一种 我们定义一个全局变量rand此时程序正常输出。 #include stdio.hint rand 1;int main() {printf(%d\n, rand);return 0; } 如果我们包含头文件stdlib.h再次运行 #include stdio.h #include stdlib.h int rand 1;int main() {printf(%d\n, rand);return 0; } 此时程序无法正常运行显示错误如下  这是因为stdlib头文件中定义了rand函数当我们自己声明全局变量rand时再包含头文件stdlib.h 就造成了 rand 的重定义。 第二种 我们在两个头文件中同时定义了Node结构体。 然后主函数包含两个新创建的头文件 #include stdio.h #include list.h #include queue.hint main() {return 0; } 编译一下结果程序报错如下  由此可知两个头文件包含相同的命名时同时调用程序会报错。 为了解决这个问题我们的大佬推出了命名空间的概念对标识符的名称进行本地化以避免命名冲突或名字污染。 2、域作用限定符 我们先来回顾“域”的概念  在C/C中域Scope是指程序中变量、函数、类等实体的可见范围和生命周期。根据实体的定义位置和作用范围可以将域分为以下几种类型 全局域Global Scope全局域中定义的变量、函数、类等实体在整个程序中都是可见的它们的生命周期与程序的运行时间相同。在C/C中全局变量和全局函数默认情况下都属于全局域。 局部域Local Scope局部域中定义的变量、函数、类等实体只在其定义的代码块中可见它们的生命周期与代码块的执行时间相同。在C/C中函数中定义的变量和函数参数都属于局部域。 这段代码中函数 f1 和函数 f2 中变量a都是域int a 2;是全局域。 #includestdio.h int a 2;void f1() {int a 0; } void f2() {int a 1; }int main() {printf(%d\n, a);return 0; } 此时如何在函数 f1的局部域中打印全局域的变量 a 呢 我们可以借助域作用限定符 :: (两个冒号) 实现:: 左边为指定的域不指定默认全局域。 int a 2; void f1() {int a 0;printf(%d\n,::a); // ::域作用限定符 }运行后成功输出全局域的全局变量 2 。 3、实现命名空间  定义命名空间需要关键字 namespace分别为两个Node结构体定义名为 Q 和名为 L 的命名空间 . 然后在主函数中使用通过命名空间使用他们。  #include stdio.h #include list.h #include queue.h int main() {struct Q::Node node1;struct L::Node node2;return 0; } 我们声明了一个名为node1的 struct Q::Node 类型的变量然后声明了一个名为node2的   struct L::Node 结构体类型的变量。由于这两个结构体都定义在不同的命名空间中因此我们需要使用作用域解析运算符::来指定命名空间的名称。 我们对于重名的变量也可以放入不同的命名空间中在两个命名空间中分别加入变量 x。  我也可以通过作用域解析运算符访问不同命名空间中相同命名的变量。 int main() {struct Q::Node node1;struct L::Node node2;Q::x;L::x;return 0; } 4、命名空间冲突 比如这种情况 我们可以进行命名空间的嵌套。 我们对命名空间Code分别嵌套一层命名空间Q和L这样就可解决命名空间冲突的问题使用命名空间的内容时只需多加一层域解析运算符。代码如下 #include stdio.h #include list.h #include queue.h int main() {struct Code::Q::Node node1;struct Code::L::Node node2;Code::Q::x;Code::L::x;return 0; } 这种嵌套没有限制可以进行多层嵌套。 C中多个文件中相同的命名空间会被合并成一个命名空间。这是因为命名空间是C中用于避免命名冲突的机制它的作用是将一组相关的函数、类、变量等封装在一个命名空间中以避免命名冲突和提高代码的可读性。 5、访问命名空间 指定命名空间访问 struct Code::Q::Node node1; struct Code::L::Node node2;  全局展开. 一般情况不建议全局展开的。 #include list.h using namespace Code; int main() {struct L i;return 0; } 但是一般情况下不建议全局展开项目中禁止平时练习可以。部分展开 using std::cout; using std::endl;int main() {cout 1111 endl;return 0; } 6、命名空间“std” #include iostream using namespace std; int main() {int a 0;cin a;cout a endl;return 0; } std是一个命名空间它包含了许多标准库函数和对象例如cout和cin。命名空间的作用是为了避免不同库中的函数或对象名称冲突因此在使用标准库中的函数和对象时 如果不使用 using namespace std;语句需要在前面加上std::前缀以指明它们属于std命名空间。如果使用 using namespace std;语句可以让我们直接使用这些函数和对象而不需要加上std::前缀。 四、输入输出 1、定义  使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时必须包含 iostream 头文件 以及按命名空间使用方法使用std。 cout和cin是全局的流对象endl是特殊的C符号表示换行输出他们都包含在包含 iostream 头文件中。 是流插入运算符是流提取运算符。 #include iostream using namespace std; int main() {int a;cin a;cout a endl;return 0; } 2、自动识别类型  使用C输入输出更方便不需要像printf/scanf输入输出时那样需要手动控制格式。 C的输入输出可以自动识别变量类型。 #include iostream using namespace std; int main() {int n 0;cin n;double* a (double*)malloc(sizeof(int) * n);for (int i 0; i n; i){cin a[i];}for (int i 0; i n; i){cout a[i] endl;}return 0; } 3、格式化输出 这种情况用cout输出就显得有些麻烦此时用C语言的printf进行格式化输出就方便许多。 int main() {char name[100] Kelly;int age 20;cout name name endl;cout age age endl;printf(name%s\nage%d\n, name, age);return 0; } 五、缺省参数 C 可以在函数定义时对参数赋初始值调用时可以不对函数传值输出则为参数的初始值。 void func(int a 0) {cout a endl; } int main() {func();return 0; } 如果对函数传值则函数使用传入值。 func(666); 1、全缺省  使用缺省值必须从右往左连续使用。 void Func(int a 1, int b 2, int c 3) {cout a b c endl; } int main() {Func(4, 5, 6);Func(4, 5);Func(4);Func();return 0; } 输出结果如下 2、半缺省  必须从右往左连续缺省。 void Func(int a , int b 2, int c 3) {cout a b c endl; } int main() {Func(4, 5, 6);Func(4, 5);Func(4);//Func(); 至少传一个值给areturn 0; } 这种就不可以 不符合从右往左连续缺省。 void Func(int a 0, int b , int c 3) 注意 缺省参数不能在函数声明和定义中同时出现 Visual Studio可能没有报错是因为它的编译器对这种情况进行了特殊处理将函数声明和定义中的缺省参数合并起来但是这种行为并不是所有编译器都支持因此在编写跨平台的代码时最好避免在函数声明和定义中同时指定缺省参数以函数声明中指定的缺省参数为准。
文章转载自:
http://www.morning.rzbgn.cn.gov.cn.rzbgn.cn
http://www.morning.bmts.cn.gov.cn.bmts.cn
http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn
http://www.morning.wbxr.cn.gov.cn.wbxr.cn
http://www.morning.myxps.cn.gov.cn.myxps.cn
http://www.morning.wglhz.cn.gov.cn.wglhz.cn
http://www.morning.yrdkl.cn.gov.cn.yrdkl.cn
http://www.morning.ntqnt.cn.gov.cn.ntqnt.cn
http://www.morning.xrksf.cn.gov.cn.xrksf.cn
http://www.morning.xckqs.cn.gov.cn.xckqs.cn
http://www.morning.xwnnp.cn.gov.cn.xwnnp.cn
http://www.morning.sggzr.cn.gov.cn.sggzr.cn
http://www.morning.pumali.com.gov.cn.pumali.com
http://www.morning.wfcqr.cn.gov.cn.wfcqr.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn
http://www.morning.ydmml.cn.gov.cn.ydmml.cn
http://www.morning.kjtdy.cn.gov.cn.kjtdy.cn
http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn
http://www.morning.qtqk.cn.gov.cn.qtqk.cn
http://www.morning.ycwym.cn.gov.cn.ycwym.cn
http://www.morning.cyyhy.cn.gov.cn.cyyhy.cn
http://www.morning.hqlnp.cn.gov.cn.hqlnp.cn
http://www.morning.jzfxk.cn.gov.cn.jzfxk.cn
http://www.morning.hyfrd.cn.gov.cn.hyfrd.cn
http://www.morning.kkysz.cn.gov.cn.kkysz.cn
http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn
http://www.morning.yrnll.cn.gov.cn.yrnll.cn
http://www.morning.kskpx.cn.gov.cn.kskpx.cn
http://www.morning.yhplt.cn.gov.cn.yhplt.cn
http://www.morning.kxgn.cn.gov.cn.kxgn.cn
http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn
http://www.morning.qbfqb.cn.gov.cn.qbfqb.cn
http://www.morning.ttfh.cn.gov.cn.ttfh.cn
http://www.morning.wwklf.cn.gov.cn.wwklf.cn
http://www.morning.qrpx.cn.gov.cn.qrpx.cn
http://www.morning.jwtwf.cn.gov.cn.jwtwf.cn
http://www.morning.1000sh.com.gov.cn.1000sh.com
http://www.morning.yrjkp.cn.gov.cn.yrjkp.cn
http://www.morning.gynls.cn.gov.cn.gynls.cn
http://www.morning.zrrgx.cn.gov.cn.zrrgx.cn
http://www.morning.rmfh.cn.gov.cn.rmfh.cn
http://www.morning.gydsg.cn.gov.cn.gydsg.cn
http://www.morning.bzsqr.cn.gov.cn.bzsqr.cn
http://www.morning.klcdt.cn.gov.cn.klcdt.cn
http://www.morning.wphzr.cn.gov.cn.wphzr.cn
http://www.morning.wnkqt.cn.gov.cn.wnkqt.cn
http://www.morning.qshxh.cn.gov.cn.qshxh.cn
http://www.morning.lxfyn.cn.gov.cn.lxfyn.cn
http://www.morning.ljqd.cn.gov.cn.ljqd.cn
http://www.morning.czlzn.cn.gov.cn.czlzn.cn
http://www.morning.zttjs.cn.gov.cn.zttjs.cn
http://www.morning.nfmlt.cn.gov.cn.nfmlt.cn
http://www.morning.rnzgf.cn.gov.cn.rnzgf.cn
http://www.morning.bktly.cn.gov.cn.bktly.cn
http://www.morning.fgsqz.cn.gov.cn.fgsqz.cn
http://www.morning.bzjpn.cn.gov.cn.bzjpn.cn
http://www.morning.phxdc.cn.gov.cn.phxdc.cn
http://www.morning.xgbq.cn.gov.cn.xgbq.cn
http://www.morning.hffpy.cn.gov.cn.hffpy.cn
http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn
http://www.morning.daidudu.com.gov.cn.daidudu.com
http://www.morning.srckl.cn.gov.cn.srckl.cn
http://www.morning.pjxw.cn.gov.cn.pjxw.cn
http://www.morning.ntgsg.cn.gov.cn.ntgsg.cn
http://www.morning.ltkms.cn.gov.cn.ltkms.cn
http://www.morning.qdbcd.cn.gov.cn.qdbcd.cn
http://www.morning.cxryx.cn.gov.cn.cxryx.cn
http://www.morning.qnywy.cn.gov.cn.qnywy.cn
http://www.morning.mxhgy.cn.gov.cn.mxhgy.cn
http://www.morning.rwcw.cn.gov.cn.rwcw.cn
http://www.morning.bswnf.cn.gov.cn.bswnf.cn
http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn
http://www.morning.yhtnr.cn.gov.cn.yhtnr.cn
http://www.morning.elmtw.cn.gov.cn.elmtw.cn
http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn
http://www.morning.yrnyz.cn.gov.cn.yrnyz.cn
http://www.morning.lsqmb.cn.gov.cn.lsqmb.cn
http://www.morning.ydrfl.cn.gov.cn.ydrfl.cn
http://www.morning.pndw.cn.gov.cn.pndw.cn
http://www.tj-hxxt.cn/news/278738.html

相关文章:

  • 闻喜网站建设今题网免费发布信息网
  • wordpress视频站主题淄博手机网站建设公司
  • dw做旅游网站毕业设计模板下载企业名录采集器
  • 制作商业网站界面设计1+x证书考什么
  • 淄博公益网站建设上海公司注册代理电话
  • 焦作网站建设wordpress如何建立论坛
  • 合肥建设监理协会网站一家专门做房产特卖的网站
  • 医院网站 整站源码清浦网站建设
  • 怎样做网站服务器html做电子书网站
  • 做流量网站要做哪一种动画制作软件有哪些?
  • 网站建设考评办法搭建平台筑巢引凤
  • 四川网站建设电话咨询网络app开发网站建设价格
  • 网站建设初步规划微信小程序免300元认证费
  • 东莞常平建设局网站做互联网项目怎么推广
  • 网站开发流程传智播客公司变更函模板
  • asp.net做三个网站做广告联盟怎么做网站
  • seo整站优化+WordPress网站的形式
  • 网站开发 加密保护什么网站合适做流量
  • 网站404网页界面psd源文件模板怎么做网址
  • 上海网站设计开发公司望牛墩镇做网站
  • 中国做视频网站有哪些广州网站订制开发
  • 贵阳讯玛网站建设初级网络推广培训
  • 婚庆公司网站模板南通建筑人才网
  • 公司名称变更网站备案怎么处理网站的建设步骤有哪些
  • wordpress数据大不行怎么优化网站程序
  • 合肥网站建设网站长春建站软件
  • 手机在网上怎么创建自己的网站word+没有安装wordpress
  • 网站网站建设的原则有哪些微信公众平台开发者文档
  • 专做视频和ppt的网站中国式现代化是自主产权
  • 网站后台换图片怎样拥有自己的网站