C 语言——运算符基础知识浅析(c语言中运算符的用法)
yund56 2025-05-11 01:46 18 浏览
关于这个运算符,这是一个很常见的知识,从在座的各位会数数起,我们就接触到了最 简单的十以内的加减法。所以,我写这篇文章的主要目的依然和前面的基础知识一样,主要 是把它拿过来,在 C 语言的基础上进行理解、实践。然后,下面我会在 Linux 环境下,实践 C 语言所有的运算符,理解它的算法、规则。
那么 C 语言中有哪些运算符呢?算术运算符、关系运算符、逻辑运算符、位运算符、赋 值运算符、特殊运算符。下面我会一一通过程序例子的形式来实现每一个运算符的用法。
- 算术运算符浅析
如上图所示,算术运算符包含了“+、-、*、/(除)、%(取余)、++、--”。唯一要注意 的是,浮点型,也就是 float/double 类型不能进行取余操作。其次要注意的是,++(自增) 和—(自减)运算,后面它们有一个前加加、后加加,还有前减减、后减减。至于它们有何 区别呢?下面我将通过一个例程来为大家讲解一下。
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a = 20, b = 20;
int c = 20, d = 20;
int sum1 = 0, sum2 = 0;
int sum3 = 0, sum4 = 0;
a++;
sum1+=a;
printf("sum1=%d\n" , sum1);
++b;
sum2+=b;
printf("sum2=%d\n" , sum2);
c--;
sum3+=c;
printf("sum3=%d\n" , sum3);
--d;
sum4+=d;
printf("sum4=%d\n" , sum4);
return 0;
}
好了,上述就是直接定义一个“++、--”运算符,然后直接拿下来用。就是无论如何,在定义 a++、++b、c--、--d 时,然后直接拿到下一行语句上用,它们只会该减则减,该加则 加,没有什么特殊的地方。但是,要想特殊一点,请看下面这个程序。
#include<stdio.h>
int main(int argc, const char *argv[])
{
int a = 20, b = 20;
int c = 20, d = 20;
int sum1 = 0, sum2 = 0;
int sum3 = 0, sum4 = 0;
a++;
sum1 += a;
printf("sum1=%d\n" , sum1);
printf("a++=%d\n" , a++);
++b;
sum2 += b;
printf("sum2=%d\n" , sum2);
printf("++b=%d\n" , ++b);
c--;
sum3 += c;
printf("sum3=%d\n" , sum3);
printf("c--=%d\n" , c--);
--d;
sum4 += d;
printf("sum4=%d\n" , sum4);
printf("--d=%d\n" , --d);
return 0;
}
上面我直接加了四条 printf 语句,就是直接输出“a++、++b、c--、--d”的结果,这时的 结果就和上面的程序得到的结果不同。我们可以看出,a++(后加加)不会先运算,它会先 赋值再运算;++a(前加加)不会先赋值,它会先运算再赋值;后面的“--”运算也是这个原理。
- 关系运算符与逻辑运算符浅析
对于关系运算符和逻辑运算符,我们主要是从上面两张图来了解并应用一下,自己试着 编个程序,首先定义一下两个变量,对这两个变量进行关系运算并赋值,再通过 printf 打印 输出出来。而逻辑运算符,我们要在关系运算符的基础上,进一步对其进行比较,比如,逻 辑非遵从的原则是,非 0 即 1、非 1 即 0;逻辑与运算符,则是用“&&”表示,遵从短路特性、 逢 0 截止的原则,也就是,只要左右两个表达式有一个为 0,则全为 0(全 0 则 0);逻辑或 运算符,则是用“||”表示,也是遵从短路特性、逢 1 截止的原则,也就是,只要左右两个表达 式有一个为 1,则全为 1(全 1 则 1)。
#include<stdio.h>
#define X 29
#define Y 23
int main(int argc, const char *argv[])
{
int a = 29, b = 23;
int c,d,e,f,g,h;
c = (a > b);
printf("c=%d\n" , c);
d = (a >= X);
printf("d=%d\n" , d);
e = (a < b);
printf("e=%d\n" , e);
f = (a <= Y);
printf("f=%d\n" , f);
g = (a == b);
printf("g=%d\n" , g);
h = (a != b);
printf("h=%d\n" , h);
return 0;
}
#include<stdio.h>
#define X 29
#define Y 23
int main(int argc, const char *argv[])
{
int a = 29, b = 23;
int c,d,e,f,g,h;
c = ((a > b) && (b > a));
printf("c=%d\n" , c);
d = ((a >= X) && (b <= Y));
printf("d=%d\n" , d);
e = ((a < b) || (b < a));
printf("e=%d\n" , e);
f = ((a <= Y) || (b >= X));
printf("f=%d\n" , f);
g = (!(a == b));
printf("g=%d\n" , g);
h = (!(a != b));
printf("h=%d\n" , h);
return 0;
}
- 位运算符运算符的优先级浅析
根据上图所示,我们一个一个来说明一下其作用。首先是位逻辑反,也就是对该变量取 反操作,比如,~11001000,那么它的取反是我们这个二进制 00110111;其次是位逻辑与,和逻辑与相比,它 差了一个“&”符号,只要左右两边的表达式有 0 存在,那就全为 0,要全 1 才为 1;然后是位逻辑或,和逻辑或相比,它差了一个“|”符号,只要左右两边的表达式有 1 存在,那就全为 1, 要全 0 才为 0;再然后是位逻辑异或,用符号“^”表示,它主要遵守的是相同为 0、不同为 1 的原则;最后还有右移位和左移位,右移位用两个右尖括号表示,即,“>>”,左移位用两个 左尖括号表示,即“<<”。
- 赋值运算符、特殊运算符基础知识浅析
那么什么是特殊运算符呢?我们这里主要介绍条件运算符(又叫三目运算符)和sizeof运算符(计算关键字大小的一个函数)。条件运算符的一般形式是:
<表达式 1> ? <表达式 2> : <表达式 3>
这里sizeof运算符需要注意一点,他针对的仅是数据类型,而不针对变量!它的主要形式是:
sizeof(<类型或变量名>)
最后再来看两个代码,学习C语言嘛,要的就是代码量,希望大家也能够在熟悉这些基础知识后,自己多多敲敲代码、手写代码!!!
#include <stdio.h>
int main(int argc, char **argv)
{
int count, sum;
count = 0; sum = 0;
while (count++ < 10)
{
sum +=count;
}
printf("sum = %d\n", sum);
return 0;
}
#include<stdio.h>
#define N 20
int main(int argc, const char *argv[])
{
unsigned char x = 0x17 , y;
y = ~x;
printf("y=%d\n" , y);
// char a = 20 , b = 30 , c , d;
// c = (a ^ b);
// d = (a ^ N);
// printf("c=%d d=%d\n" , c , d);
// char a = 0xe4 , b;
// b = (a << 3);
// printf("b=%d\n" , b);
int e = 107 , f = 208 , g , h;
g = ((f >= e) ? (f + 18) : (e - 100));
printf("g=%d\n" , g);
h = ((e += 5) , (f -= 10));
printf("h=%d\n" , h);
printf("sizeof(char)=%d\n" , sizeof(char));
printf("sizeof(int)=%d\n" , sizeof(int));
return 0;
}
END
相关推荐
- 今日起,办理游戏版号这么做就行了!真的太方便了
-
在“大众创业,万众创新”的浪潮下,我国很多创业者也看到了游戏的前景,准备在游戏行业分一杯羹。 但根据国家新闻出版广电总局颁布的《关于移动游戏出版服务管理的通知》,游戏需要通过国家新闻出版广电总局...
- 给大家推荐些好的c语言代码的网站
-
C语言,那就来推荐几个吧,部分含有C++:1、TheLinuxKernelArchives(kernel.org)Linux内核源码,仅限于C,但内核庞大,不太适合新手;2、redis(redi...
- 手游平台没有源码的三大危害
-
搭建一款属于自己的手游平台可以直接和游戏研发商对接游戏,既减少中介的差价,还能根据自己需求去选择游戏。对于玩家而言,手游平台给予了玩家更多的选择机会,对于运营者而言,借助平台可以更好地服务玩家,通过对...
- 游戏源代码开发时需要什么,需要哪些团队成员?
-
游戏由于她轻松娱乐,对战刺激,寓教于乐等特点,吸引住了一大批不一样年龄阶段的用户,例如喜爱竞技游戏的年轻群体,需要益智游戏的儿童等。游戏源代码是游戏构建的基础,尽管将开发时分成开发软件和游戏开发2个概...
- 育碧经典游戏《孤岛惊魂1》源代码遭泄露,玩家表示可以运行
-
IT之家7月3日消息,一份名为“FarCry1.34Complete”的游戏源代码已经出现在了互联网档案网站“Archive.org”上,并且在Reddit论坛和各种社交媒体上得到...
- 神秘网站倒数结束 令人一头雾水
-
还记得那个疑似小岛秀夫作品的《黑色猎犬》倒计时网站吗?现在该网站已经停止倒计时,仅剩一段话“这里原来有一个倒计时,现在没了”……点击这句话会跳转到国外网站Funhaus的一个莫名其妙的视频,然而评论的...
- LOL源代码娜美免费领取地址 LOL源代码娜美领取活动网址分享
-
[海峡网]在英雄联盟中近日国服的服务器一直不稳定,繁出现卡顿和功能错误等问题,官方现在正在努力维护,为表歉意将免费赠送给玩家一款“源代码·娜美”的皮肤,那么这个皮肤要怎么领取呢,小编相信小伙伴们一定都...
- 个人网站集成js小游戏《圈小猫》教程及源码
-
今天在某网站浏览帖子的时候,发现帖子被删除了,然后弹出了404页面,页面上集成了一个小游戏,小游戏长什么样子呢?看下面这个图!第一步查看小游戏源码,发现这个小游戏完全是由JavaScript编写的,因...
- Scratch创意编程-数学问答游戏
-
项目名称:数学问答游戏目标年龄群体:8-12岁项目简介:在这个Scratch创意编程项目中,学生们将扮演数学家,通过解答数学题目来挑战自己的数学技能。游戏中包含了加法、减法、乘法和除法等基本算术题,以...
- 少时不努力长大程序猿 酷比魔方AI百变编程套件体验测评
-
本文产品为厂家送测,坚持独立的评价观点是笔者创作的基本底线,绝不会因商品来源不同而有所偏颇,请各位放心。写在开始讲讲今天男主的故事这篇体验到的目标群体是跟我一样,家中有个在上小学二年级的小学生。首先...
- 孩子的scratch作品只能演示?教你把它三步变为电脑软件
-
随着少儿编程的发展,越来越多的家长和孩子开始投身其中。对于初学者来说,最好的编程工具就是Scratch,它是麻省理工学院的“终身幼儿园团队”开发的图形化编程工具,主要面对青少年开放。这是对孩子最好的编...
- 打地鼠小游戏制作教程
-
打地鼠这个小游戏貌似比我的年龄都要大,这次我们使用scratch3.0图形化编程软件来制作一款我们自己的“打地鼠”。我们先准备4样角色,分别是:地鼠角色、锤子角色、地洞角色、草地角色。地鼠→使用猫...
- Scratch2.0接苹果小游戏讲义整理
-
Scratch2.0接苹果小游戏概貌见动图:这又是一款经典的Scratch小游戏,是孩子们学习Scratch编程软件的良好载体,不容错过。(一)玩法说明接到慢速的红苹果一个加1分;接到中速的红苹果一个...
- 少儿编程太难?原来可以闯关玩游戏啊
-
随着编程学习全球化的趋势,国内编程学习热潮日盛,越来越多的家长开始让孩子接触学习编程。然而我们都不了解这个少儿编程是到底是什么,近年来,许多家长开始给小孩报编程学习班。最小的从幼儿园开始就在学习...
- 如何在Scratch中创建一个两人赛艇游戏
-
本分步指南将教您如何使用Scratch程序创建划船游戏。完成对这个简单游戏的编程后,两条船将使用按键命令一起竞赛。步骤1.打开Scratch。2.删除名为“Sprite1”的猫。您可以通过右键单击它...
- 一周热门
- 最近发表
- 标签列表
-
- filter函数js (37)
- filter函数excel用不了 (73)
- 商城开发 (40)
- 影视网站免费源码最新版 (57)
- 影视资源api接口 (46)
- 网站留言板代码大全 (56)
- java版软件下载 (52)
- java教材电子课本下载 (48)
- 0基础编程从什么开始学 (50)
- java是用来干嘛的 (51)
- it入门应该学什么 (55)
- java线上课程 (55)
- 学java的软件叫什么软件 (38)
- 程序开发软件有哪些 (53)
- 软件培训 (59)
- 机器人编程代码大全 (50)
- 少儿编程教程免费 (45)
- 新代系统编程教学 (61)
- 共创世界编程网站 (38)
- 亲测源码 (36)
- 三角函数积分公式表 (35)
- 函数的表示方法 (34)
- 表格乘法的公式怎么设置 (34)
- sumif函数的例子 (34)
- 图片素材 (36)