C语言 ! 的用法

C语言里面的感叹号都有什么用法啊。。我只知道一个!=表示不等于,还有别的吗?速度回答啦。。。简单问题。说个具体的吧。for(a=1;!((a%m==0)&&(a%n==0... C语言里面的 感叹号 都有什么用法啊。。

我只知道一个!=表示不等于,

还有别的吗?速度回答啦。。。简单问题。
说个具体的吧。for (a=1;!((a%m==0)&&(a%n==0));a++);
这个里面的!是什么意思 ,还有它的优先等级怎么样?
展开
 我来答
旁才敬中
2021-07-08 · TA获得超过1011个赞
知道小有建树答主
回答量:1545
采纳率:100%
帮助的人:10.7万
展开全部
01 !c语言用来做逻辑运算中的非运算:感叹号用作非运算时,是单目运算符,与右侧的表达式结合;和等于号连用,组成逻辑判断的不等于运算:感叹号与等于号连用是一个操作符,表示逻辑运算的不等于,其为双目运算符,左右都要有表达式;出现于字符串中,或者以感叹号形式出现时,代表其本意,即作为字符常量,其阿克斯码值为三十三。

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。!c语言用来做逻辑运算中的非运算:感叹号用作非运算时,是单目运算符;和等于号连用,组成逻辑判断的不等于运算:感叹号与等于号连用是一个操作符,表示逻辑运算的不等于,其为双目运算符,左右都要有表达式;出现于字符串中,或者以感叹号形式出现时,代表其本意,即作为字符常量。

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

通过对C语言进行研究分析,总结出其主要特点如下:

1、简洁的语言

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

2、具有结构化的控制语句

C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。

3、丰富的数据类型

C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。

4、丰富的运算符

C语言包含34个运算符,它将赋值、括号等均是作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。

5、可对物理地址进行直接操作

C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势,故在系统软件编程领域有着广泛的应用。

6、代码具有较好的可移植性

C语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境,在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着,对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大的减少了程序移植的工作强度。

7、可生成高质量、目标代码执行效率高的程序

与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
snowyufei
2009-07-25 · TA获得超过124个赞
知道答主
回答量:64
采纳率:0%
帮助的人:53.5万
展开全部

■■问题剖析  “!”号 为取非运算符 (属于逻辑运算符的一种)

               结合性:从左至右(简称左结合性)

               优先级别:仅次于()、 []、->、.

               用途:用于表达式值的逆反;

    具体问题分析:在for语句中充当循环条件表达式的  

                  是!((a%m==0)&&(a%n==0)) 优先级由高

                  到低顺序为:()高于算术运算符%、==

                  高于&&符。 其整个循环条件为如果能够被m整除

                  且a能够同时被n整除则继续循环。

▲▲ 做人要厚道哟 虽然没有悬赏分值我仍就给你做了详细的回答。选择为最佳答案!

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hushanjiang
2009-07-25 · 超过16用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:46.5万
展开全部
取反的时候都可以用的,比如说flag=1,flag2=!flag;那么flag2就=0了,一般非0的数前面加!结果就是0,0加!结果是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
silvernii
2009-07-25 · TA获得超过3638个赞
知道大有可为答主
回答量:1667
采纳率:0%
帮助的人:1616万
展开全部
补充回答
!((a%m==0)&&(a%n==0))
这个!表示取反,!的优先级仅次于括号
如果((a%m==0)&&(a%n==0))是真,那么!以后就是假;如果是假,那么!以后就是真
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cd3232f
2009-07-25 · 超过32用户采纳过TA的回答
知道答主
回答量:138
采纳率:0%
帮助的人:85.1万
展开全部
表示非。记住 != 就是最常用的,其他的没有。这个不确定,说明你需要加强学习,不要想着问了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式