一.基础
1.优先级:算数运算符>关系运算符>赋值语句
例:
int i=2,j=7,a;
a=i+j%4!=0;
a的值:a=2+3!=0 ---------------> a=5!=0 -----------> a=1
2.逻辑运算符
&&(与),||(或),!(非)
3.个别运算
逗号表达式:(表达式1,表达式2,...表达式n),结果为 ”表达式n“的值。
取地址运算符:&
取负运算符: -
():该表表达式的运算次序
[]:表示数组下标
4.数据类型转换
精度低------->精度高
隐式转换+强制转换
二.求三角形面积
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, s, area;
char d, e, f,aa,cc,bb;
//char str[30];
//求解三角形面积
/*printf("请输入a,b,c的值:");
scanf("%lf%lf%lf", &a, &b, &c);//输入数值时,若控制字符串中无格式,则用空格,回车,tab键,隔开;在scanf 中说编译时遇到空格和tab,回车,或者非法字符时认为该数据结束
s = (a + b + c) / 2;
area = sqrt(s*(s - a)*(s - b)*(s - c));
printf("a=%lf,b=%lf,c=%lf,s=%lf\n", a, b, c, s);
printf("%f\n", area);*/
//检测scanf输入字符时情况:若字符控制串中无格式,则键盘输入时也不要有格式,比如你加了空格,tab,回车隔开。都不行
printf("请输入d,e,f的值:");
scanf("%c%c%c", &d, &e, &f);//若此时输入345,则输出d=3,e=4,f=5;若此时输入3 4 5,则输出d=3,e= ,f=4
printf("d=%c,e=%c,f=%c,\n",d,e,f);
//若字符(或者数值)有格式,输入时也要加上
//printf("请输入aa,bb,cc的值:");
//scanf("aa=%c,bb=%c,cc=%c", &aa, &bb, &cc);//键盘输入aa=2,bb=3,cc=4
//printf("aa=%c,bb=%c,cc=%c\n",aa, bb, cc);//键盘输出aa=2,bb=3,cc=4
//scanf("aa=%cbb=%ccc=%c", &aa, &bb, &cc);//键盘输入aa=2 bb=3 cc=4
//printf("aa=%c,bb=%c,cc=%c,\n", aa, bb, cc);//键盘输出aa=2,bb=3,cc=4
}