加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

月薪20K的程序员整理的C语言的学习笔记,值得学习!(初学必备)

发布时间:2019-07-30 17:54:16 所属栏目:评测 来源:佚名
导读:副标题#e# C语言是面向过程的,而C++是面向对象的。 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构

请看下面的实例,了解 C 语言中所有可用的杂项运算符:

  1. #include 
  2. main() 
  3.  inta = 4; 
  4.  shortb; 
  5.  doublec; 
  6.  int* ptr; 
  7.  /* sizeof 运算符实例 */ 
  8.  printf("Line 1 - 变量 a 的大小 = %dn", sizeof(a) ); 
  9.  printf("Line 2 - 变量 b 的大小 = %dn", sizeof(b) ); 
  10.  printf("Line 3 - 变量 c 的大小 = %dn", sizeof(c) ); 
  11.  /* & 和 * 运算符实例 */ 
  12.  ptr = &a; /* 'ptr' 现在包含 'a' 的地址 */ 
  13.  printf("a 的值是 %dn", a); 
  14.  printf("*ptr 是 %dn", *ptr); 
  15.  /* 三元运算符实例 */ 
  16.  a = 10; 
  17.  b = (a == 1) ? 20: 30; 
  18.  printf( "b 的值是 %dn", b ); 
  19.  b = (a == 10) ? 20: 30; 
  20.  printf( "b 的值是 %dn", b ); 

当上面的代码被编译和执行时,它会产生下列结果:

  • a 的值是 4
  • *ptr 是 4
  • b 的值是 30
  • b 的值是 20
  • C 中的运算符优先级

运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。

类别 运算符 结合性

后缀 () [] -> . ++ - - 从左到右

一元 + - ! ~ ++ - - (type)* & sizeof 从右到左

乘除 * / % 从左到右

加减 + - 从左到右

移位 << >> 从左到右

关系 < <= > >= 从左到右

相等 == != 从左到右

位与 AND & 从左到右

位异或 XOR ^ 从左到右

位或 OR | 从左到右

逻辑与 AND && 从左到右

逻辑或 OR || 从左到右

条件 ?: 从右到左

赋值 = += -= *= /= %=>>= <<= &= ^= |= 从右到左

逗号 , 从左到右

实例

请看下面的实例,了解 C 语言中运算符的优先级:

  1. #include 
  2.  
  3. main() 
  4.  
  5.  
  6. inta = 20; 
  7.  
  8. intb = 10; 
  9.  
  10. intc = 15; 
  11.  
  12. intd = 5; 
  13.  
  14. inte; 
  15.  
  16. e = (a + b) * c / d; // ( 30 * 15 ) / 5 
  17.  
  18. printf("(a + b) * c / d 的值是 %dn", e ); 
  19.  
  20. e = ((a + b) * c) / d; // (30 * 15 ) / 5 
  21.  
  22. printf("((a + b) * c) / d 的值是 %dn", e ); 
  23.  
  24. e = (a + b) * (c / d); // (30) * (15/5) 
  25.  
  26. printf("(a + b) * (c / d) 的值是 %dn", e ); 
  27.  
  28. e = a + (b * c) / d; // 20 + (150/5) 
  29.  
  30. printf("a + (b * c) / d 的值是 %dn", e ); 
  31.  
  32. return0; 
  33.  

当上面的代码被编译和执行时,它会产生下列结果:

(a + b) * c / d 的值是 90

((a + b) * c) / d 的值是 90

(a + b) * (c / d) 的值是 90

a + (b * c) / d 的值是 50

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数

据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读