一起talk C栗子吧(第一百六十三回:C语言实例--三目运算符)



各位看官们,大家好,上一回中咱们说的是套接字知识体系图的例子,这一回咱们说的例子是:三目运算符。闲话休提,言归正转。让我们一起talk C栗子吧!



看官们,我们在前一章回中对套接字进行了归纳和总结,从而结束了对套接字的介绍。这一回中我们将开始介绍一个新的知识,那就是三目运算符。

说明到三目运算符,有些看官可能不知道是什么,如果我写个符号,大家一定都知道是什么“?:”。啊!原来是它呀。已经有看官发出了感叹。其实,有时候我也会和大家一样,只知道使用,却不知道它叫什么,哈哈。

我们今天来介绍一下三目运算符,就是让大家知道它的正式名字,此外,再介绍一些关于它的用法。

  • 三目运算符的标准格式:expr1 ? expr2 : expr3。其中expr表示表达式,当然它也可以是某个变量。
  • 三目运算符的运算过程:如果expr1的值为真,那么该三目运算符的结果是expr2的值,否则是expr3的值。

我们接下来通过具体的代码来说明:

#include <stdio.h>

int main()
{
    int a,b,res;

    a = 3;
    b = 5;
    res = 0;

    printf("there are two value,they are: a=%d , b=%d \n",a,b);
    res = (a>b)?a:b;  // 求出两个值中的最大值

    if(res)
        printf("the MAX value of them is : %d \n",res);

    b = 0;
    res = 0;
    printf("there are two value,they are: a=%d , b=%d \n",a,b);
    res = (b==0)?0:(a/b);  //在进行除法操作前,判断除数的值是否为0

    if(res)
        printf("the / operation result is : %d \n",res);
    else
        printf("can not make / operation \n");

    return 0;
}

从上面的代码中我们可以看到,第一次使用三目运算符的时候,我们用它来计算两个值中的最大值,此时,三目运算符中的expr1是一个表达式:a>b,expr2和expr3分别是变量a和b.第二次使用三目运算符的时候,我们用它来进行除法运算。为了提高代码的健壮性,进行除法操作前,判断除数的值是否为0。此时,三目运算符中的expr1是一个表达式:b==0,expr2是数值0;expr3也是一个表达式:a/b。

看官们,下面是程序的运行结果,请大家参考:

there are two value,they are: a=3 , b=5
the MAX value of them is : 5
there are two value,they are: a=3 , b=0
can not make / operation 

看官们,在实际的工程中,我们经常三目运算符常常被用来做一些简单和判断,进而替代if/else判断语句。因为这种做法可以提高代码的简洁性。

各位看官,关于三目运算符的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。


时间: 2024-10-16 00:26:05

一起talk C栗子吧(第一百六十三回:C语言实例--三目运算符)的相关文章

一起talk C栗子吧(第一百六十回:C语言实例--套接字通信模型一)

