变量初始化
在定义变量的同时使变量初始化,例如:
int a=3;此时,a被初始化为3,比定义变量后再赋值的效率高
各种数据类型间的混合运算
整型(int)、浮点型(float)、字符型(char)之间可以混合运算,在运算时,不同的数据先转换为同一类型,再进行运算,右图为转换时的规则。向左的箭头表示必定的转换,例如字符型和短整型数据必定先转换为整型,而浮点型数据必定转换为double型。纵向的箭头表示当运算对象数据类型不同时的转换方向,例如当int型与double型数据进行运算,先将int型的数据转换为double型,再进行运算,其结果为double型。箭头的方向只表示数据类型级别的高低。
算术运算符
C语言中运算符有以下几类
运算时按优先级进行运算,如同一优先级,运算次序则由结合方向决定,不同的运算符还要求有不同的运算对象个数,单目运算符的优先级都为第二优先级
使用时注意在双目运算符的左右两边各加一个空格
编译器只做数据的类型匹配检查,如除法的右操作数为0时,程序编译并不会报错或警告,但运行时会被强制中止
求余运算必须是整型及整型兼容的数据类型,且求余运算结果的符号由左操作数决定
当需要转换数据类型时,有两种方法:
隐式转换,即在运行中,不同的数据类型按各自数据类型间的混合运算法则进行数据类型转换
显式转换,用(类型)将数据类型转换,例如(int)a将a的数据类型转换为int型
自增、自减运算符
自增分为前置++(++i)和后置++(i++)
二者的区别在于++i是直接将i的值自增1,而i++是先创建一个临时变量,把i现有的值赋值给临时变量,再将i的值自增1
left value 左值(变量)
right value 右值(常量)所有的临时变量都是右值(临时变量也叫匿名变量)
const()将普通的变量变为只读(read-only),此时不可再对该变量赋值
赋值运算符
赋值运算符“=”,作用为将一个数据赋值给一个变量,如a=3,也可以将一个表达式赋值给一个变量
如果运算符两侧的数据类型不一致时,需进行数据类型转换,例如:
将浮点型数据赋值给整型变量时,将会舍弃浮点型数据的小数部分,如int i; i=1.234,i将以整型的形式将1存储在整型变量中
将整型数据赋值给单、双精度变量时,其数值不变,但会以浮点型数据形式存储在浮点型变量中
高位截断:将一个双精度变量赋值给单精度变量时,将截取其小数点后七位有效数字,第八位将四舍五入,将长字节数据赋值给短字节变量时,会造成高位截断
符号位拓展:将字符型数据赋值给整型变量时,如果赋值给无符号整型,则将字符型数据放到无符号整型的低八位,高八位补零;将短字节数据赋值给长字节变量时,会造成符号位拓展
如果赋值给有符号整型,且字符型数据最高位为0时,则将字符型数据放到有符号整型的低八位,高八位补零;当字符型数据最高位为1时,则将字符型数据放到有符号整型的低八位,再将高八位补1
逗号运算符
逗号运算符在运算符中的优先级最低,它可以将两个不同的表达式连接起来,顺序求值
例如:3+5,2+6;
求解过程为从左到右顺序求值
例
1、给某定圆的半径,求圆的周长和面积;
2、给定两个2位数,将第一个数个位作为新数的千位,将第二个数个位作为新数的百位,将第二个数的十位作为新数的十位,将第一个数的十位作为新数的个位,打印该新数。
1
2
标签:运算,变量,基础,C语言,运算符,整型,数据,赋值 From: https://blog.csdn.net/2301_80729373/article/details/145014433