C语言允许程序员扩展新的数据类型
这些新的数据类型统称为复合数据类型
复合数据类型需先定义然后才能使用
布尔数据类型是C99规范中引入的新的数据类型
布尔类型只包含兩个整数一个是真另外一个是假(计算机里采用0代表假,1代表真)
任何一个整数都可以当作布尔值使用0当作布尔值使用时是假,其他所有整数当布尔值使用时都是真
一般在程序中不需要使用这个数据类型,直接用整数代替就可以
不同数据类型和占位符的对应关系
%f和%lf会保留小数点后面多余的0
%g和%lg不会保留小数点后面多余的0
不同数据类型的一个主要区别就是存储区里包含的字节个数不同
sizeof 关键字可以用来计算一個存储区或数据类型中包含的字节个数
sizeof 的小括号中可以写任何能当数字使用的内容
sizeof 小括号里如果修改了任何存储区的内容,这个修改不会嫃正生效
scanf标准函数可以把用户在键盘上输入的数字记录在变量代表的存储区里
为了使用这个标准函数也需要包含stdio.h文件
在scanf函数调用语句中偠使用 & 调用存储区的地址表示存储区,不能使用变量名称双引号中使用占位符如 %d
在scanf函数调用语句的双引号里不要写占位符以外的其他内嫆,除非非常了解加入其它符号后产生的作用
可以在一条scanf函数调用语句中得到多个数字
如果用户输入的数据格式与程序要求的格式不一致,就可能不能得到正确数据
一个字节分成八段,每段只能记录一个0或者1
要想把一个数据记录在一个字节中就必须首先将这个数据拆分荿八个0或者1
采用一组0和1表示数字的方法叫做二进制计算机只能采用二进制表示数字。
任何一个数字既可以用十进制方式表示也可以采用②进制方式表示
二进制表示方式中每个位置有一个编号最右边位置的编号是0,向左一次递增
某个位置上的1代表的数字是2的位置编号次方
茬二进制表示方式中如果两个相邻位置上的数字一样则左边的数字是右边数字的2倍。
用二进制表示的非负数符合以上规则
二进制数字加┅时将最右边的所有1都变成0把最右边的0变成1
二进制表示的非负数转换十进制只需要把每个数位上的内容单独转换,然后把所有转换结果求和
非负数的十进制转换计算过程成二进制的方法:
将数据除以2,如果整除则记一次0不能整除则记一次1,最后无法除时记0或者1然后從后往前倒写,总记8位不足添0。
如12转换为二进制后结果为
负数的十进制转换计算过程成二进制如-14
1.得到负数的相反数,即非负数即14
2.把苐一步的结果转换为二进制,即
3.把第二步每个数位上的内容变成相反值(按位求反)即
4.把第三步的结果加1,即
采用按位求反再加1的方法可以根据任何二进制计算出相反数的二进制
有符号类型二进制最左边的数位叫做符号位(确定数据类型为有符号类型)根据它可以知道数字嘚正负。
如果符号位是0则数字是非负数;如果符号位是1,则数字是负数
负数的二进制转换计算过程十进制:
1.首先计算出相反数的二进淛(按位求反再加一);
2.把第一步的结果转换为十进制;
3.根据第二步的结果再计算相反数;
负数十进制和负数二进制之间不能直接转换,需通过正数二进制和正数十进制转换计算过程后获得计算结果
当把占数位多的整数赋值给占数位小的整数类型存储区的时候只保留最后嘚二进制数位,会导致数据丢失
当把占数位小的有符号类型整数赋值给占数位大的整数类型存储区时扩展出来的二进制数位填充的都是符號位
这样会保持十进制结果不变。
把二进制从右向左每三个数位分成一组每组用0`7(二进制每三个数位最大为7,最小为0)之间的一个数字替玳
可以在程序中直接使用八进制方式表示数字但必须以0开头
二进制与八进制转换计算过程时与正负无关
可以采用 %o 作为占位符把数字的八進制表示方式打印在屏幕上
把二进制数字从右向左每四个数位分成一组,每组用一个字符替换(用a到f这六个字母代表10到15)
可以在程序中使鼡十六进制方式表示数字必须以0x作为开头
可以用%x或%X 做占位符把十六进制表示方式打印在屏幕上
打印结果不是以0x做开头,需手动添加0x字符
鉯%x做占位符时打印结果中英文字母都是小写的
以%X做占位符时打印结果中英文字母都是大写的
操作符用来描述对数字的处理规则
根据操作符所需要的数字个数把操作符分成单目操作符双目操作符和三目操作符
C语言中使用 ,-*和/表示加减乘除四则运算
如果参与除法计算的两个數字都是整数,则结果只保留整数部分
C语言中使用%表示取余操作
赋值符用=表示它可以把一个数字记录到一个存储区里
赋值语句可以当作數字使用,这个数字就是赋值完成后存储区里的数字
可以在一条语句中使用多个赋值操作符这个时候先计算右边的赋值操作符
绝大多数雙目操作符可以和赋值操作符合并形成复合赋值操作符,例如 =,%=
复合赋值操作符要求左边能能代表一个存储区右边可以代表数字
这个操作苻首先把操作符两边都当作数字使用,按照双目操作符的规则进行计算最后把计算结果记录在左边的存储区里
复合赋值操作符的优先级囷赋值操作符优先级一样低,即在表达式中最后计算复合赋值操作符
自增操作符( )和自减操作符(--)都是单目操作符。
这两操作符必须和存储區配合使用他们可以把存储区的内容做加一或减一操作
他们各有两种使用方法,一种是前操作(操作符写在存储区前)另外一种是后操作(操作符写在存储区后)
这个操作符编写的表达式可以当数字使用:前操作当数字使用时是修改后的数字,后操作当数字使用时是修改前的数芓
计算机认为自增有先后顺序优先计算前自增再计算后自增
~~~~!!!!!不要在一条语句中多次对同一个变量做自增自减运算,因为其结果不确定原因未知。
加载中请稍候......
}版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。