c语言学习中的一些知识点

1、计算机系统由硬件和软件两部分组成,经典的计算机硬件结构是由计算机的鼻祖冯 诺依曼提出的。

2、计算机的硬件由5部分组成:运算器、控制器、存储器、输入设备和输出设备,这些设备由总线或其他设备相互连接。

3、ASCII码表中数字是连续的,如:(ch > =‘0’ && ch < =‘9’)此表达式可以将数字字符和ASCII表中的其他字符分开。同样,(ch > =‘a’ && ch < =‘z’)标识出了小写字母。

4、注意区分字符常量和字符串常量。字符常量是用单引号括起来的,单引号内只能放一个字符;字符串常量使用双引号括起来的,其内可以放一串字符。

5、有些C程序员经常喜欢写一些紧凑的表达式,如(x = a)&&(y = b)。在这个表达式中完成了3项工作:把a的值赋给了x,,把b的值赋给了y,然后将x与y的值进行“与”运算。但这样的表达式中应用逻辑运算则是很危险的事。因为在计算逻辑表达式时,有时只需要计算一半就能得到整个表达式的结果。例如,对于 && 运算,只要一个运算对象为false,则整个表达式就为false;对于 || 运算,只要一个表达式为true,结果就为true。为了提高计算效益,C语言提出了一种短路求值的计算方法。

        当C程序在计算exp1 && exp2或exp1 || exp2形式的表达式时,总是从左到右计算子表达式。一旦结果能确定整个表达式的值,就终止计算。例如,若 && 表达式中的exp1为false,则不需要计算exp2,因为结果能确定为false。

        短路求值最主要的好处在于第一个条件能控制第二个条件的执行。在好很多情况下,复合条件的第二部分只能在第一部分满足某个条件时才有意义。

6、浮点数在计算机内无法精确表示,因此一般对浮点数不做等于判断。要判断两个浮点数是否相等,可以转换为两个浮点数的差是否小于一个极小的值。

7、?:运算符,max = (x > y)? x :y
 

猜你喜欢

转载自blog.csdn.net/guiwukejiBGG/article/details/83956733