3.2操作符3

1.&取地址

                        int a=10;

                        printf("%p",&a); 结果是地址

                        int *pa=&a;                //*-解引用操作符 -简介访问操作符

                                                         //pa用来存放地址pa就是一个指针变量

                                                          //a是int 随意*pa定义是也是int

                        *pa20;

                        printf("%d\n",a);                //打印结果为20        

2.(类型)强制类型转换

                        int a=3.14 会警告        

                        int 1=(int)3.14 //强制类型转换 就没错

3.sizeof

                        void test1(int arr[])

{

                        printf("%d\n",sizeof(arr));(2)//这里的arr实际上是指针int*arr

}

void test1(int ch[])

{

                        printf("%d\n",sizeof(ch));(4)//这里的ch实际上是指针int*ch

}

int main

{

int arr[10]={0};

char ch[10]={0};

printf(%d\n",sizeof(qrr));(1)        //(1),(3)结果均为整个数组长度(2),(4)结果均为                
                                         首元素的得知长度

printf(%d\n",sizeof(qch));(3)

test1(arr);        //传的实际上是首元素的地址 也就是数组的地址

test2(arr);

}

4.关系操作符>, <, >=, <=, ==, =

                        (1)=一个等号为赋值 两个等号为判断        

                        (2)比较两个字符串不能使用== 用函数

5.逻辑操作符&& ||(只判断真假)      

                        (1)&&逻辑与      全为真才行     1&&2----->1  1&&0---->0                

int main()
{
int i=0,a=0,b=2,c=3,d=4;
i=a++&&++b&&d++;
printf("%d %d %d %d",a,b,c,d)
return 0;
}

                                    结果为1234         

                                    int c=a&&b;        //如果a=0为假那么后面的就不用判断了 也就不用计算了了 如果a1 则                                                  结果为2335

                          (2)   ||逻辑或         一个为真就行

int main()
{
int i=0,a=0,b=2,c=3,d=4;
i=a++||++b||d++;
printf("%d %d %d %d",a,b,c,d)
return 0;
}

                                结果为2234                                    

                                 ||左边为真 右边就不用再判断了 也就不用++了   

5.条件操作符(是三目操作符)

                exp1?exp2:exp3

                exp1为条件  符合时执行exp2  否则执行exp3

                b=(a>5?1:-1);                //如果a>5 则b赋值为1 否则b赋值为-1

6.逗号表达式

        int a=3;

        int b=5;

        int c=0;

        int d=(c=5,a=c+3,b=a-4,c+=5);

                //逗号表达式 从左向右依次计算 但是整个表达式的结果是最后一个表达式的结果

                //c=5  a=8  b=4  c=10 最终结果d=10

a=函数A

函数B(a)

while(a>0)

{

}

使用否好表达式改写:

        while(a=函数A,函数B(a),a>0)

{

}

        

        

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值