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

c语言问号语句用法

发布时间: 2022-07-06 03:56:20

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

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

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

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

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

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

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

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

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

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

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

Ⅳ c语言中对文件的操作,解释带问号语句

看代码中注释

不懂处再追问

intbrowse(char*key,fpos_t*p,CON*s)
{
FILE*f=0;//定义一个空文件指针相当于FILE*f=NULL;
inti=0,r=0;CONt;
char*a=0,*b=0;fpos_tq;//这里是三个变量定义a,b为字符指针char*型,并赋值为空(NULL).q为fpos_t型,可以认为是int无初始化值
if(!s)//判断传入参数等同于if(s==NULL)即如果传入的s指针为空则直接返回
return0;
f=fopen(fileDB,"rb");
if(!f){
printf("数据库暂无记录 ");
return0;
}/*endif*/
printf("编号 姓名 单位 电话 电邮 ");
printf("------------------------------------------------ ");
while(!feof(f))//判断是否达到文件结尾。如达到文件结尾(feof(f)=true)则退出循环不再读文件
{
fgetpos(f,&q);//获取当前文件偏移即读取文件到哪个字节了
r=fread(&t,sizeof(t),1,f);//从文件中拂去sizeof(t)个字节数据并存到变量t中
if(r<1)break;
if(t.name[0]==0)
continue;
if(key)
{
a=strstr(t.name,key);//从t.name中查找是否存在key子串如果存在返回key所在的地址,不存在返回NULL
b=strstr(t.tele,key);
if(a==0&&b==0)//t.name和t.key中都没有key
continue;
}/*endif*/
if(p)*p=q;
if(s)memcpy(s,&t,sizeof(t));//复制t中的数据到s中。由于刚进函数时判断过s所以这里的if(s)是多余的
i++;
show(i,&t);//这个不是系统函数应该是自定义的。从命名上看应该是打印t中数据的值
}/*endwhile*/
fclose(f);
printf("------------------------------------------------ ");
returni;
}/*endbrowse*/

综合: 这个函数就是从fileDB中读取数据,并查找每一项 如果在t.name或者t.tel中存在key值(检索关键字)则在参数s中返回查找到的条目,并在参数p中返回该条目所在的偏移量。 该函数返回值为查找到的符合条件的总条目数

存在的问题:如果在fileDB中存在超过一条的符合数据,只会返回最后一条的详细数据

如果没有找到 则p和s值都不会改变 只有通过返回值才能判断出查找失败

Ⅳ 在C语言中的问号是什么意思

你的
问号
是不是放错地方了?那个语句应该是判断是否大于等于吧?
是返回1,不是返回0;

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

bool a = 1>3?false:true;

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

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

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

(6)c语言问号语句用法扩展阅读:

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

Ⅶ C语言问号表达式

……?……:……

式A?B:C值为:若A为真,则B;若A为假,则C。

但有一点是值得注意的,那就是问号表达式的结合性,问号表达式是从右往左的运算方向

尤其是当问号表达式嵌套使用时得注意这个问题,例如

代码:

int a=1,b=2,c=3,d=4;

printf("%d",a<b?a:c<d?c:d);

正确结果是:1

因为先执行的是c<d?c:d,会返回c,然后执行a<b?a:c

因此得到的结果就是1(可以在编译器上实验一下)