C语言的一些骚操作 ----------- (一)

1.逗号表达式

逗号用来连接两个表达式,并以右边的表达式的值为结果,逗号在所有运算符中先级最低。

 int n = (1+2, 2*3,4-5); // n = -1 取右边最后一个结果
 int n = 1+2,2*3,4-5;  // n = 1+2 即 n = 3

2. && 和 ||

短路与&&:左边表达式是false,右边就不执行,逻辑表达式值为false。
短路或 ||:左边表达式是true,右边就不执行,逻辑表达式为true。

3. 数组指针

int arr [5];
int  (*p) = arr;
//那么 *(p+1) 与arr[1]与p[1] 三者输出结果等价

4. 结构体部分初始化

struct test
{
    int x;
    int y;
    int z;  
 };
struct test p = {.x=1,.z=2}; 

5. 数据类型

char类型 的本质是 int

int n = 97;
printf("%c",n);  //输出结果为a
char n = 'a';
printf("%d",n);  //输出结果为97
类型数字范围有效位
float-3.4E+38~3.4E+386~7
double-1.7E-308~1.7E+30815~16
long double-1.2E-4932~1.2E+493218~19
float a = 9.3;
float b = 5;
float c = a- b;  
if(c == 4.3)
	printf("true");
else 
 	printf("false");

输出结果为flase,c并不等于4.3

if(fabs(c-4.3) < 0.000001)

则是输出真

6. 数据类型转换

  • 自动类型转换
    当运算符左右两边操作数的类型不一致时,会自动转换成较大类型。
    整型:char→short→int→long→long long
    浮点型:int→float→double→long double
  • 当把一个较大的类型转换成较小的类型,需要强制转换。
float a = 3.14
int b = 0;
b = (int)a;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值