C运算符部分

举报
周棋洛 发表于 2022/05/26 00:05:32 2022/05/26
【摘要】 文章目录 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;
    
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

在这里插入图片描述


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;
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

需要注意使用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中没意义,实际上是无效的

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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


几个术语

数据对象:用于储存值的数据区域的统称
左值,可修改的左值:用于表示或存储位置的标签
右值:指的是能赋给可修改左值的量,且本身不是左值。比如a=5,这是a是可修改的左值,5是右值,事实上,右值可以是变量,常量或者其他可以求值的表达式


加法运算符:+

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

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

  
 
  • 1
  • 2

减法运算符:—

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

a=30-10;

  
 
  • 1

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

在这里插入图片描述


符号运算符:+和-

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


乘法运算符:*

不多说,同理


除法运算符:/

整/整== 整
10/2==5

小数/小数== 小数
10.0/2.0==5.0

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


运算符优先级

  1. 括号
  2. 乘除(先后顺序)
  3. 加减(先后顺序)
  4. 赋值
    当然这仅仅在一部分里,随着运算符的增多继续深入

sizeof运算符和size_t类型

sizeof运算符以字节为单位返回运算对象的大小。
运算对象可以是具体的数据对象(变量名)或类型。如果运算对象是类型,则必须用圆括号括起来。

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

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

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

  
 
  • 1
  • 2
  • 3

求模运算符:%

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


递增运算符:++

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

i++;
++i;

  
 
  • 1
  • 2

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

  • a=3*++i;
  1. i递增1
  2. 然后3乘i,得到结果赋值给a
  • a=3*i++
  1. 3先乘i,并将结果赋值给a
  2. i递增1

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


递减运算符:_ _

与++相对应


优先级

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

  
 
  • 1
  • 2
  • 3

5*6=30
b的值只有在使用后才递增为4,

所以可以看出优先级:

  1. 括号
  2. 递增递减运算符
  3. 乘除
  4. 加减
  5. 赋值
  6. ……

在这里插入图片描述

泰兰德的夏天永不停歇

我爱的少年永远热烈!!!

文章来源: blog.csdn.net,作者:周棋洛ყ ᥱ ᥉,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/m0_53321320/article/details/118460903

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。