c语言中" : "(冒号)和问号是啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言中" : "(冒号)和问号是啥意思相关的知识,希望对你有一定的参考价值。

bool a = 1>3?false:true;

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

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

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

扩展资料:

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

参考资料来源:百度百科-c语言

参考技术A 是一个语句,判断一个表达式的真假来执行两条代码
比如
int a=9,b=8;
a>b?a=8:b=9; //就是这句
相当于if语句吧,问号前面的表达式为真的时候执行a=8,否则b=9;
明白了吧。本回答被提问者和网友采纳
参考技术B

    这是C语言的三目运算符。

    对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式从不会既计算x,又计算y。

    条件运算符是右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执行。

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

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

计算过程很好理解:
先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值。 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值。
参考技术D 冒号的话一般都是人家说话的时候就是打个冒号,说的是什么问号的话,一般是一个语句说完了等人家提的问题就是问好。

句点、单词和冒号的正则表达式

【中文标题】句点、单词和冒号的正则表达式【英文标题】:Regex for period, word, and then colon 【发布时间】:2021-05-07 09:36:28 【问题描述】:

是否有正则表达式、python 或 javascript 方法来搜索句点、单词和定义,然后将其附加到字典或其他对象?

例如:

。回归:回归是再次回到以前的状态或条件。修辞:修辞是使用语言说服或影响人们的技能或艺术,尤其是听起来令人印象深刻但可能不真诚或不诚实的语言。

这将变成"Reversion" : "A reversion is turning back again to a previous state or condition", "Rhetoric" : "Rhetoric is the skill or art of using language to persuade or influence people, especially language that sounds impressive but may not be sincere or honest"

【问题讨论】:

/\. (.*): (.*)\./ 这应该可以工作 我不会为此使用正则表达式,这是一个相当复杂的表达式。请记住:“有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题。” 【参考方案1】:

我在原句中插入了几句,以表明该方案可以获取文本中任意位置的模式。

我使用 reduce 将 matchAll 的返回值转换为一个对象。

x = `asoidn aiosjdn yaosui noapids poasm daioansoid apaoms d. Reversion: A reversion is turning back again to a previous state or condition. aasd aeoinad oianfds inauireb docn isenm opisd a. Rhetoric: Rhetoric is the skill or art of using language to persuade or influence people, especially language that sounds impressive but may not be sincere or honest.`;

matches = [...x.matchAll(/(\w+)\s*:\s*([^.:]+.)/g)];

obj = matches.reduce((dict, [_, name, text]) => (dict[name] = text, dict), );

console.log(obj);

【讨论】:

【参考方案2】:

看看这段代码:

my_final_result = 
input_str = ". Reversion: A reversion is turning back again to a previous state or condition. Rhetoric: Rhetoric is the skill or art of using language to persuade or influence people, especially language that sounds impressive but may not be sincere or honest."
# assuming that periods don't occur in definitions and only separate the particular definition from another
input_list = input_str.split(".")
for definition in input_list:
    definition_list = definition.split(":")
    if len(definition_list) == 2:  # check if definition is correct
        # save our key-value pair to dictionary. strip() deletes some possible spaces around the words
        my_final_result[definition_list[0].strip()] = definition_list[1].strip()
print(my_final_result)

【讨论】:

【参考方案3】:

过滤掉单词的正则表达式和定义是:

\.\s*([^:]*)\s*:\s*([^.]*)

演示:https://regex101.com/r/utgrCb/1/

\.\s* 起始点和可选空格 ([^:]*)“单词”是冒号之前的所有内容 \s*:\s*冒号用可选空格包围 ([^.]*)“定义”是最后一个点之前的所有内容

【讨论】:

【参考方案4】:

我想使用reduce,但最终得到了这个

const str = `Reversion: A reversion is turning back again to a previous state or condition. Rhetoric: Rhetoric is the skill or art of using language to persuade or influence people, especially language that sounds impressive but may not be sincere or honest.`

const dict = 
const arr = str.split(/[$\.]?(\w+): /g).slice(1)
for (let i=0;i<arr.length-1;i+=2) 
  dict[arr[i]] = arr[i+1].trim()

console.log("dict",dict)

【讨论】:

以上是关于c语言中" : "(冒号)和问号是啥意思的主要内容,如果未能解决你的问题,请参考以下文章

c语言中,函数定义中的冒号是啥意思?

C语言定义变量后面加冒号,数字啥意思

c语言中,m=(num1>num2)?num1:num2;这个语句啥意思?里面的问好和冒号是啥作用

case在c语言里是啥意思

C语言中 %d之间加了个数字啥作用?

c语言case的用法