-
数据类型
C的数据类型有基本类型、构造类型、指针类型和空类型。其中基本类型包括整型、字符型、实型(浮点型)和枚举类型。构造类型包括数据类型、结构体类型和共用体类型。
-
整型
常见的整型常数有十进制、十六进制和八进制。在程序中根据前缀在区分进制数。十进制数没有前缀、八进制数前缀为0、十六进制前缀为0x或0X。
整型的长度为16为即2字节,故表示的数的范围有限,例如十进制的无符号正常数的范围为0~,有符号数的范围为(100000000000)~(011111111111),若超出范围,可以用长整型数来表示(长整型量为常数分配4byte空间)。长整型数的后缀为"L"或"l",例如158L、077L、0X1AL。
-
实型
实型在C语言中只采用十进制,由十进制小数形式(eg. 0.0、25.1、300.)或者指数形式(eg. 2.1E5、-12E7、2E-2)来表示。可以在 数之后加后缀F/f来表示浮点数。
实型一般占据4字节内存空间,存储形式如表:
数符(+/-)占1bit | 指数(占8bit) | 小数部分/尾数位(占23bit) |
根据表格可得,指数为为符号型整数,只可以提供7位有效数字,当整数+小数的位数超过7位后就会发生精度的损失。
-
字符型
字符常量只能用单括号括起来并且只能为单个字符,并且转义字符也是一种特殊的字符常量用'\+字母'表示。
字符变量用char型表示,每个char分配1字节内存空间,存放的是字符对应的ASCII码。char和int型变量之间可以互相计算,发生内存不够时只保留低位。
字符串常量用" "表示,占用的内存空间为字符串中的字节数+1(多的一位用于存放“\0”,表示字符串的结束)。
- 强制类型转换: (类型说明符)(表达式)(eg.(int)(x+y)将这个结果转换为整型)。
- 自增自减运算符: ++i(i自增后在参与其他运算) i++(i参与运算后,他的值再加1)
-
输入输出函数
-
putchar函数——字符输出函数
作用:用于输出单个字符。eg. putchar('A')
-
getchar函数——键盘输入函数
作用:从键盘中获取单个字符。 eg. getchar()
-
printf函数——格式输出函数
printf("格式字符串",输出表列),其中格式字符串的一般形式为[标志] [输出最小宽度][.精度][长度]类型。
标志:标志字符有+、-、#、空格四种。
最小输出宽度:用十进制数来表示输出的最小位数。若实际输出值小于最小输出宽度,则要用空格或0补齐,若大于则不用管。
精度:用十进制数来表示输出的小数的位数或者输出的字符的个数。
长度: 长度有h,l两种,h表示短整型输出,l表示长整型输出。
举个例子 %5.4lf表示,输出的这个浮点数最小要占5位,并且保留4位小数。
-
scanf函数——格式输入函数
格式为scanf("格式控制字符串",&地址表列)
注意,scanf函数在获取多输入值时,需要用户使用回车或空格来作为输入的两个数的间隔,但是在输入字符值时除外,因为回车或空格本身就是一个字符。并且scanf函数没有精度控制;如果格式控制串中有非格式字符那么输入时也要输入该字符,eg(scanf("%d,%d,%d"),&a,&b,&c),此时应该输入1,2,3。