各位看官们,大家好,上一回中咱们说的是基于AF_INET域数据报套接字通信的例子,这一回咱们说的例子是:套接字通信模型 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前面章回中介绍的内容中提到过通信的次数,当时只是说可以自己设置通信的次数,并没有做详细的介绍,今天我们一起来看看如何设置通信的次数,以及与它的扩展:通信模型. 迭代通信模型 看官们,通信次数的控制主要体现在服务器端,下面是核心代码: 流套接字通信 while(index++ < 2) { client_fd =

一起talk C栗子吧(第一百五十三回:C语言实例--socket通信地址系统调用一)

各位看官们,大家好,上一回中咱们说的是计算机中大小端的例子,这一回咱们说的例子是socket通信地址的系统调用 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在前面的章回中介绍了套接字的通信地址,这一回中我们将介绍操作套接字通信地址的系统调用.大家都知道套接字的通信地址与套接字的域有关,接下来,我们依据套接字的通信域分别进行介绍. AF_UNIX域的通信地址 AF_UNIX域的通信地址本质上是文件的目录,文件目录存储在本地计算机中,而且使用该域通信时,通信双方都位于同一台计算

一起talk C栗子吧(第一百三十三回:C语言实例--创建进程时的内存细节)

各位看官们,大家好,上一回中咱们说的是从内存角度看进程和线程的例子,这一回咱们说的例子是:创建进程时的内存细节.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们都知道使用fork函数可以创建一个新的进程,今天我们一起说一下使用该函数创建进程时内存的一些细节问题.我们介绍的的重点还是内存布局中的四个分区. 1.在父进程中使用fork时,会创建一个新的进程,我们叫它子进程,子进程有自己的内存空间: 2.子进程的内存空间中没有代码区,子进程和父进程共享代码区: 3.子进程的内存空间中拥

一起talk C栗子吧(第一百二十三回:C语言实例--显示变量和函数的地址)

各位看官们,大家好,上一回中咱们说的是多线程的样例.这一回咱们说的样例是:显示变量和函数的地址. 闲话休提,言归正转.让我们一起talk C栗子吧! 在编敲代码时,有时候须要获取程序中变量和函数的地址.今天我们就来介绍下怎样获取它们的地址. 获取变量的地址 获取变量的地址时,仅仅须要使用取地址符对变量直接操作就能够.比如:int a = 1;那么变量a的地址就是&a.该方法适用于大部分变量,只是另一些特殊的变量不能使用该方法.接下来我们分别介绍怎样获取这些特殊变量的地址. 获取数组变量的地址 数

一起talk C栗子吧(第一百二十一回:C语言实例--线程知识体系图)

各位看官们,大家好,上一回中咱们说的线程属性的例子,这一回咱们说的例子是:线程知识体系图.闲话休提,言归正转.让我们一起talk C栗子吧! 我们在前面的章回中介绍了与线程相关的知识,在今天的章回中,我们将对这些知识进行总结,并且整理成一张知识体系图,方便大家掌握线程相关的知识. 下面是我们整理的知识体系图,请大家参数: 上图内容中的知识点都有相应的章回对应,下面是我整理的章回对应关系.为了大家方便,我设置了链接,大家可以直接点击链接跳到相应的章回中. 线程概念 线程概念:第一百零七回 线程标识

一起talk C栗子吧(第一百六十九回:C语言实例--再谈内置宏)

各位看官们,大家好,上一回中咱们说的是C语言中的布尔–bool类型的例子,这一回咱们说的例子是:再谈内置宏 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在第一百二十四回中介绍了C语言中的内置宏,当时介绍了常用的内置宏_LINE_和_FILE_.并且介绍了如何使用它们来输出它们所在位置的行号和所在的文件名.大家都知道,这两个内置宏经常被用来在文件中添加调试信息.因为我们写的程序难免会有错误,所以需要对程序进行调试.在文件中加入内置宏后,我们通过调试可以快速地找到错误发生在哪个

一起talk C栗子吧(第一百五十七回:C语言实例--基于AF_UNIX域的数据报套接字通信)

各位看官们,大家好,上一回中咱们说的是基于AF_UNIX域的流套接字通信的例子,这一回咱们说的例子是:基于AF_UNIX域的数据报套接字通信 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,我们在上一回中一起制作了我们的第一道佳肴是:基于AF_UNIX域的流套接字通信.今天,我将和大家一起制作第二道佳肴:基于AF_UNIX域的数据报套接字通信. 制作第二道佳肴的菜谱:数据报套接字过程. 制作第二道佳肴的食材:数据报套接字的接口,套接字属性,套接字地址信息. 看官们,以上的内容,我们

一起talk C栗子吧(第十二回:C语言实例--单链表一)

各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例.闲话休提, 言归正转.让我们一起talk C栗子吧! 看官们,上一回中咱们没有说具体的例子,而且是说了例子中的文件组织结构.这一回咱们继续说C例子, 说的例子是链表,更准确的说法叫作单链表.咱们不但要说C例子,而且会在例子中使用上一回中说过的 文件组织结构,就当作是举例说明文件组织结构的使用方法. 有点一石二鸟的感觉,哈哈. 链表定义 看官们,所谓的链表其实就是一组元素通过一定的方式链接在一起.比如我们坐的火车

一起talk C栗子吧(第一百六十五回:C语言实例--C语言中的常量)

各位看官们,大家好,上一回中咱们说的const关键字的例子,这一回咱们说的例子是:C语言中的常量 .闲话休提,言归正转.让我们一起talk C栗子吧! 看官们, 我们在上一回中介绍了const关键字,大家都知道被const修饰的都是常量.提到常量,我们在程序中经常使用它,这一回中我们一起看看C语言中的其它常量. 大家都知道,常量的值是固定的,而且不能被修改.在C语言中,一共有四种实现常量的方式,它们分别是: 字面常量 宏 const 枚举. 接下来我们分别介绍这四种实现常量的方式. 字面常量:字