洛阳建设厅网站,沈阳商城网站建设,房产cms系统,阿里云备案 网站备案域名分享一下我老师大神的人工智能教程#xff01;零基础#xff0c;通俗易懂#xff01;http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识#xff0c;造福人民#xff0c;实现我们中华民族伟大复兴#xff01;本篇文章将总结C中一些比较有趣的符号逻辑运…分享一下我老师大神的人工智能教程零基础通俗易懂http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识造福人民实现我们中华民族伟大复兴本篇文章将总结C中一些比较有趣的符号逻辑运算符“ || ” 与 “ ” 是比较常用的逻辑运算符分别是 或 和 与。或||双目运算符。两者中任一为真即为真。与 双目运算符。两者都为真时才为真任一为假即为假。但是这两个运算符都有一个有趣的地方。请看下面的例子int a0, b1;if( b || a ){ printf(%d, a);}编译通过。运行结果是 0 。这就奇怪了。 ” || “ 不是判断两个数是否为真吗没错确实是判断了但是这里只是判断了前面的一个因为检查到前者为真了所以后者就不检查了不检查也即不执行了。因为 ” ||“只需两者任一为真就为真。所以直接执行判断前者如果为假才再去执行后者进行判断。哈哈是不是很聪明呢其实是太懒了同样对于 ” “ 也是这样。也可以试试运行下面这例子。 int a0, b1;if( ! ( a b) ){ printf(%d, b);} 左移与右移两者都为双目运算符。两者在移位时都遵循各自的特点。“”移动时高位丢弃地位补0。“”移动时对于有符号数其符号位将随同移动。当为整数时最高位补0而为负数时符号位为 1最高位是补 0 或是补 1 取决于编译系统的规定。在这个运算符的学习过程中我结合了前面的大端、小端模式。这是计算机存储数据的模式。通过测试后本人的计算机为小端模式。并结合小端模式和左移、右移运算符的知识。发觉数据存储模式并不会影响左移、右移运算符的操作。这就衍生了一个新的问题大端、小端模式对什么有影响在什么情况下有影响下面来看看一个例子0x0123不要惊讶结果是32因为优先级的问题 比 优先级要高那这两个呢0x01230;0x012-3;编译运行是不行的因为左移和右移的位数是不能超出数据的长度也不能小于0自增()与自减(— —)a 先用再加 a先加再用自减运算符同样。这两点太基础了也太普通了。下面我们来看点有意思点的。int a1, b1;printf(%d, ab); //语句 1语句 1 是什么意思呵呵这里就要说说 贪心法 了。C语言有这样一个规则每一个符号应该包含尽可能多的字符。也就是说编译器将程序分解成符号的方法是从左到右一个一个字符的读入如果该字符可能组成一个符号那么再读入下一个字符时判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分如果可能继续读入下一个字符重复上述判断直到读入的字符组成的字符串已不再可能组成一个有意义的符号。这个处理的策略被称为 “贪心法”。现在我们知道C语言有这样的规则对 语句 1 的意思也有明白了。没错ab 等于a b。如果是换成这样子呢ab又会怎样编译不通过。我们换种写法改为a b。这个时候编译通过了这里我们再次根据”贪心法“去思考这个问题。就恍然大悟了这里也总结了一件事理论还是理论。即使你明白理解。但是没有经过实践的话是不会掌握的就如 ab 一样你不去实践按照理论去想的话。肯定能编译通过的但是你实践了才知道是错误的。 给我老师的人工智能教程打callhttp://blog.csdn.net/jiangjunshow