㈠ c语言中" : "(冒号)和问号是什么意思
bool a = 1>3?false:true;
?: 是三元运算符由条件运算符组成的条件表达式的一般形式为:
表达式1 ? 表达式 2 : 表达式3,其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。
计算过程很好理解:先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。
(1)c语言两个问号两个冒号扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
㈡ C语言中有两个冒号是什么意思见图片!
两个冒号表示作用域操作符。::操作符在其左操作数的作用域内找到其右操作数的名字。用于访问某个命名空间中的名字,如std::cout,表明名字cout来自命名空间std。同样的可以用来从某个类取名字,如string::size_type,表明size_type是string类定义的
㈢ c语言中":"(冒号)和问号是什么意思
是问号和冒号一起吗
bool a = 1>3?false:true;
?: 是三元运算符
由条件运算符组成的条件表达式的一般形式为:
表达式1 ? 表达式 2 : 表达式 3
其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。
计算过程很好理解:
先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值。
㈣ C语言运算符中问号是什么意思
问号是条件运算符的意思,跟冒号组合使用。条件运算符优先级高于赋值、逗号运算符,低于其他运算符。
表达式为:表达式1?表达式2:表达式3。先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
(4)c语言两个问号两个冒号扩展阅读
条件运算符具有右结合性
当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。
例如:
w<x ? x+w : x<y ? x : y与 w<x ? x+w : ( x<y ? x : y) 等价。
w<x ? x+w : x<y ? x : y与 (w<x ? x+w : x<y) ? x : y 不等价。
㈤ c语言的双冒号是什么意思::
双冒号(::)用法:
1、表示“域操作符”。
2、直接用在全局函数前,表示是全局函数。
3、表示引用成员函数及变量,作用域成员运算符。
4、命名空间作用域符,即2直接用在全局函数前,表示是全局函数,在运算符等级中属于最高级的。
(5)c语言两个问号两个冒号扩展阅读:
1、在类外部声明成员函数。void Point::Area(){};
2、调用全局函数;
3、表示引用成员函数变量及作用域,作用域成员运算符 例:System::Math::Sqrt() 相当于System.Math.Sqrt()
4、调用类的静态方法: 如:CDisplay::display(...)
可以非正式地把域看作是一个可视窗口全局域的对象在它被定义的整个文件里,一直到文件末尾都是可见的。
在一个函数内被定义的对象是局域的(local scope), 它只在定义其的函数体内可见。每个类维持一个域,在这个域之外 ,它的成员是不可见的。类域操作符告诉编译器后面的标识符可在该类的范围内被找到。
㈥ C语言编译出错不知道为什么
问号运算符是三目运算符,表达式1?表达式2:表达式3;
可以连续用,但是只能分两种情况,不能分三种以上的情况。
你连用了两个冒号,而且三种情况是并列的,所以不符合问号运算符的用法。
另外,printf拼写错误,写成prinf了。
改为:
a>b?printf("%d 大于 %d.\n",a,b):((a==b?printf("两个数相等,均为 %d.\n",a):printf("%d 小于 %d.\n",a,b)));
㈦ 上课走神了。。。那个问好和冒号代表什么意思 c语言
第一个式子:如果3>4为真,则x=4,否则x=5/2
相当于
if(3>4) x=4;
else x=5/2;
㈧ C语言中:x>yx:y; 是什么意思问号和冒号的作用是什么
如果x>y,就把x的值赋给z,否则把y的值付给z。
可以把z=x>y? x : y理解为
if(x>y){
z=x;
}else{
z=y;
}
(8)c语言两个问号两个冒号扩展阅读:
三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
㈨ C语言里面问号和冒号表达式的问题请教 (0x30& 0x20) 0x00 : 0x28 这样的表达式是什么意思啊
这是一个条件表达式,格式为 表达式1?表达式2:表达式3
可以替代某些if-then-else 语句;作用是,
在执行了表达式1后,如果数值为true(真),则计算表达式2,并将结果作为整个表达式的数值;
如果表达式的值为false(假),则计算表达式3的值,并将结果作为整个表达式的数值;
0x作为数字开头,表示该数为十六进制,(0x30& 0x20)的值为真,即1,因此执行0x00,他的值为假,即0,故整个表达式值为假,也就是0.
㈩ C语言里两个冒号是甚么意思
双冒号(::)用法
(1)表示“域操作符”
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,
就要写成void A::f(),表示这个f()函数是类A的成员函数。
(2)直接用在全局函数前,表示是全局函数
例:在VC里,你可以在调用API 函数里,在API函数名前加::
(3)表示引用成员函数及变量,作用域成员运算符
例:System::Math::Sqrt() 相当于System.Math.Sqrt()
VC中如下
::是C++里的“作用域分解运算符”。比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。
:: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,考试,大提示在类内定义的时候,打此函数名默认 调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。比如在VC里,你可以在调用API函数时,在API函数名前加::。