写点什么

C 语言运算符

发布于: 2020 年 05 月 11 日
C语言运算符

一、C语言的运算符



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



1)算术运算符;



2)赋值运算符;



3)sizeof运算符;



4)关系运算符;



5)逻辑运算符;



6)位运算符。



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



二、算术运算符



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



示例(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;
}

运行效果

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



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



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



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



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



示例(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 语言支持的赋值运算符:



赋值运算符支持的是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;
}

运行效果

四、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);



六、版权声明



C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net

作者:码农有道



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

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

发布于: 2020 年 05 月 11 日阅读数: 76
用户头像

还未添加个人签名 2018.04.19 加入

freecplus开源框架作者。 freecplus框架是UNIX平台下C/C++程序开发的业务层基础框架。其目的是为C/C++程序员供免费的、开源的程序库。freecplus框架与C++标准库结合使用,可以极大的提高程序员的开发效率。

评论

发布
暂无评论
C语言运算符