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

常德网站建设 天维代理app推广

常德网站建设 天维,代理app推广,网站建设投标书范本,网站可以给pdf做笔记前言 在学习了C语言的基础上#xff0c;C到底和C有什么区别呢#xff1f; 1.1 第一个C程序 #include iostream// 使用名为std的命名空间 using namespace std;int main() {// printf (hello world\n);// cout 标准输出 往屏幕打印内容 相当于C语言的…前言 在学习了C语言的基础上C到底和C有什么区别呢 1.1 第一个C程序 #include iostream// 使用名为std的命名空间 using namespace std;int main() {// printf (hello world\n);// cout 标准输出 往屏幕打印内容 相当于C语言的 printf// 左移操作符在这里它的功能被改造代表数据流向// 代表数据从右端移到左端 右端是 hello world字符串左端是 cout 标准输出// 所以 cout hello world 代表将内容打印到标准输出// endl 代表换行相当于 C语言的 \n// 操作符可以连着使用cout Hello World! endl;return 0; } 运行结果 1.2 命名空间 1.2.1 为什么引入命名空间 命名空间将全局作用域分成不同的部分不同命名空间中的标识符可以同名而不会发生冲突命名空间可以相互嵌套全局作用域也叫默认命名空间 1.2.2 怎么使用命名空间 1命名空间的定义 namespace 是C中的关键字用来定义一个命名空间语法格式为 namespace name {变量函数类 }name是命名空间的名字它里面可以包含变量、函数、类、typedef、#define 等最后由{ }包围 例如 定义一个命名空间名字叫NameSpaceA namespace NameSpaceA {int a 0; }命名空间的定义可以嵌套例如 namespace NameSpaceB {int a 1;namespace NameSpaceC{struct Teacher{char name[10];int age;};} }2命名空间的使用 使用域解析符 :: ::是一个新符号称为域解析操作符在C中用来指明要使用的命名空间。 NameSpaceA::a 10; // 使用命名空间 NameSpaceA中的变量a NameSpaceB::a 20; // 使用命名空间 NameSpaceB中的变量aprintf (%d, %d\n, NameSpaceA::a, NameSpaceB::a);使用命名空间B中的命名空间C中的结构体 Teacher NameSpaceB::NameSpaceC::Teacher t2 {xiaoming, 20};使用using声明 在这里用using声明了 NameSpaceA::a 它的意思是在声明以后的程序中如果出现未指明命名空间的a就使用NameSpaceA命名空间里的a如果要使用NameSpaceB命名空间中的a则仍需要使用这样的方式 NameSpaceB::a; using NameSpaceA::a; a 20; // 使用命名空间NameSpaceA中的a NameSpaceB::a 30; // 使用命名空间NameSpaceB中的ausing 声明不仅可以针对命名空间中的变量或者函数还可以对整个命名空间进行声明这样的方式声明命名空间以后在后面使用未指定具体命名空间的变量或者函数产生命名冲突的时候默认使用 NameSpaceB中的变量和函数。 using namespace NameSpaceB; a 10;printf (%d\n, NameSpaceB::a);示例代码 #include iostreamnamespace A {int a 1;void print(){std::cout this is namespace A std::endl; //::作用域限定符} }namespace B {int a 2;void print(){std::cout this is namespace B std::endl;} }int main() {//std::cout a std::endl; //a不是全局变量也不是main函数局部变量 所以未定义std::cout A::a std::endl;using namespace B;std::cout a std::endl;print();A::print();//using namespace A;// 这里如果不注释掉编译不通过print();return 0; } 1.3 register关键字的变化 register关键字请求“编译器”将局部变量存储于寄存器中C语言中无法取得register变量地址在C中依然支持register关键字 1、C编译器有自己的优化方式不使用register也可能做优化 2、C中可以取得register变量的地址C编译器发现程序中需要取register变量的地址时register对变量的声明变得无效。 #include stdio.hint main() {register int i 0; //声明寄存器变量 不能取地址for (i 0; i 1000; i);i; //C 对寄存器变量取地址 register 关键字变得无效return 0; }1.4 变量检测加强 在C语言中重复定义多个全局变量是合法的这些同名的全局变量最终都会被链接全局数据区的同一个地址空间上在C中不允许定义多个同名的全局变量 #include stdio.h// 在C语言中重复定义多个全局变量是合法的 // 这些同名的全局变量最终都会被链接全局数据区的同一个地址空间上 int g_a; int g_a 1;int main() {printf (%d\n, g_a);printf (%p\n, g_a);return 0; }1.5 struct类型加强 C语言的struct定义了一组变量的集合C编译器并不认为这是一种新的类型C中的struct是一个新类型的定义声明 #include stdio.hstruct Student {char name[20];int age; };int main() {// C语言中 struct 定义了一组数据的集合而不是一种新的数据类型// 所以在定义变量的时候需要在前面加上 struct 关键字进行修饰// C中 struct 定义了一种新的数据类型可以直接用来定义变量Student stu1 {xiaoming, 10};return 0; }1.6 C中所有变量和函数都必须要有类型 1.6.1 C语言中函数的一些不好的使用方式 1 函数可以没有返回参数类型2 函数参数可以没有数据类型3 没有参数的函数可以接收任意个参数 #include stdio.h // 1 函数可以没有返回参数类型 f() {printf (hello world\n); }// 2 函数参数可以没有数据类型 g(i) {return i; }int main() {// 3 没有参数的函数可以接收任意个参数f(1,2,3,4,5);g(12,15);return 0; }1.6.2 C中的加强 在C语言中 int f( )表示返回值为int接受任意参数的函数 int f(void)表示返回值为int的无参函数 在C中 int f( );和int f(void)具有相同的意义都表示返回值为int的无参函数 C更加强调类型任意的程序元素都必须显示指明类型 1.7 新增bool类型关键字 C在C语言的基本类型系统之上增加了boolC中的bool可取的值只有true和false理论上bool只占用一个字节如果多个bool变量定义在一起可能会各占一个bit这取决于编译器的实现true代表真值编译器内部用1来表示false代表非真值编译器内部用0来表bool类型只有true非0和false0两个值C编译器会在赋值时将非0值转换为true0值转换为false #include iostreamusing namespace std;int main() {bool a true;bool b false;a 100;cout a endl;// 输出1cout b endl;// 输出0return 0; }1.8 三目运算符的增强 C语言返回变量的值 C语言是返回变量本身 1C语言中的三目运算符返回的是变量值不能作为左值使用 2C中的三目运算符可直接返回变量本身因此可以出现在程序的任何地方 注意三目运算符可能返回的值中如果有一个是常量值则不能作为左值使用 (a b ? 1 : b ) 30; C语言如何支持类似C的特性呢 当左值的条件要有内存空间C编译器帮助程序员取了一个地址而已 #include stdio.h// C语言中表达式的结果 放在什么地方 寄存器 // 1 // 表达式返回的是一个值是一个数 // 在C中表达式返回的是变量本身// 2 如何做到的 // 让表达式返回一个内存空间..内存的首地址 指针 // 在C语言中如何实现C的效果// 3 本质 // C编译器自己做了取地址的操作 int main() {int a 10;int b 20;// C中三目运算符返回的是变量本身所以可以作为左值使用// 这里C语言会报错20 10c可以b 100)(a b ? a : b) 90; // 在C语言中让三目运算符可以当左值使用可以通过返回变量地址实现*(a b ? a : b) 90;printf (%d, %d\n, a, b);return 0; }
http://www.hkea.cn/news/14394376/

