首页 > 其他分享 >C语言运算符

C语言运算符

时间:2022-11-22 22:40:51浏览次数:53  
标签:ii 操作数 C语言 运算符 printf sizeof 赋值


文章目录

  • ​​一、C语言的运算符​​
  • ​​二、算术运算符​​
  • ​​三、赋值运算符​​
  • ​​四、sizeof运算符​​
  • ​​五、运算符的优先级​​
  • ​​六、获取视频教程​​
  • ​​七、版权声明​​

一、C语言的运算符

C语言有六种运算符,如下:

1)算术运算符;

2)赋值运算符;

3)sizeof运算符;

4)关系运算符;

5)逻辑运算符;

6)位运算符。

本章将只介绍算术运算符、赋值运算符和sizeof运算符,关系运算符和逻辑运算符放在其它章节中介绍,位运算符极少使用,了解即可,不深入学习。

二、算术运算符

下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 18,变量 B 的值为5,则:

运算符

描述

实例

+

两个数相加

A+B 将得到 23

-

一个数减另一个数

A-B 将得到 13

*

两个数相乘

A*B 将得到 90

/

分子除以分母

A/B 将得到 3.6

%

余数运算符,整除后的余数

B%A 将得到 3

++

自增运算符,整数值增加 1

A++ 将得到 19

自减运算符,整数值减少 1

A-- 将得到 17

示例(book15.c)

/*
* 程序名:book15.c,此程序演示算术运算符的使用。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
double A=18; // 定义变量A,赋值18
double B=5; // 定义变量B,赋值5

printf("A的值是:%lf\n",A);
printf("B的值是:%lf\n",B);

printf("A+B的值是:%lf\n",A+B);
printf("A-B的值是:%lf\n",A-B);
printf("A*B的值是:%lf\n",A*B);
printf("A/B的值是:%lf\n",A/B);

//printf("A除B的余数是:%lf\n",A%B);

A++; // 自增1
printf("A自增后的值是:%lf\n",A);

B--; // 自减1
printf("B自减后的值是:%lf\n",B);

return 0;
}

运行效果

C语言运算符_操作数


变量的自增或自减有两种写法:

变量名++; // 表示在本次使用变量后再自增;

++变量名; // 表示在本次使用变量前自增;

变量名–; // 表示在本次使用变量后再自增;

–变量名; // 表示在本次使用变量前自减;

示例(book16.c)

/*
* 程序名:book16.c,此程序演示算术运算符++和--的使用。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
int ii=0; // 定义变量ii并初始化

ii=10;
printf("ii++的值是:%d\n",ii++); // 在使用后自增
printf("ii的值是:%d\n",ii);

ii=10;
printf("++ii的值是:%d\n",++ii); // 在使用前自增
printf("ii的值是:%d\n",ii);

return 0;
}

运行效果

C语言运算符_运算符_02

三、赋值运算符

下表列出了 C 语言支持的赋值运算符:

运算符

描述

实例

=

简单的赋值运算符,把右边操作数的值赋给左边操作数

C = A + B 将把 A + B 的值赋给 C

+=

加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数

C += A 相当于 C = C + A

-=

减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数

C -= A 相当于 C = C - A

*=

乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数

C *= A 相当于 C = C * A

/=

除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数

C /= A 相当于 C = C / A

%=

求余数且赋值运算符,求两个操作数的模赋值给左边操作数,浮点数不适用取余数。

C %= A 相当于 C = C % A

赋值运算符支持的是C语言的基本数据类型,包括char、int和double,字符串(字符数组)不能使用赋值运算符。

示例(book17.c)

/*
* 程序名:book17.c,此程序演示赋值运算符的使用。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
int C=0; // 定义变量C并初始化
int A=21; // 定义变量A并初始化

C=A;
printf("运算符 = 演示,C的值 = %d\n",C);

C+=A; // C=C+A;
printf("运算符 += 演示,C的值 = %d\n",C);

C-=A; // C=C-A;
printf("运算符 -= 演示,C的值 = %d\n",C);

C*=A; // C=C*A;
printf("运算符 *= 演示,C的值 = %d\n",C);

C/=A; // C=C/A;
printf("运算符 /= 演示,C的值 = %d\n",C);

C=200;
C%=A; // C=C%A;
printf("运算符 %= 演示,C的值 = %d\n",C);

return 0;
}

运行效果

C语言运算符_c语言_03

四、sizeof运算符

sizeof是C语言的关键字,它用来计算变量(或数据类型)在当前系统中占用内存的字节数。

sizeof不是函数,产生这样的疑问是因为sizeof的书写确实有点像函数,sizeof有两种写法:

用于数据类型

sizeof(数据类型);

数据类型必须用括号括住。

printf("字符型变量占用的内存是=%d\n",sizeof(char));   // 输出:字符型变量占用的内存是=1
printf("整型变量占用的内存是=%d\n",sizeof(int)); // 输出:整型变量占用的内存是=4

用于变量

sizeof(变量名);
sizeof 变量名;

变量名可以不用括号括住,带括号的用法更普遍,大多数程序员采用这种形式。

int ii;
printf("ii占用的内存是=%d\n",sizeof(ii)); // 输出:ii占用的内存是=4
printf("ii占用的内存是=%d\n",sizeof ii); // 输出:ii占用的内存是=4

五、运算符的优先级

在±*/四则运算符中,*/的优先级高于±,在C语言中,其它的运算符都有优先级,我不想介绍它们的优先级,我写了二十年的程序,也记不住各种运算符的优先级的关系。

