简单的理解就是i++是先访问i然后再自增,而i++则是先自增然后再访问姿指i的值。
用下面的代码作为一个例子
#include <studio.h>
int main() {
int i,x
i = 1
x = 1
x = i ++ //先让x变成i的值1,再让i加1
print("%d", x) 迹旁配 //输出的x为1
print("%d", i) //输出的i为2
i = 1
x = 1
x = ++i //先让i加1, 再让x变成i的值2
print("%d", x) //输出的x为2
print("%d", i) //输出的i为2
}
扩展资料C语言是一门通用计算机编程语言,广泛应用于底启兆层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道使用者要处理i = -10还是i =- 10,使得处理上产生混淆。
参考资料C语言(运算符号)_百度百科
实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样?之前,研发频道曾发过《东方程序员怎么看西方程序员》和《西方同行耐凳饥眼中的东方程序员》这两篇文章。来自世界各地的程序员们各抒己见。或许,从上面两篇文章中也多少能得出“”下面是来自知乎网上各位大牛的看法。让我们来一起看下!一位叫吴涛的程序员的回答:编程活动和机械电子一样可以视为一种工艺(craftsmanship),从事此类工艺活动的人可以叫做工匠或者工程师。经历过工业革命的欧美国家,有深厚的工程根底,从机械到电子再到软件,都是国家产业的支柱,滋养着社会中坚力量的中产阶级。工程师的社会地位普遍比较高,他们有工艺的传承,有文化圈,有产业的历史。而国内目前的软件工业和制造业非常相似,以来料加工式的低水平重复劳动为主。就好像农民仰赖着老天提供种子、土壤、阳光和水,中国程序员仰赖着洋人提供设备、技术和理念,从微处理器、 *** 作系统、编程语言、编译器、IDE、编程框架到应用程序,除了做晶圆的沙子是本地产的,几乎没有什么属于自己,每天的工作内容主要就是把别人已有的东西按照自己的——甚至不是自己的——需求装配一下,没有什么创造性,也很少有业界的技术积累和传承出现,即便有也流传不开,毕竟程序员文化水平普遍不高——「有知识,没文化」,就是说这样的状况。记得劣质盗版VCD满天飞的时代,有个程序员做出一款丑陋但是解码容错能力很好的播放器,贴合国情,一炮成名,结果好容易写本书,没有几个句子能写通顺的。这种技术书籍的拙劣状况一直保持到现在,而且拙劣的方式更加多样化了。没有技术传承,没有文化圈,不乏有人上大学之前对编程一窍不通,学计算机只是因为计算机「热门」而已。如同包办的婚姻,没有一丝爱情,最后以编程为业,只是因为也不会做别的什么了。另一方面,国内程序员不论薪水如何,的确很苦。许多人长期被迫加班,最后甚至会成为一种自愿的习惯。可生产率和产品质量并未因此而提高,就像千百年来用惯锄头和镰刀的农夫,很少有人会想要去学习、改进自己使用的工具和习惯,甚至对于新兴的思潮和方法抱有非理性的抵触情绪。生活如此悲惨,却又如此不思进取,和农民的问题很相似。再加上,就好像城里人眼中的乡下人一样,程序员们木讷、邋遢、缺乏情调、土。可偏偏又自负而且互相看不起。总而言之,在中国做一个程序员,很少有什么事情能让人觉得自己从事的工作很体面。那么,在整个社会以自嘲为风尚、许多行业都喜欢好勇斗狠地自轻自贱的状况中,使劲贬低自己的职业,自嘲和群吵时,就不会有什么心理包袱。不过,就好像黑人可以自称或者互称「黑鬼」,但是白人如果敢讲立刻会惹祸一样,喜欢以此自称的程序员并不见得能容忍其他人这样称呼自己。最后,英语有类似的说法,将带有隔断的办公室叫做cube farm,常见于传统的软件公司。以讽刺(但不限于)软件公司日常生活为主题的漫画Dilbert就有不少格子办公室里的场景。不过cube farm说的并不是程序员们像农民,而是说他们像地里的庄稼或者果树,产出成果,等待收割。毕竟,欧美发达国家的农民生活往往比程序员更好。高收入粗配,农机劳作,大片的昌返私有土地,宁静的田园生活。农民的生活在那里,如果不是令人向往,至少也并无贬义。补充:本版同文所说的code monkey在英语中的语用,与「码农」在中文里的用法并不一样。code monkey是指以计算机程序员或者那些以编码为生的人。这个术语可能包含轻微的贬义,这意味着开发者可能编写代码,但不能执行复杂点的任务,比如:构建软件结构、分析和设计,一般指初级程序员。如果一名code monkey正在努力增加知识和提升职业技能,那么会有另一个等级名词赋予他。其实code monkey这个术语在层次划分上还是有点困难的,因为像那些真正熟练的开发人员或程序员他们仍然在做编码工作。或许像这样划分会好一点:coder:编码员programmer:程序员software engineer:软件工程师software analyst:软件分析师software architect:软件架构师或许还可以在前面加“初级”、“中级”、“高级”这几个前缀。这些都反映了一定的等级、技能水平和薪资。请注意:它只能在小范围确定的某种层次结构,例如在一个公司、甚至一个部门。一个在A公司工作的“程序员”可能比B公司的中级架构师所要求的技能更多。下面是关注前端技术的邓陈华同学的回答:首先, 问题的题目”“是有一定的可辩论性的,因为我所了解的事实是,大多时候是“中国的程序员自称为码农”,很少有不同行的人称呼程序员为“码农”。当然,可能和我所处环境有关系。认可涛吴所说的“自称码农的程序员并不见得能容忍其他人这样称呼自己”,因为这就像他所举的例子,黑人允许自称,但不允许白人称呼,同样的词在熟人说来是亲切、是自嘲、甚至可以是自讽,但在外人说来,那不仅是不尊重,还有可能是侮辱。其次,身处互联网行业,程序员工作辛苦,加班再正常不过,项目进度、突发情况、公司文化都可能成为加班的理由,虽然收入不一定差,但够苦逼。另外一方面, 程序员鱼龙混杂,水平参差不齐,而互联网向来是一个强调能力的开放行业,有多少能力就拿多少工资,这样注定有相当大一部分因为水平不够,导致收入问题成为“码农”的心病。而“ 工作辛苦”、“收入低”和农民有类似,所以无论自嘲或者是被别人冠以“码农”的称谓,辛苦、收入低这两个标志包含其一的可能性非常大。如果两者兼有,那就是纯种‘码农’一枚,够苦逼。当然,还有第三种情况就是像赵劼姐夫这样,“d钢琴的码农”,已经做“码农”做到一种境界,并不一定强调其辛苦、更不会收入差,以“码农”调侃的口吻戏谑人生,这个心态和大家自称屌丝是一样的,更多的自嘲自讽。其实,这样收入高而且相对不这么辛苦的精英“码农”在行业内也不少。下面是在读研究生吴洲提供的,来自图灵中文社区电子杂志《码农》第一期的首卷语:《所谓码农》一文的解释:对于“码农”这个称呼,有些人喜爱有加,有些人不以为然。区别在于对待“农”这个字的感觉。农当然是指农民,这个词寓义很丰富,既可以说它伟大,也可以说它渺小。说它伟大,是因为我们的生存离不开农民,而且中国一直是个农业为本的国家,曾经说是百分之八十的人是农民,这意味着往前翻�9�2两代,你我众人皆是农民出身。以此观之,农可谓大哉。说它渺小,则是因为大家的观念里,农民意味着有很多缺点,冠冕堂皇的说法是劣根性,比如目光短浅、思维陈旧、自私小气等等,总之是为我们受过教育的人群所看不惯的种种毛病——这些毛病虽然我们自己也有,但是我们看不见——于是乎“农民”成为了骂人时常用的字眼。其实,把自己的编程生涯与田间地头的锄禾日当午对应起来,确是有那么些相似之处的。你能想象得到,田间整齐栽种的秧苗,与屏幕上显示的错落有致的代码行有几分神似。各种庄稼的种植是有讲究的,正如你要注意编程风格。施肥灌溉,犹如你对代码进行的编译链接。除草除虫,自然是在做着debug 。你挑水来我浇园,大概是在小菜园中进行的结对编程。因为靠天吃饭,农民们也要学点云计算,去五道口职业技术学校进修的人也多起来了。收割的季节,活多人少,也常常是要搞外包的,因为deadline 很重要。不过坦率地说,“码农”这个叫法让人体会更多的是滑稽、搞怪、无厘头。毕竟一个是简单的体力劳动,一个是高智商的脑力劳动,不可同日而语。而程序员却偏爱这样的时空错乱的感觉,自嘲(我就是个农民!)的同时却又自命不凡(我是码农我怕谁?!),特立独行极了。码农的草帽底下,是一颗充满创造力的自由不羁的头脑。他们遵从最佳实践而痛恨陈规教条,他们欣赏天才而不迷信权威,他们喜欢思考而不轻易苟同。他们是技术人,却追求人文理想;他们敢于呐喊,说出自己的观点和主张,也更善于脚踏实地,用自己的点滴工作去改变现状。码农们是勤奋的,加班加点的工作是常有的事情,城市夜间的灯火,有多少是在码农们的办公室和居所点燃?周末四处举办的技术交流和讲座,又活跃着多少码农的身影?线下读书,线上讨论,冥思苦想,动手实践,新技术驱动着码农们的脚步,码农们在改变着我们的生活。生存离不开农民,生活离不开码农。一、匈牙利命名法【Hungarian】: 广泛应用于象 Microsoft Windows 这样的环境中。 Windows 编程中用到的变量(还包括宏)的命名规则匈牙利命名法,这种命名技术是由一 位能干的 Microsoft 程序员查尔斯· 西蒙尼(Charles Simonyi) 提出的。 匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀, 标识出变量的作用域, 类型等。这些符号可以多个同时使用,顺序是先 m_(成员变量),再指针,再简单数据类型, 再其他。例如:m_lpszStr, 表示指向一个以 0 字符结尾的字符串的长指针成员变量。 匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是 首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。 匈牙利命名法中常用的小写字母的前缀: 前缀类型 a b by c cb cr cx,cy dw fn h i l lp m_ n np p s sz w 数组 (Array) 布尔值 (Boolean) 字节 (Byte) 有符号字符 (Char) 无符号字符 (Char Byte,没有多少人用) 颜色参考值 (ColorRef) 坐标差(长度 ShortInt) Double Word 函数 Handle(句柄) 整型 长整型 (Long Int) Long Pointer 类的成员 短整型 (Short Int) Near Pointer Pointer 字符串型 以 null 做结尾的字符串型 (String with Zero End) Word二、骆驼命名法【camelCase】:
骆驼式命令法,正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数 的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数: printEmployeePaychecks(); print_employee_paychecks(); 第一个函数名使用知晌了骆驼式命名法——函数名中的每一个逻辑断点都有一个大写字母来标记; 第二个函数烂猛核名饥掘使用了下划线法----函数名中的每一个逻辑断点都有一个下划线来标记。 骆驼式命名法近年来越来越流行了,在许多新的函数库和 Microsoft Windows 这样的环境中,它使用得当相多。另一方面,下划线法是 c 出现后开始流行起来的,在 许多旧的程序和 UNIX 这样的环境中,它的使用非常普遍。
三、帕斯卡命名法【PascalCase】: 与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写 如:public void DisplayInfo()string UserName二者都是采用了帕斯卡命名法. 【在 C#中,以帕斯卡命名法和骆驼命名法居多。 在 C#中,简单的变量一般用 camelCase 规则,而比较高级的命名使用 PascalCase。 如.net Framework 的公共字段及公共属性。】 简单说 MyData 是一个帕斯卡命名的示例。 myData 是一个骆驼命名法。 iMyData 是一个匈牙利命名法,小些说明了变量的类型或者用途。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)