相关文章:

  • 做图表的网站知乎用js做网站登录
  • 上海 网站备案系统东莞企业网站建设公司
  • wordpress二手房a标签优化网站
  • 建设官方网站的好处和坏处网站建设教程纯正苏州久远网络
  • 网站运营意义企业所得税怎么算公式
  • 网站维护收费标准用一个域名免费做网站
  • 绵阳个人网站建设职业培训机构哪家最好
  • wordpress多站点分别部署泰安高新区建设局网站
  • 国际学院网站建设的意义棠下手机网站建设电话
  • 做一个平台 网站服务器搭建WordPress产品录入
  • 中心网站设计郑州搜索引擎优化
  • 模板网站的弊端在哪哈尔滨网站优化指导
  • 深圳网站平台建设快速注销网站备案
  • 网站搜索排名和什么有关系休闲吧网站建设
  • 给别人做ppt的网站wordpress进不了文章页面
  • 那里网站建设好wordpress自定义登录界面
  • 空间商网站宣传片制作公司费用
  • 丹江口网站建设世界500强企业排名
  • 网络课程网站模板个人养老金制度的利弊
  • 蚌埠的网站建设郑州最新发布信息
  • 建设vip网站相关视频网站访问不了的原因
  • 做任务有q币的网站wordpress 密码看贴
  • 手机 网站服务器珠海网站建设推广方案
  • 建立网站要准备多少钱最新新闻热点事件英语
  • php网站 服务器明企科技网站建设系统
  • 都有哪些做二手挖机的网站网页 调用 wordpress
  • 云建站的步骤怎么查icp备案号
  • 网站2个页面做首页南昌网站seo公司
  • 犀浦网站建设国外购物网站赏析
  • 修改wordpress密码seo超级外链发布