运算符/printf/scanf/if
- 定义标示符,采用”驼峰规范”:例如
void sendMessageWithNumber()
实型:
- 10.1//C语言默认是双精度double型数据;
- 10.1f//末尾加f表示单精float型数据;
- float类型有效位数是7位(不包括小数点);
- double类型有效位数是15位(不包括小数点);
字符常量的特殊情况:’\n’ ……… 在C语言中,系统给某些字符的组合定义了特殊的含义,这些字符的组合可以当做单个字符来使用;
- 变量的作用域 局部变量和全局变量
- 变量的作用域从定义的那一行开始,直到大括号结束或者遇到return或}为止.例如:
int number; // 变量的作用域从定义开始
number = 10;
printf("return之前");
return 0;
}
- 内存地址从大到小, 取地址:&变量名;
- a++与++a,无论++在前还是在后, 最终都会自增一次:
- 如果++写在变量的前面,那么会先将变量自增再用自增之后的结果参与运算
- 如果++写在变量的后面,那么会先将变量的值参与运算再将变量自增
- 总结一句话:++在前,先自增再运算,++在后,先运算再自增;
- 关系运算符
注意: > < >= <= 优先级大于 == != - sizeof()
- sizeof的计算格式:
sizeof(变量/常量/数据类型); - sizeof可以用来计算一个变量或一个常量、一种数据类型所占的内存字节数;
- 注意: sizeof是一个运算符, 不是一个函数;
- 注意: 如果利用sizeof计算数据类型, ()不能省略;例如:
- sizeof的计算格式:
int number = sizeof double;//错误
int number = sizeof (double);//正确
- 采用占位符%p打印详细地址,例如:
printf("%p\n",&value);
- printf指定位宽输出:
printf("%mi", number);//其中m就是位宽,而i用于输出整型数据
printf("%2i", number);
- 指定保留多少位小数输出: %.nf, 其中n就是需要保留多少位小数, f用于输出实型;
float floatValue = 3.1415926;
printf("%.2f", floatValue);
// printf("%.*f", 5,floatValue);
return 0;
- scanf存放数据到详细地址;例如:
scanf("%i",&number);
- 在scanf中,尽量不要使用 \n;如果在scanf末尾中使用了\n, 需要用户在输入末尾原样输入”\n”来破;
- 取模运算的正负性取决于左边的操作数
- 在多层循环中,一个break语句只向外跳一层;break不是跳出if语句而是跳出整个循环;而continue语句的作用是跳过循环体中剩余的语句而继续下一次.
- if:如果需要判断某一个变量是否等于某一个值,建议把常量写前面, 变量写后面;例如:
if (8 == number) {
printf("********\n");
}
- 分析:
int main(){
int a=1,b=2,c,d,e;
c=(-a++)+(++b);
d=(b--)+(++a)-a;
e=(a/(++b))-(a/(--a));
return 0;
}
//结果:a = 2, b = 3, c = 2, d = 3, e = 0;