目录
注:当浮点型数和整型数进行运算时,会将整型数→浮点型数,然后进行浮点数运算。
前言
本章介绍不同的数据类型和简单的表达式语句。
一、基本数据类型&二进制表示
1.C语言提供以下5种基本数据类型:
(1)字符型:char
(2)整数型:int
(3)单精度实数型:float
(4)双精度实数型:double
(5)空类型:void
2.修饰符搭配整型(int)、字符(char)数据类型
(1)signed(有符号)
(2)unsigned(无符号)
(3)long(长型)
(4)short(短型)
注意:字符型数据(char)只能用signed和unsigned修饰
3.整型数二进制表示
(1)有符号的二进制整数型:正负号由字节的最高位表示,0表示正数,1表示负数。
例:(10110100)₂=-52 (00110100)₂=52
注:(00000000)₂=0 、(10000000)₂ =-128 , 以此类推
(2)无符号的二进制整数型:最高位不再代表符号位,而代表具体数值。
例:(10110100)₂=180 (00110100)₂=52
4.浮点型数二进制表示
(1)将浮点数分为整数部分和小数部分
(2)整数部分采取“除2取余,逆序排列”法
(3)小数部分采取“乘2取整,顺序排列”法(得到积之后将整数部分取出,再用小数部分乘2)
例:58.625=(111010.101)₂
注:当浮点型数和整型数进行运算时,会将整型数→浮点型数,然后进行浮点数运算。
所以在进行除法运算时如果要输出小数:①定义double变量或输入scanf(“%lf”)②将算式中一个数字变成小数形式或printf(“%lf”)
二、标识符&变量&常量
1.标识符
(1)标识符是对变量名、函数名、标号和其他各种用户定义对象的命名名称。
(2)标识符的第一个字符必须是字母或者下划线,随后字母可以是字母、数字或下划线。
(3)标识符字符长度:1~32个字符。
(4)标识符中的字母是区别大小写的,所以score、Score不同。
(5)标识符不能和C语言关键字相同,也不能和用户自定义函数或C语言库函数同名。
2.变量
所有的C语言变量必须在使用前定义。
3.常量
(1)整型常量:可用十进制、八进制、十六进制表示。十进制(17),八进制数前面用数字0开头(如017),十六进制数前面用0和X开头(如0X17)。八进制和十六进制数一般只用于unsigned数据类型。
(2)实型常量:可以采用浮点计数法和科学计数法两种方法表示。
(3)字符常量:由一对单引号括起来的单个字符,如‘A’、‘S’。单引号起定界作用,不代表字符。
(4)字符串常量:由一对双引号括起来的一串字符,如“fgersu”。双引号起定界作用,不代表字符。字符串常量在内存中储存时,系统会自动在字符串末尾加一个“串结束标志”,即字符NULL,用\0表示,所以程序中长为n的字符串常量,在内存中占有n+1个字节的存储空间。
(5)转义字符:表示字符的一种特殊形式。
(6)符号常量:C语言中允许将程序中的常量定义为一个标识符,称为符号常量,一般用大写英文字母表示,以区别用小写字母表示的变量。定义形式:
#define <符号常量名> <常量>
例:#define PI 3.1415926
#define TURE 1
#define FLASE 0
(7)const用于定义常量:给变量加上不变属性,一旦初始化就不可以改变。
注:字符、整型数据类型均以二进制储存,可以相互转换。
例:
#include <stdio.h>
int main(){
printf("%d-->%c\n",'A','A');
printf("%d-->%c\n",'A'+10,'A'+10);
}
/*运行结果*/
65-->A
75-->K
--------------------------------
Process exited after 0.3006 seconds with return value 0
请按任意键继续. . .
三、基本运算符、表达式即运算的优先级
1.算术运算符及算术表达式
算术运算符(从高级到低级):++、--、*、/(参与运算的两个变量若为整型,则结果为整除取整,否则为浮点型;如果有负数,则向0取整)、%(取余:运算结果与被除数符号一致,参与运算的两个变量只能是整型,不能是浮点型)、+、-。
注:前置++/--,先将变量的值加1/减1,再使用;后置++/--,先使用,再将变量的值加1/减1。
2.关系运算符及关系表达式
关系运算符(从高级到低级):>=、>、<=、<、=(赋值运算符,左边只能是单个变量,右边可以是表达式;两边数据类型不一致时,以左边变量类型为准)、!=。关系表达式的结果只有两个,即真(值为1)和假(值为0)。
例:
#include <stdio.h>
int main(){
int x;
x=2.0/5;
printf("x=%d\n",x);
}
/*运行结果*/
x=0
--------------------------------
Process exited after 0.2968 seconds with return value 0
请按任意键继续. . .
4.逻辑运算符及逻辑表达式
逻辑运算符(从高级到低级):!、&&、||
注:在C语言中,任何非0值代表真,0值代表假
5.条件运算符:表达式1?表达式2:表达式;
6.逗号表达式:
表达式1,表达式2,……表达式n:先计算表达式1,再计算表达式2,以此类推,逗号表达式的最后结果为表达式n的计算结果。
例:X=(a=4/3,a+1【只运算,并不改变a的值】,a=a*10)
7.数据类型的转换:
C语言中,允许同一个表达式中混合有不同类型的常量和变量,C语言的编译器会将较短的数据类型的值转换成较长的数据类型的值。
强制转换数据类型:(数据类型符)表达式或变量;
#include <stdio.h>
int main() {
int a=60;
float t;
t=(float)a/30;
printf("t=%d\n",t);
}
8.复杂表达式的计算顺序
总结
这里对文章进行总结:
以上就是今天要讲的内容,本文简单介绍了不同的数据类型和简单的表达式语句。。