*变量名只能由任意的字母,数字,下划线还有$符号组成,不能用数字开头.
*驼峰命名法,和java的类同,第一个单词首字母小写,后续单词的首字母大写.
*自动类型转换
当变量的类型是int时,如果赋值的int型数据超出了int的范围的时候,这时候就会打印出一个随机的int数值.
当这个赋值远超出int的范围的时候,系统就会报错.
如果赋值是一个实型的小数,系统只会保留整数部分.
当变量类型是float的时候,如果赋值是一个double类型的数,那么系统会将其转换为float型,内存发生变化,会丢失精度,因为一个大字节范围的转成小字节范围的,势必会发生错误,但是系统不报错,打印出一个精度错误的值.
如果赋值是一个int,后面会加小数点和0
当变量类型是double类型的时候,赋值一个float,系统转换为double类型,不会出现精度错误,因为大字节范围的可以接收小字节范围的值.
当变量类型是char类型的时候,如果赋值一个int类型的数据,就会按ASCII码打印一个对应数值的字符.
如果赋值一个实型的小数,则只会保留整数部分,去适配整数部分的字符.
*精度:double>float>int
*ASCII码只需记住,’a’是97,’A’是65,’0’是48
*scanf输入函数,输入时首先也是占位符,注意和printf不同是变量前要加&,获取变量地址,格式scanf(“%n”,&m).注意不能加\n.
*输入函数,要求输入int型,如果输入小数,那接收的部分就是整数部分,如果输入字符,就会接收失败.
*如果要求输入的是整型和实型的数据,输入的空格,回车,tab都会被忽略.
*一次性输入多个数据的时候,默认的输入时用空格或者回车隔开每个数据进行输入,也可以自定义分隔符,但是在控制台输入数据的时候必须对应格式输入,用了什么分隔符就得怎么按原样输入,不然会错误.
一次输入多个时,不方便加入char型,因为它会误将空格,回车和其他的符号当成要输入的数据.
*scanf函数的缓冲区,系统先看缓冲区中是否有数据,如果没有才会读取scanf函数输入的数据,如果有,就会拿里面的数据一一的赋值.
清空缓冲区的方法:rewind(stdin);
*算术运算符,五个,+-*/%需要注意的是加入运算的操作数据的类型不一致的话,最后变为数据范围较大的那个数据类型.
*进行除法运算求商的时候,因为一般整数相除会得到商是整数,如果想得到完整的结果,可以让操作数其中一个变为double类型,比如,double m = 10*1.0/4;
*求模运算,实型数据不能参与运算,求模的结果的范围,m%n,结果范围只能是0~~(n-1)之间.
*字母大小写的ASCII码相差32.
*复合赋值运算符,+=,-=,%=,*=,/=,方便计算.
|
|