C运算符部分

简介: C运算符部分

文章目录


while小试牛刀


pow()函数


基本运算符


赋值运算符


加法运算符:+


减法运算符:—


符号运算符:+和-


乘法运算符:*


除法运算符:/


运算符优先级


sizeof运算符和size_t类型


求模运算符:%


递增运算符:++


递减运算符:_ _


优先级


主要内容:


关键字:while,typedef


运算符:+,_,*,/,%,++,-- – ,=等各种运算符


while小试牛刀


#include<stdio.h>
// 用while实现1~100的和并打印出来,从而学习while循环的使用
int main()
{
    int i=1;
    int sum=0;
    while (i<=100)//其内必须为表达式
    {
        /* code */
        sum+=i;//累加并把累加结果给sum
        i++;//i++实现1~100
    }
    printf("1~100的整数和为:%d",sum);
    return 0;
}

36.png


pow()函数


C中没有指数运算符,不过C的标准函数库提供了 pow(a,b)函数用于指数的运算,表示a的b次幂,比如:


#include<stdio.h>
#include<math.h>
int main(){
    int i;
    i=pow(2,3);
    printf("%d",i);
    return 0;
}


需要注意使用pow()函数需要引入math库。


基本运算符



C用运算符表示算术运算,C大约40个运算符,目前我们学习最常用的


赋值运算符


下面是赋值表达式语句


a=5;  //把数值5赋给变量a
b=2;  //把数值2赋给变量b
c,d=0;  //c未初始化,把数值0赋给变量d
a=a+1;  //找到变量a,在该变量的基础上加1,然后得到的结果赋值给变量a
5=a;  //在C中没意义,实际上是无效的


从上面的栗子简单总结:编写代码,=左侧的项必须是一个变量名。实际中,赋值运算符的左侧必须开辟一个储存位置,最简单的方法就是使用变量名。(后续指针也可以指向一个储存位置)


几个术语


数据对象:用于储存值的数据区域的统称

左值,可修改的左值:用于表示或存储位置的标签


右值:指的是能赋给可修改左值的量,且本身不是左值。比如a=5,这是a是可修改的左值,5是右值,事实上,右值可以是变量,常量或者其他可以求值的表达式


加法运算符:+


用于加法运算,使其两侧的值相加,相加的值可以是常量或者变量


a=20+10;
a=b+c;//a,b,c都是可修改的左值


减法运算符:—


用于减法运算,使其左侧的数减去右侧的数。


a=30-10;


+和—都是二元运算符,为啥这样叫呢?因为需要两个运算对象


符号运算符:+和-


就是正负号,OK

他们都是一元运算符,我就不多啰嗦。下一个


乘法运算符:*


不多说,同理


除法运算符:/

整/整== 整

10/2==5


小数/小数== 小数

10.0/2.0==5.0


还有一种情况:5/3你猜等于几,等于1???,聪明。这种现象被成为截断


运算符优先级


括号


乘除(先后顺序)


加减(先后顺序)


赋值


当然这仅仅在一部分里,随着运算符的增多继续深入


sizeof运算符和size_t类型


sizeof运算符以字节为单位返回运算对象的大小。

运算对象可以是具体的数据对象(变量名)或类型。如果运算对象是类型,则必须用圆括号括起来。


C规定sizeof返回size_t类型的值。这是一个无符号整数类型,但它不是新类型,size_t是语言定义的标准类型


C有一个typedef机制,允许程序员为现有类型创建别名。比如:


typedef int cat;
//这样cat就成为了int的别名,现在我们可以这样声明int类型
cat a;//使用了typedef机制


求模运算符:%


求模用于整数运算,比如13%5(13求模5)结果是3,它算的是余数(求模运算只能用于整数,不能用于小数,它非常有用,求模运算符常用于程序控制流)


递增运算符:++


优点:1. 使程序简洁 2. 通常用它生成的二进制代码效率更高,因为它和实际的机器语言指令很相似。


i++;
++i;


两种的区别在于递增发生的时间不同


a=3*++i;


i递增1

然后3乘i,得到结果赋值给a


a=3*i++


3先乘i,并将结果赋值给a


i递增1


区别:

i++:使用i的值以后,递增i(先用后增)

++i:使用i的值之前,递增i(先增后用)


递减运算符:_ _


与++相对应


优先级


a=2;
b=3;
c=(a+b++)*6;


5*6=30

b的值只有在使用后才递增为4,


所以可以看出优先级:


1.括号


2.递增递减运算符


3.乘除


4.加减


5.赋值

……




相关文章
|
5月前
|
安全 程序员 C++
7运算符
7运算符
44 1
|
5月前
1-6 运算符
1-6 运算符
36 0
|
5月前
|
C++
|
28天前
|
C语言
C 运算符详解
在C语言中,运算符被广泛用于执行各类操作,涵盖算术、关系、逻辑、位运算、赋值、自增自减、条件及其他运算。算术运算符如`+`、`-`用于基本数学计算;关系运算符如`==`、`&gt;`则进行比较;逻辑运算符如`&&`用于条件判断;位运算符如`&`、`|`针对整数位操作;赋值运算符如`=`实现变量赋值;自增自减运算符如`++`调整变量值;条件运算符`? :`依条件返回不同值;其他运算符如`sizeof`可获取类型大小。以上运算符结合使用,能够灵活高效地处理各种编程任务。
191 88
|
2月前
运算符
运算符 第一种方式 a=$((2+2)) 第二种方式 b=[表达式] 第三种方式 c=expr 2 + 3 * 乘法要转义
|
5月前
|
C++
c++运算符
c++运算符
47 2
|
5月前
|
算法 程序员 C语言
c运算符介绍
c运算符介绍
38 1
|
5月前
|
C++
c++位运运算符
c++位运运算符
36 0