运算符与表达式:数据类型、运算符、表达式(3)来源: 发布时间:星期四, 2008年9月25日 浏览:79次 评论:0
实型量
实型常量 实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制数形式指数形式 1.十进制数形式 由数码0~9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。 2.指数形式 由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为aEn(a为十进制数,n为十进制整数)其值为a*10,n 如:2.1E5(等于2.1*10,5),3.7E-2(等于3.7*10,)-2*) 0.5E7(等于0.5*10,7),-2.8E-2(等于-2.8*10,)-2*)以下不是合法的实数345(无小数点) E7(阶码标志E之前无数字) -5(无阶码标志) 53.-E3(负号位置不对) 2.7E(无阶码) 标准C允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如356f和356.是等价的。例2.2说明了这种情况: voidmain() { printf("%f\\n%f\\n",356.,356f); } void指明main不返回任何值 利用printf显示结果 结束 实型变量 实型变量分为两类:单精度型和双精度型, 其类型说明符为float单精度说明符,double双精度说明符。在TurboC中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。 实型变量说明的格式和书写规则与整型相同。 例如:floatx,y;(x,y为单精度实型量) doublea,b,c;(a,b,c为双精度实型量) 实型常数不分单、双精度,都按双精度double型处理。 voidmain() { floata; doubleb; a=33333.33333; b=33333.33333333333333; printf("%f\\n%f\\n",a,b); } 此程序说明float、double的不同 a■■■■ b■■■■■■■■ a<---33333.33333 b<---33333.33333333333;; 显示程序结果 此程序说明float、double的不同 floata; doubleb; a=33333.33333; b=33333.33333333333333;从本例可以看出,由于a是单精度浮点型,有效位数只有七位。而整数已占五位,故小数二位后之后均为无效数字。b是双精度型,有效位为十六位。但TurboC规定小数后最多保留六位,其余部分四舍五入。 [Practice]//floatinta=32; floatb; doubled; b=12345678; d=b*100; d=d+a; d=d+58.123456;Vtable a,2,32 b,4,0.0 d,8,0.0 ofVtable Vupdate 1,32 2,0 3,0 2,12345678.00000 3,1234567800 3,1234567832 3,1234567890.123456 ofVupdate ofPractice [Practice]//1inta=543; floatb; b=123.123962+a; b=b-100; a=b;Vtable a,2,543 b,4,0.0 ofVtable Vupdate 1,543 2,0.0 2,123.123962 2,23.123962 1,23 ofVupdate ofPractice字符型量 字符型量包括字符常量和字符变量。 字符常量 字符常量是用单引号括起来的一个字符。例如a,b,=,+,?都是合法字符常量。在C语言中,字符常量有以下特点: 1.字符常量只能用单引号括起来,不能用双引号或其它括号。 2.字符常量只能是单个字符,不能是字符串。 3.字符可以是字符集中任意字符。但数字被定义为字符型之后就 不能参与数值运算。如5和5是不同的。5是字符常量,不能参与运算。 转义字符 转义字符是一种特殊的字符常量。转义字符以反斜线"\\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。 常用的转义字符及其含义 转义字符 转义字符的意义 \\n 回车换行 \\t 横向跳到下一制表位置 \\v 竖向跳格 \\b 退格 \\r 回车 \\f 走纸换页 \\\\ 反斜线符"\\" \\ 单引号符 \\a 鸣铃 \\ddd 1~3位八进制数所代表的字符 \\xhh 1~2位十六进制数所代表的字符 广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表2.2中的\\ddd和\\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\\101表示字?quot;A",\\102表示字母"B",\\134表示反斜线,\\XOA表示换行等。转义字符的使用 voidmain() { inta,b,c; a=5;b=6;c=7; printf("%d\\n\\t%d%d\\n%d%d\\t\\b%d\\n",a,b,c,a,b,c); } 此程序练习转义字符的使用 a、b、c为整数 5->a,6->b,7->c 调用printf显示程序运行结果 printf("%d\\n\\t%d%d\\n%d%d\\t\\b%d\\n",a,b,c,a,b,c); 程序在第一列输出a值5之后就是“\\n”,故回车换行;接着又是“\\t”,于是跳到下一制表位置(设制表位置间隔为8),再输出b值6;空二格再输出c值7后又是"\\n",因此再回车换行;再空二格之后又输出a值5;再空三格又输出b的值6;再次后"\\t"跳到下一制表位置(与上一行的6对齐),但下一转义字符“\\b”又使退回一格,故紧挨着6再输出c值7。 字符变量 字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符变量类型说明的格式和书写规则都与整型变量相同。 0
相关文章
读者评论
发表评论 |