1.无符号整型只存数本身,因此一般只能存放不带符号的整数.
2.在一个整数常量湖面加上字母l或者L,则可以作为long int型常量,主要是在一些需要传long int型实参的情况.
3.在一般系统中一个float在内存中占4个字节,double则占8个字节,即前者为7位有效数字,double为15~16位.
4.字符存储时候是转换为类似与整数的ascii码存储,因此字符数据可以和整型数据互相赋值.
5.需要注意的是有些系统允许用户用unsigned char型,这样一来对于超过ascii超过127的字符最高位虽然为1但也不会作为符号位,可以保证输出一致.
6.字符和字符串的区别是后者多一个’/0’作为结束符,因此’a’<>”a”.
7.如果对几个变量赋同一个值不能写为:
int a=b=c=3;
因为加了;表示是赋值语句,而a=b=c=3是正确的,因为只是赋值表达式.
8.类型转换为char,short->int,float->double,int->unsigned->long->double.
9.自增/自减运算符只能用于变量,不能用于表达式或者常量,否则结果无法存储.其结合方向为自右向左.
10.如果i=3, (i++)+(i++)+(i++),(++i)+(++i)+(++i)类似的表达式都是先对整个表达式扫描完在做运算,结果9/18.printf(“%d,%d”,i,i++)按照自右向左顺序输出.
11.字符号扩展:在类型转换时候如果字符带符号位,则会补0/1.
12. 赋值表达式自左向右求解,整个赋值表达式的结果为最后表达式的结果.
13.if((a=b)>0) t=a;的过程为:把b的值传给a,判断a大于0则传给t.
14.prinf/scanf不是C语言的关键字.
15.printf可以用的格式符:
d,o,x,u,c,s,f,e,g
其中g为输出实数,自动按照f/e格式
附加格式说明符:
字母l,m(数据最小宽度),.n(小数位或者截取字符个数),-(左靠)
16.scanf可以用的格式符:
d,o,x,c,s,f,e
附加格式说明符:
字母l(长整型),h(短整行),域宽,*(不输入项读入后不赋给变量,主要是在利用现有的数据时跳过某些数据)
scanf输入数据时候不能制定精度.
17.1/非0:真;0:假
18.if(XX)中的XX可以是任意表达式/数据,只要不为0即为真.
19.复合语句外面不要加;.
20.条件运算符为自右至左结合,例如:a>b?a:c>d?c:d为a>b?a:(c>d?c:d).
21.switch中的case后面即使有多条语句也不需要加{}.
22.for(;i<=100;i++)..:表达式1可以没有,但是;不能没有.