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.赋值

……




目录
打赏
0
0
0
0
2
分享
相关文章
|
11月前
|
7运算符
7运算符
64 1
|
11月前
1-6 运算符
1-6 运算符
61 0
|
5月前
|
海象运算符
海象运算符。
89 2
运算符
算术运算符细节: “12”+1 = 121 “12”-1 = 11 true + 1 = 2 js中 false就是0或null,否则为 true(默认为 1) 逻辑运算符细节(!、&&、||) &与&&:&显示的是0或1、&&显示false或true 位运算符(&、|、^) 小细节: 1、undefined:未定义,其实就是一个常量 2、获取具体值的类型,可以通过typeof()来完成 选择语句(switch) 无论default与case位置如何,总是先执行第一个case,最后执行def
|
11月前
|
C++
c++运算符
c++运算符
72 2
|
11月前
|
c运算符
c运算符
53 0
C++中的运算符:深入理解与应用
C++中的运算符:深入理解与应用
145 0
|
11月前
|
Python基础教程——运算符
Python基础教程——运算符
|
11月前
|
C++
c++位运运算符
c++位运运算符
66 0
|
11月前
|
各种运算符的介绍,超详解
各种运算符的介绍,超详解
159 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等