我不建议程序员记住各种运算符的优先级,而是用括号解决全部的问题,括号的优先级是最高的,括号中的表达式会优先执行,这样各个运算符的执行顺序就一目了然了。

int d = a + (b * c);

六、获取视频教程


七、版权声明


作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!


标签:ii,操作数,C语言,运算符,printf,sizeof,赋值
From: https://blog.51cto.com/u_13748800/5878552

相关文章

  • C语言输入和输出
    文章目录​​一、数据输入​​​​二、数据输出​​​​三、断章取义​​​​四、printf输出​​​​1、输出描述性的文字​​​​2、输出整数​​​​3、输出字符​​​​4......
  • C语言if分支结构
    文章目录​​一、关系运算符​​​​二、条件判断​​​​三、只使用if语句​​​​四、多个ifelse语句​​​​五、if语句的嵌套​​​​六、保持良好的编程习惯​​​​......
  • C语言循环
    文章目录​​一、程序结构​​​​二、while循环​​​​三、dowhile循环​​​​四、循环的跳转​​​​五、while循环的应用​​​​六、for循环​​​​七、for循环嵌套......
  • C语言switch分支结构
    文章目录​​一、ifelse的不足​​​​二、switch语句​​​​三、注意事项​​​​四、课后作业​​​​五、获取视频教程​​​​六、版权声明​​一、ifelse的不足C语......
  • C语言数组
    文章目录​​一、数组​​​​二、占用内存的大小​​​​三、数组的初始化​​​​四、注意事项​​​​五、在for循环中数组​​​​六、二维数组​​​​七、多维数组​......
  • C语言函数
    文章目录​​一、函数的概念​​​​1、函数的概念​​​​2、函数的分类​​​​二、自定义函数的声明​​​​三、自定义函数的定义​​​​四、自定义函数代码的组织​​......
  • C语言变量的作用域
    文章目录​​一、变量的作用域​​​​二、全局变量​​​​三、局部变量​​​​四、函数的参数​​​​五、注意事项​​​​六、课后作业​​​​七、获取视频教程​​​......
  • C语言指针
    文章目录​​一、变量的地址​​​​二、指针​​​​三、对指针赋值​​​​四、通过指针操作内存变量​​​​五、再来讨论函数的参数传递​​​​六、空指针​​​​七、......
  • C语言字符
    文章目录​​一、ASCII码表​​​​1、ASCII控制字符(字符编码:0-31)​​​​2、ASCII可打印字符(字符编码:32-127)​​​​3、转义字符​​​​二、字符就是整数​​​​......
  • C语言浮点数
    文章目录​​一、浮点数的概念​​​​二、占用内存的情况​​​​三、浮点数的精度​​​​1、测试float类型​​​​2、测试double类型​​​​3、测试longdouble类型​......