实型常量
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
转义字符
• 转义字符是一种特殊的字符常量。转义字 转义字符是一种特殊的字符常量。 符以反斜线“ 开头 后跟一个或几个字符。 开头, 符以反斜线“\”开头,后跟一个或几个字符。 • 转义字符具有特定的含义,不同于字符原 转义字符具有特定的含义, 有的意义,故称“转义”字符。 有的意义,故称“转义”字符。 • 例如,例题 中printf函数的格式串中用 例如,例题1.1中 函数的格式串中用 到的“ 就是一个转义字符 就是一个转义字符, 到的“\n”就是一个转义字符,其意义是 回车换行” “回车换行”。转义字符主要用来表示那 些用一般字符不便于表示的控制代码。 些用一般字符不便于表示的控制代码。
仿照例1.2,编写已知ch1=‘!’;ch2=‘@’,求和以 及所对应的字符是什么? main() { int x,y,sum; x=1999; y=1; sum=x+y; printf(“sum = %d”,sum);} 改为:main() { char ch1,ch2,ch; ch1=‘!’; ch2=‘@’, ch=ch1+ch2; printf(“%c = %d”,ch,ch); }
3.字符常量具有数值,字符常量的值就是该 字符常量具有数值, 字符常量具有数值 字符的ASCII码值(306页),如’a’的值 字符的 码值( 页),如 的值 码值 就是97。 就是 。 • 因为 因为ASCII码值都是整数,因此字符常量在 码值都是整数, 码值都是整数 因此字符常量在 内存中以整型常量的形式存放, 内存中以整型常量的形式存放,而且可以 像整数一样参与运算。 像整数一样参与运算。如x=’a’+1; ; 相当于x=97+1; 相当于 ; 思考: 思考:‘5’和5 两个常量是否一样。 和 两个常量是否一样。
字符型常量
• 字符常量是用单引号括起来的一个字符。 字符常量是用单引号括起来的一个字符。 例如'a','b','=','+','?'都是合法字符常量。 都是合法字符常量。 例如 都是合法字符常量 • 在C语言中,字符常量有以下特点: 语言中,字符常量有以下特点: 1.字符常量只能用单引号括起来,不能用 字符常量只能用单引号括起来, 字符常量只能用单引号括起来 双引号或其它括号。 双引号或其它括号。 2.字符常量只能是单个字符,不能是字符 字符常量只能是单个字符, 字符常量只能是单个字符 串。
常用的转义字符及其含义 (29页) 页
转义字符 \n \t \b \r \f \\ \′ \〞 \? \ddd \xhh 功能 回车换行,将光标从当前位置移到下一行开头 横向跳到下一制表位置,相当于TAB键 退格,光标从当前位置向左退一格 回车不换行,光标从当前位置移到本行开头 换页,将光标从当前位置移到下一页开头 反斜线符"\" 单引号符 双引号符 问号 1~3位八进制数所代表的字符 1~2位十六进制数所代表的字符
实型变量对应的数据类型 单精度型
实型变量分为两类: 实型变量分为两类:
float double
双精度型
单精度型占4个字节( 位 内存空间, 单精度型占 个字节(32位)内存空间,其数值范围 个字节 为3.4E-38~3.4E+38,只能提供七位有效数字。 ~ ,只能提供七位有效数字。 双精度型占8 个字节( 位 内存空间, 双精度型占 个字节(64位)内存空间,其数值范 围为1.7E-308~1.7E+308,可提供 位有效数字。 位有效数字。 围为 ~ ,可提供16位有效数字
• 编写程序:已知单价固定不变为35,现在 数量为10,求总价多少?
例 符号常量举例 #define PRICE 35 main() { int num,total; num=10; total=num*PRICE; printf("total=%d",total); } 运行结果:total=350
实型变量的说明
• 实型变量说明的格式和书写规则与整型相 同。 例如: 为单精度实型量) 例如: float x,y; (x,y为单精度实型量 为单精度实型量 double a,b,c; (a,b,c为双精度实型量 为双精度实型量) 为双精度实型量 实型常数不分单、双精度,都按双精 实型常数不分单、双精度,都按双精double 型处理。 型处理。
实型常量
实型常量
1.表示形式 实型常量即实数, 实型常量即实数,在C语言中又称浮 点数,其值有两种表达形式: 点数,其值有两种表达形式: 十进制小数形式。例如3.14 9.8。 3.14、 (1)十进制小数形式。例如3.14、9.8。 指数形式: 尾数>E(e)<整型指数> >E(e)<整型指数 (2)指数形式:<尾数>E(e)<整型指数>。 指数形式的浮点常量E或e前面必须有数字, E后面必须为整数。
• 思考: • 试编写程序,要求用转义字符,16进制形 式输出字符 LOVE
字符串常量
• 字符串常量是用一对双引号括起来的字符 序列。如“How do you do”、“Good morning”都是字符串常量。 • (1)字符串长度 • 字符串中所含字符的个数称为字符串长度。 长度为0的字符串(即一个字符都没有的字符 串)称为空串,表示为“ ” (一对紧连的双 引号)。
Байду номын сангаас
• 例题2.1 main() { printf(“boy\tgirl\n”); printf(“ 12_3\t_45\r6\t7”);} \t表示跳到下个制表符,一个制表符占8列。 \n表示回车 \r表示回车不换行
例 main() { printf("I say:\"How are you?\"\n"); printf("\\C Program\\\n"); printf("Turbo \'C\'"); } \\ 表示输出反斜线符 \“表示输出双引号 表示输出双引号 \‘ 表示输出单引号符
符号常量
• 在C语言中,可以用一个标识符来表示一个常量, 称之为符号常量。 • 符号常量在使用之前必须先定义,其一般形式为: #define 标识符 常量表达式<或字符串> < > 如 #define NUM 30 • 其中#define也是一条预处理命令,称为宏定义命 令,其功能是把该标识符定义为其后的常量值。 • 符号常量一般用大写字母。
仿照例1.2,编写 已知x=567.12; y=123.4; 求和
main() { int x,y,sum; x=1999; y=1; sum=x+y; printf(“sum = %d”,sum);} 改为:main() { int x,y; float sum; x=567.12; y=123.4; sum=x+y; printf(“sum = %f”,sum); }
• 例2.3 符号常量的使用 #define PI 3.1415926 #define R 5 main() { float s; s=PI*R*R; printf("s=%f\n",s); }
• 符号常量的几点说明: • 一个#define语句只能定义一个符号常量, 并且只占据一个书写行。 • 由于符号常量定义式不是C语句,所以行尾 没有分号。 • 符号常量不是变量,它所代表的值在整个 作用域内不能再改变。也就是说,在程序 中,不能再用赋值语句对它重新赋值。
• 例2.2
main() {printf(“\x4F\x4B\x21\ {printf(“\x4F\x4B\x21\n”); printf(“\ printf(“\101 \x62\n”); x62\ } \ddd 1~3位八进制数所代表的字符 ~ 位八进制数所代表的字符 \xhh 1~2位十六进制数所代表的字符 ~ 位十六进制数所代表的字符 可参考306页 可参考 页
• (2)字符串的存储 • C语言规定:在存储字符串常量时,由系统在字 符串的末尾自动加一个\0作为字符串的结束标志。 • 如:有一个字符串为hello,则它在内存中的实际存 储为: 例 字符串“hello”在内存中 h e l l o \0
最后一个字符 \0是系统自动加上的。
综上所述, 字符常量‘ 与字符串常量“ 综上所述 , 字符常量 ‘ A’ 与字符串常量 “ A” 是两回 事: (1)定界符不同:字符常量使用单引号,而字符 定界符不同:字符常量使用单引号, 串常量使用双引号; 串常量使用双引号; 长度不同:字符常量的长度固定为1 ( 2 )长度不同 : 字符常量的长度固定为 1 , 而字 符串常量的长度,可以是0 也可以是某个整数; 符串常量的长度,可以是0,也可以是某个整数; 存储要求不同: ( 3 ) 存储要求不同 : 字符常量存储的是字符的 ASCII码值 而字符串常量, 码值, ASCII码值,而字符串常量,除了要存储有效的字 符外,还要存储一个结束标志’ 符外,还要存储一个结束标志’\0’。
等于2.1 等于3.7 如: 2.1E5 (等于 ×105), 3.7E-2 (等于 ×10-2) 等于 等于 0.5E7 (等于 ×107), -2.8E-2 (等于 等于0.5 等于-2.8×10-2) 等于 等于
思考:下列常量是否是合法的浮点常量? 3.14 2.9E-7 -9.568 6E7.8 E8 -2e0.5 1.5E5
字符变量的数据类型
• 字符变量的取值是字符常量,即单个字符 , 字符变量的取值是字符常量, 每个字符变量中只能存放一个字符。 每个字符变量中只能存放一个字符。一个字符 变量在计算机内存中占一个字节。 变量在计算机内存中占一个字节。 • C语言中的字符变量用关键字 语言中的字符变量用关键字char来说明: 来说明: 语言中的字符变量用关键字 来说明 char 变量名列表 变量名列表; • 例如:char ch; 例如: ch=‘a’;