初识c语言-4

操作符

(1)在聊操作符前,我们先了解一下单目操作符和双目操作符,所谓单目操作符只需要一个操作数即可,而双目操作符则需要两个操作数。

(2)算数操作符:+、-、*、/、%

#include<stdio.h>

int main()
{
    int a = 9 / 2;
    int b = 9 % 2;

    printf("%d\n",a);  // 得4,当除号两边都是整数时执行整数除法,余数舍去
    printf("%d\n",b);  // %-->取模,得1,得到的是余数,取模操作的两个操作符只能是整数


    float c = 9.0 / 2;
    printf("%0.1f\n",c);  // 得4.5 当除号两边有一个浮点数就执行浮点数的除法,0.1表示打印出来的浮点数保留小数点后一位
    

    return 0;
}

(3)赋值操作符:=、+=、-=、*=、/=

#include<stdio.h>

int main()
{
    int a = 0;  //初始化
    a = 50;    //赋值

    printf("%d\n",a);  // 得50


    int b = 10;
    b += 3;   //也就是 b = b + 3 的另一种语法格式

    printf("%d\n",b);  // 得13



    return 0;

}

注:-=,*=,/= 的用法和 += 的用法相同。

(4)单目操作符

逻辑反操作
负值
+正直
*间接访问操作符(解引用操作符)
sizeof操作数的类型长度(以字节为单位)
——前置,后置
++前置,后置
(类型)强制类型转换

注:c语言中0表示假,非0表示真。

例子:

#include<stdio.h>

int main()
{
    //!
    int ain = 2;
    if(!ain)
    {
        printf("nihaoya");  //结果为什么也不打印,因为为假
    }

    //+
    int b = -10;
    int c = -a;

    printf("%d\n",c)  //得10

    //sizeof
    int min[10] = { 2 };
    printf("%d\n",sizeof(min));  // 得40,计算的是整个数组的大小,sizeof单位是字节
    printf("%d\n",sizeof(min[1]));  //得4,计算的是数组中一个元素的大小
    printf("%d\n",sizeof(min)/sizeof(min[1]));  //得10,拿整个数组的长度除于一个元素的长度

    //++,--
    int d = 5;
    int e = d++;

    printf("%d\n",e);  // 得5
    printf("%d\n",d);  // 得6  //后置是先使用,后++
   
    int g = 5;
    int f = ++g;
    printf("%d\n",g);  //得6   //前置是先++,后使用
    printf("%d\n",d);  //得6   //--的使用方法与++一致

    //(类型)
    //int h = 3.14;
    //printf("%d\n",h)  //这里直接打印会出错,3.14为浮点类型,编译器默认理解为double类型

    int h = (int)3.14;  //( )括号里的是想要更改的类型
    printf("%d\n",h)  //这样就将double类型的3.14强型转化成了int类型,得3
    
     return 0;
} 

(5)关系操作符

>大于
<小于
>=大于等于
<=小于等于

!=

用于测试“不等于”
==用于测试“等于”

例子

#include<stdio.h>

int main()
{
    int a = 0;

    scanf("%d",&a);
    
    if(a == 2)  //如果输入的数字为2,则输入的为真,否则为假
        printf("输入正确");
    else
        printf("输入错误");

    return 0;
}

(6)逻辑操作符

&&逻辑与
||逻辑或
#include<stdio.h>

int main()
{
    int a = 10;
    int b = 5;
    int c = 0;

    if(a && b)
        printf("星期一");
    
    //if(a && c)
        printf("星期二");
    
    //if(a || b)
        printf("星期三");
    
    //if(a || c)
        printf("星期四");

    return 0; 

}  //挨个if打印后会得到,星期一,星期三,星期四都可打印,星期二则无法打印,也就是说逻辑与必须要两个都为真才可以,而逻辑或只要有一个为真即可

(7)条件操作符(三目操作符):exp1?exp2:exp3

  exp1?exp2:exp3 的意思为当exp1表达式为真时输出exp2的结果,当exp1表达式为假时输出exp3的结果。

#include<stdio.h>

int main()
{
    int a = 10;
    int b = 30;

    int r = a > b ? a : b;
    printf("%d\n",r);

    return 0;

}  //输出结果为30

(8)逗号表达式:exp1,exp2,exp3……expn

  逗号表达式就是逗号隔开的一串表达式,特点:从左向右依次计算,整个表达式的结果是最后一个表达式的结果。

#include<stdio.h>

int main()
{
    int a = 10;
    int b = 30;
    int c = 0;

    int d = (c = a + b, a = b - a, c + a);
    printf("%d\n",d);
 
    return 0;
}  //结果为60

(9)下标引用操作符 [ ],函数调用操作符():这两个操作符经常用在集合调用更改元素和自创建函数的调用中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值