当前位置:首页 » 编程语言 » c语言问号冒号符号详解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言问号冒号符号详解

发布时间: 2022-06-21 02:55:24

A. c语言中“”和“:”是什么意思

起来的意思
我举个例子吧
int
a
=3;
int
b=
2;
int
c;
if(a>b)?(c=a):(c=b);//意思是如果a>b就执行c=a,否则就执行c=b
类似于下面的语句
if(a>b)
{
c=a;
}
else
{
c
=
b;
}

条件运算符是
?
:

表达式为:表达式1?表达式2:表达式3
表达式2是条件成立(逻辑值为1)时整个表达式的取值
表达式3是条件不成立(逻辑值为0)时整个表达式的值
例如:
m<n?x:a+3
a++>=10
&&
b-->20
?
a
:
b
x=3+a>5
?
100
:
200

优先级

条件运算符优先级高于赋值、逗号运算符,低于其他运算符
例如:

m<n
?
x
:
a+3
等价于:(m<n)
?(x)
:(a+3)

a++>=10
&&
b-->20
?
a
:
b
等价于:(a++>=10
&&
b-->20)
?
a
:
b

x=3+a>5
?
100
:
200
等价于:x=
((
3+a>5
)
?
100
:
200
)

结合性

条件运算符具有右结合性
当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。
例如:
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++部落------------Hello
Word!--------
无论你是初学者还是家,只要你热爱编程、交流、分享,c++部落因为你而精彩~

B. c语言中":"(冒号)和问号是什么意思

是问号和冒号一起吗
bool a = 1>3?false:true;
?: 是三元运算符
由条件运算符组成的条件表达式的一般形式为:
表达式1 ? 表达式 2 : 表达式 3

其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。

计算过程很好理解:
先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值。

C. c语言中" "(冒号)和问号是什么意思

你问的是问号表达式吧?a=1>0?1:0;它的意思就是1>0条件为真a=1,否则a=0

D. c里面冒号的意思,C语言中的冒号(:是什么意思

有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。一、位域的定义和位域变量的说明位域定义与结构定义相仿,其形式为:

struct 位域结构名
{ 位域列表 };

其中位域列表的形式为: 类型说明符 位域名:位域长度

例如:

struct bs
{
int a:8;
int b:2;
int c:6;
};

位域变量的说明与结构变量说明的方式相同。 可采用先定义后说明,同时定义说明或者直接说明这三种方式。例如:

struct bs
{
int a:8;
int b:2;
int c:6;
}data;

说明data为bs变量,共占两个字节。其中位域a占8位,位域b占2位,位域c占6位。对于位域的定义尚有以下几点说明:

1. 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如:

struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*从下一单元开始存放*/
unsigned c:4
}

在这个位域定义中,a占第一字节的4位,后4位填0表示不使用,b从第二字节开始,占用4位,c占用4位。

2. 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。

3. 位域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的。例如:

struct k
{
int a:1
int :2 /*该2位不能使用*/
int b:3
int c:2
};

从以上分析可以看出,位域在本质上就是一种结构类型, 不过其成员是按二进位分配的。
11

E. c语言中" : "(冒号)和问号是什么意思

bool a = 1>3?false:true;

?: 是三元运算符由条件运算符组成的条件表达式的一般形式为:

表达式1 ? 表达式 2 : 表达式3,其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。

计算过程很好理解:先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假,则求表达式3 的值并把它作为整个表达式的值。

(5)c语言问号冒号符号详解扩展阅读:

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

F. C语言里面问号什么意思:什么意思

C语言里面?、:是三木运算符,其中?用来判断条件的真假,:用来根据判断结果决定取值。

如(a<b)?a:b"是一个"条件表达式",如果a<b为真,则表达式取a值,否则取b值。条件运算符由"?"和":"两个符号组成, 要求有3个操作对象,所以条件运算符也叫三目运算符。

条件表达式的一般形式为:表达式1?表达式2:表达式3

(6)c语言问号冒号符号详解扩展阅读

关于三目运算符的说明:

1、通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式.例如:

(x==y)?'Y':'N'、(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)、ch=(ch>='A'&&ch<='Z')?(ch+32):ch均为合法的条件表达式。

2、条件表达式的执行顺序为:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;

若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。例如:(a>=0)?a:-a执行结果是a的绝对值。

3、在程序中,通过把条件表达式的值直接赋予某个变量.。例如:min=(a<b)?a:b执行结果就是将条件表达式的值赋予变量min,即将a和b二者中较小的数赋给min。

G. C语言中:x>yx:y; 是什么意思问号和冒号的作用是什么

如果x>y,就把x的值赋给z,否则把y的值付给z。

可以把z=x>y? x : y理解为

if(x>y){

z=x;

}else{

z=y;

}

(7)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。

H. C语言中冒号运算符是怎样使用的,比如 (a/3>0a/10:a%3))

C语言中没有单独的冒号运算符,冒号需要与问号合用,形成条件运算符。

C语言中条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。

条件运算符的使用形式为:b ? x : y

其运算过程为:先计算条件b,然后进行判断:如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。

如:

inta=5,b;
b=a/3>0?a/10:a%3;//此时,b的结果为a/10=0

运算过程解析:

先计算a/3>0 , 因为a=5,所以,a/3=5/3=1 > 0,条件为true

所以,b=a/10 = 5/10=0

a%3被略过了。

条件表达式,可以用if语句来改写,如,上面的例子可改为:

inta=5,b;
if(a/3>0)
b=a/10;
else
b=a%3;

I. C语言运算符中问号是什么意思

问号是条件运算符的意思,跟冒号组合使用。条件运算符优先级高于赋值、逗号运算符,低于其他运算符。

表达式为:表达式1?表达式2:表达式3。先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。


(9)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 不等价。

J. C语言中,问号表示什么意思

c语言运算符中问号是条件运算符(与冒号组合)。该运算符是c语言中唯一一个三目运算符。
可以通过如下的实例来说明条件运算符的用法:
int a=1, b=3;
int max;
max = a>b ? a : b; // 如果a>b,则max的值为a,否则max的值为b,也即取a与b中的较大者