关键字
- char
- short int
- int
- long int
- float
- double
常量和变量
- 常量:在程序运行过程中,其值不可改变的量
- 变量:其值可以改变的量称为变量
字符数据
字符常量
- 直接常量:用单引号括起来,如:‘a’,‘b’.
- 转义字符:以反斜杠“\”开头,后跟一个或几个字符,如‘\n’,'\t',分别代表换行,横向跳格。
字符变量
- 用char定义,每个字符变量被分配一个字节的内存空间
- 字符值以ASCII码的形式存放在变量的内存单元中;
- 也就是说a='x'=也就是说ASCII:120;
练习
字符串常量
- 是由双引号括起来的字符串序列
- ‘a’字符常量,“a”字符串常量
- 每个字符串的结尾,编译器会自动的添加一个结束标志‘\0’,既包括“a”包含两个字符'a'和‘\0’
整型数据
- 整型常量(按进制分):
- 十进制:以正常数字1-9开头
- 八进制:以数字0开头
- 十六进制,以0x开头,如0x1e。a=10,b=11,c=12,d=13,e=14,f=15
- 整型变量:
- 有/无符号短整型(un/signed) short(int)
- 有/无符号基本整型(un/signed) int
- 有/无符号基本整型(un/signed)long(int)
实型数据(浮点型)
- 实型常量:实型常量也称为实数或者浮点数
- 十进制形式:由数字和小数点组成的:0.0,0.12,5.0
- 指数形式:123e3代表123*10的三次方。不以f结尾的的常量是double类型。以f结尾的常量是(3.14f)float
- 实型变量:单精度float(4),双精度double(8)。
格式化输出参数
- %d:十进制有符号整数
- %x:以十六进制表示的整数
- %f:float型浮点数
- %e:指数形式的浮点数
- %s:字符串
- %p:指针的值
- %u:十进制无符号整数
- %o:以八进制表示的整数
- %lfdouble型浮点数
- %c:单个字符
- %3d:要求宽度为3位,如果不足三位,前面空格补齐;如果足够3位,此语句无效
- %03d:要求宽度为3位,如果不足三位,前面0补齐;如果足够三位,此语句无效
- %-3d:要求宽度为3位,如果不足三位,后面空格补齐;如果足够三位,此语句无效
- %2f:小数点后只保留2位
练习
构造类型
- 由若干个相同或不同类型数据构成的集合,数组,共用体,枚举
类型转换
- 自动转换:由一定规则编译器自动完成(隐式类型转换)
- 强制转换:使用一些转换类(c#)
自动转换的原则
- 占用内存字节数少的类型,向占用内存字节数大的类型转换,保证精度不降低。
转换方向
- 当表达式出现了char,short,int,类型的一种或多种,没有其他类型了参加运算的成员全部变成int类型的参加运算,结果也是int类型
- 当表达式中出现了带小数点的实数,参加运算的成员全部变成double类型的参加运算,结果也是double
- 当表达式中有有符号数,也有无符号数,参加运算的成员变成无符号数参加运算结果也是无符号数
- 在赋值语句等号右边的类型自动转换为等号左边的类型
- 注意自动类型转换都是在运算的过程中进行临时性的转换,并不会影响自动类型转换的变量的值和其类型