表达式由运算符和操作数组成,根据操作符的个数,表达式可分为简单表达式和复杂表达式;
每个表达式的返回值都具有逻辑特性,若返回值非零,即为真值,否则为假值,可以使用这个特性将表达式放在用于控制程序流程的语句中,这样就构成了条件表达式;
表达式的主要作用有以下两种情况:1.放在赋值语句的右侧。2.放在函数参数中。
变量赋初值一般两种形式
类型 变量名 = 常数;
类型 变量名 = 表达式;
//类型 变量名 = 常数;
char cChar = 'A';
int iFirst = 100;
double dPlace = 1243.123;
//类型 变量名 = 表达式;
int iAmount = 1+2;
double sum = result1+result*3;
自动类型转换
如果把较短的数值类型的值赋给较长的数值类型,数据信息不会丢失;反之,则有可能会造成数据信息的丢失,会发生数据截断;
强制类型转换的一般形式:
//强制类型转换的一般形式
//(类型名)(表达式)
float i = 10.1;
int j=(int)(i);
完整的一个小程序:
#include<stdio.h>
//强制类型转换格式
int main(){
char c;
short int si;
int i;
float f=7000;
c=(char)f;
si=(short int)f;
i=(int)f;
printf("the char is:%c\n",c);
printf("the short int is:%ld\n",si);
printf("the int is:%d\n",i);
printf("the float is:%f\n",f);
return 0;
}
显示结果:
运算符:
如果用+-*/运算的两个书中又一个为实数,那么结果是double型的,这是因为所有实数都是按double型进行运算的。
括号在运算符中的优先级别是最高的;
自增/自减运算符为前缀和后缀的区别:运算符为前缀,加减完再用,运算符为后缀,用完再加减;
#include<stdio.h>
//自增为前缀和后缀的区别
int main(){
int i=1,j=1;
int m,n;
m=i++;
n=++j;
printf("m的值为:%d\n",m);
printf("n的值为:%d\n",n);
return 0;
}
输出后打印的m和n的值分别为1和2;
关系运算符和关系表达式:
”==“为等于,与”=“区分开;
关系表达式通常用来构造条件表达式;
逻辑运算符 :与(&&)、或(||)、非(!)
位逻辑运算符:位逻辑与(&)、位逻辑或(|)、位逻辑非(^)、取补(~)
逗号运算符和逗号表达式:
value1=2+5,1+2,5+7; //value1的值为7
value2=(2+5,1+2,5+7); //value2的值为12