c语言中!与~有什么区别?最好举例说明
在c语言中,!和~均表示取反,这两个的区别在于:
! :代表逻辑取反,即:把非0的数值变为0,0变为1;
~ :表示按位取反,即在数值的二进制表示方式上,将0变为1,将1变为0;
上述其实可以从java中进行借鉴理解,java中!代表逻辑取反,针对的是boolean型值计算;而~代表数值取反,针对整型值进行计算。
在C语言的if语句中,用做判断的表达式是什么表达式
一般情况下这个是选逻辑表达式的。因为if是逻辑判断,但如果放在c和C++语言中,所有非零运算结果均识为true,不须强制转换,所以这里选d是正确的。但是在其他语言中是不正确的。
它主要考查的内容就是,C/CPP中并没有真正的布尔值,只是将非零数认作false而已。所以你可以理解为if是判断非零数即可,或者理解为其它。实际上,在C/CPP中的布尔值是用int表示的。也就是16位进制数表示,并不是单纯的一个bit。
如int a =5;if(a) 语句块; 该代码在C/CPP中是合法的,但是C#中是不合法的,无法通过编译器编译。
所以若在C/CPP中选逻辑表达式时,很明显算术达式是不能成立的。
而关系表达式的结果就是逻辑值(也可以将逻辑值认为是逻辑表达式)。
比如int a=5, b=6;a>b是关系表达式,结果是逻辑值false,但false可以看作是逻辑值,也可以看作是逻辑表达式。
而a-b则是算术表达式,三者均可以做为if的判断条件。
所以即使在C#语言中,严格区分的情况下,关系表达式也是被认为可行的,而逻辑表达式也是可以得到逻辑结果的。所以这里应当是选择了做任意表达式。
-> 在c语言中是什么意思
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。
C语言里try是什么意思
C语言里try是一个语句或函数。其作用是是抛出错误用。 将有可能产生错误的语句括在一起,放入try语句块。如果在try语句块中发生异常,FlashPlayer会创建一个错误对象,并将该Error对象派发至第一个可用的catch块。catch语句块提供对错误的处理。如果没有try语句,或者try语句没有出现错误,则catch语句不会被引发。如果在try语句块的其中某个语句中检测到错误,则会执行附加到该try语句的catch语句。catch语句可以并列使用,即在一个try语句块之后,存在多个catch语句块,以处理不同的错误对象。 try语句是:try { do something } catch(some error) { do something }