现在的位置: 首页 > 综合 > 正文

C语言一些基础:数据类型,运算类型及表达式

2013年07月14日 ⁄ 综合 ⁄ 共 1130字 ⁄ 字号 评论关闭

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可以没有,但是;不能没有.

抱歉!评论已关闭.