精华内容
下载资源
问答
  • C语言三目运算

    2020-11-24 01:41:56
    #include <stdio.h> //头文件 int main() //主函数 { int a = 3; //定义整型变量a ... //三目表达式 printf("%d\n", m); //打印结果 system("pause"); //程序暂停 return 0; //程序正常退出 } ...
    #include <stdio.h> //头文件
    int main()         //主函数
    {
        int a = 3; //定义整型变量a
        int b = 5; //定义整型变量b
    
        int m = a < b ? 1 : 0; //三目表达式
    
        printf("%d\n", m); //打印结果
        system("pause"); //程序暂停
        return 0;        //程序正常退出
    }

     

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/202001/05/1578194757_806021.jpg) ![图片说明]... 为什么这里面y在三目运算符里面自增了之后,他的值还是等于5呢? 谢谢
  • 三目运算嵌套求三个数最大值及顺序选择结构 1.用三目运算符嵌套实现三个数求最大值:a&gt;b?(a&gt;c?a:c):(b&gt;c?b:c) 2.用户输入一个年份,判断是否为闰年,年份必须是四位以内的。 分析:用户输入...

    三目运算嵌套求三个数最大值及顺序选择结构

    1.用三目运算符嵌套实现三个数求最大值:a>b?(a>c?a:c):(b>c?b:c)

    2.用户输入一个年份,判断是否为闰年,年份必须是四位以内的。

    分析:用户输入年份,然后对1000求商,根据结果判断是否为四位以内的数,然后再根据闰年的规定标准判断是否为闰年即可。(可以循环判断循环输入,但是由于课程暂未涉及,本次仅进行一次判断,错误则直接结束程序)

    代码:

     

    #include<stdio.h>
     
    /********************************
    函数名  :judge_number_bit
    函数功能:判断输入的数是否超过四位
    参数    :int year_num:输入的数
    返回值  :如果不超过四位返回0,
              超过四位返回-1.
    作者    :zy
    时间    :2017.7.16
    **********************************/
    int judge_number_bit(int year_num)
    {
    	if ((year_num / 1000) > 9)
    		return (- 1);
    	return 0;
    }
     
    /********************************
    函数名  :judge_leap_year
    函数功能:判断是否为闰年
    参数    :int year_num:输入的年份
    返回值  :如果是闰年返回0,
      如果不是返回-1.
    作者    :zy
    时间    :2017.7.16
    **********************************/
    int judge_leap_year(int year_num)
    {
    	/* 闰年:是指可以被 4 整除时且不可以被 100 整除,或可以被 400 整除的年份*/
    	if (((year_num % 4 == 0) && (year_num % 100 != 0)) || year_num %400 == 0)
    		return 0;
    	return -1;
    }
     
    int main(int argc,char* argv[])
    {
    	int year = 0;
    	int res = 0;
     
    	printf("**************************************\n");
    	printf("*该软件是一款对用户输入年份进行判断,*\n");
    	printf("*确定该年份是否为闰年的查询软件。    *\n");
    	printf("**************************************\n");
     
    	printf("\n==================================\n");
    	printf("请输入您要判断的年份:");
    	scanf("%d", &year);
     
    	res = judge_number_bit(year);
    	if (-1 == res)
    	{
    		printf("致命错误:请确定你输入的年份为四位以内的正整数!\n");
    		return;
    	}
    	
    	res = judge_leap_year(year);
    	if (-1 == res)
    		printf("您输入的年份不是闰年");
    	else
    		printf("您输入的年份是闰年");
     
    	printf("\n==================================\n");
     
    	return 0;
    }

     

     

     

     

     

    结果:

     

    3.一个五位数,判断是否为回文数。

    分析:回文数,类似“上海自来水来自海上”,正反都一样。要求五位数,那么先进行位数判断,然后利用回文数的判断标准正反相同进行判断即可。

    代码:

     

    #include<stdio.h>
     
    /********************************
    函数名  :judge_number_bit
    函数功能:判断输入的数是否为五位
    参数    :int num:输入的数
    返回值  :如果是五位返回0,
      不是五位返回-1.
    作者    :zy
    时间    :2017.7.16
    **********************************/
    int judge_number_bit(int num)
    {
    	if ((num / 10000) >= 1 && (num / 10000) <= 9)
    		return 0;
    	return -1;
    }
     
    /**********************************
    函数名  :judge_palindrome_number
    函数功能:判断输入的数是否为回文数
    参数    :int num:输入的数
    返回值  :如果是回文数返回0,
      不是返回-1.
    作者    :zy
    时间    :2017.7.16
    ***********************************/
    int judge_palindrome_number(int num)
    {
    	int number = num;//变化前的数
    	int number_change = 0;//变化后的数
     
    	for (; num>0;)
    	{
    		number_change = (number_change * 10) + (num % 10);
    		num = num / 10;
    	}
     
    	if (number == number_change)
    		return 0;
    	return -1;
    }
     
    int main(int argc, char* argv[])
    {
    	int num = 0;
    	int res = 0;
     
    	printf("**************************************\n");
    	printf("*该软件是一款对用户输入的数进行判断,*\n");
    	printf("*确定该数是否为回文数的查询软件。    *\n");
    	printf("**************************************\n");
     
    	printf("\n==================================\n");
    	printf("请输入您要判断的五位整数:");
    	scanf("%d", &num);
     
    	res = judge_number_bit(num);
    	if (-1 == res)
    	{
    		printf("致命错误:请确定你输入的数为五位的正整数!\n");
    		return;
    	}
    	
    	res = judge_palindrome_number(num);
    	if (-1 == res)
    		printf("您输入的数不是回文数");
    	else
    		printf("您输入的数是回文数");
     
    	printf("\n==================================\n");
     
    	return 0;
    }

     

     

     

    结果:

     

     

    展开全文
  • 下面这一句是 stm库中的一句话。 #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) vc中在 文件 VC98\MFC\Include\AFX.H 中 有... 上面是C语言三目运算的简单应用

    下面这一句是 stm库中的一句话。

    #define assert_param(expr) ((expr) ? (void)0 :

    assert_failed((uint8_t *)__FILE__, __LINE__))

    vc中在 文件 VC98\MFC\Include\AFX.H 中 有如下定义

    注释::下文中的“\”

    为连接符 下面这一段有几个知识点这里说其中一个。

    本文说 程序中打TRACE的问题 很多人在程序中打的TRACE

    在不打TRACE 是还是会执行一些代码影响程序的运行 是程序执行效率降低 下面这是 vc

    中在调试程序时用到的 TRACE

    #ifdef _DEBUG

    #define

    TRACE ::AfxTrace

    #define

    THIS_FILE __FILE__

    #define ASSERT(f) \

    do \

    { \

    if (!(f) &&

    AfxAssertFailedLine(THIS_FILE, __LINE__)) \

    AfxDebugBreak(); \

    } while (0) \

    #define

    VERIFY(f) ASSERT(f)

    #define ASSERT_VALID(pOb) (::AfxAssertValidObject(pOb, THIS_FILE, __LINE__))

    #define

    DEBUG_ONLY(f) (f)

    // The following trace macros are provided for backward

    compatiblity

    // (they also take a fixed number of parameters

    which provides

    // some amount of extra error

    checking)

    #define

    TRACE0(sz) ::AfxTrace(_T("%s"), _T(sz))

    #define TRACE1(sz,

    p1) ::AfxTrace(_T(sz), p1)

    #define TRACE2(sz, p1,

    p2) ::AfxTrace(_T(sz), p1, p2)

    #define TRACE3(sz, p1, p2, p3) ::AfxTrace(_T(sz),

    p1, p2, p3)

    // These AFX_DUMP macros also provided for backward

    compatibility

    #define AFX_DUMP0(dc, sz) dc

    << _T(sz)

    #define AFX_DUMP1(dc, sz, p1) dc << _T(sz) << p1

    #else // _DEBUG

    #define

    ASSERT(f) ((void)0)

    #define

    VERIFY(f) ((void)(f))

    #define ASSERT_VALID(pOb) ((void)0)

    #define

    DEBUG_ONLY(f) ((void)0)

    inline void AFX_CDECL AfxTrace(LPCTSTR, ...) { }

    #define

    TRACE 1 ? (void)0 : ::AfxTrace //重要的是这一句 在没有调试程序时TRACE表示为0

    #define TRACE0(sz)

    #define TRACE1(sz, p1)

    #define TRACE2(sz, p1, p2)

    #define TRACE3(sz, p1, p2, p3)

    #endif // !_DEBUG

    下面我们看看 开始的第一句程序

    #define assert_param(expr) ((expr) ? (void)0 :

    assert_failed((uint8_t *)__FILE__, __LINE__))

    这是一句宏定义 当 expr不为“0”时 程序正常执行 当expr为“0”时

    程序停止执行。

    上面是C语言三目运算的简单应用

    展开全文
  • C语言-三目运算

    2020-11-26 12:14:34
    当我看到正点原子关于STM32F103的第十八章的软件设计的lcd.c文件中的某个函数代码如下: //在指定位置显示一个字符 //x,y:起始坐标 //num:要显示的字符:" “—>”~" //size:字体大小 12/16/24 ...

    当我看到正点原子关于STM32F103的第十八章的软件设计的lcd.c文件中的某个函数代码如下:

    //在指定位置显示一个字符
    //x,y:起始坐标
    //num:要显示的字符:" “—>”~"
    //size:字体大小 12/16/24
    //mode:叠加方式(1)还是非叠加方式(0)

    void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
    {
    u8 temp,t1,t;
    u16 y0=y;
    u8 csize=(size/8+((size%8)?1:0))*(size/2); //得到字体一个字符对应点阵集所占的字节数
    num=num-’ ‘;//得到偏移后的值(ASCII字库是从空格开始取模,所以-’ '就是对应字符的字库)
    for(t=0;t<csize;t++)
    {
    if(size12)temp=asc2_1206[num][t]; //调用1206字体
    else if(size
    16)temp=asc2_1608[num][t]; //调用1608字体
    else if(size24)temp=asc2_2412[num][t]; //调用2412字体
    else return; //没有的字库
    for(t1=0;t1<8;t1++)
    {
    if(temp&0x80)LCD_Fast_DrawPoint(x,y,POINT_COLOR);
    else if(mode
    0)LCD_Fast_DrawPoint(x,y,BACK_COLOR);
    temp<<=1;
    y++;
    if(y>=lcddev.height)return; //超区域了
    if((y-y0)==size)
    {
    y=y0;
    x++;
    if(x>=lcddev.width)return; //超区域了
    break;
    }
    }
    }
    其中出现了三目运算。(size%8)?1:0,三目计算 (size%8)为真 返回1 否则返回0。

    三目运算符

    三目运算符,又称条件运算符,是计算机语言(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,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。

    可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
    注意:在C语言中,结果1 和 结果2的类型必须一致。

    a ? b : c简单理解方式为:
    if(a)
    {
    return b;
    }
    else
    {
    return c;
    }

    举例:
    (1)
    int a = 2;

    int c = 3;

    int b = (a > c) ? a : c;

    cout << “b:” << b << endl;
    这样输出的结果是:b:3
    (2)
    int a = 1, b = 2, z, c = 3;

    z = a > b ? a : (b > c ? b : c);

    cout << “z:” << z << endl;
    这样输出的结果是:z:3
    (3)
    int a = 1, b = 2, z;

    z = a > b ? a : b; //去了括号

    cout << “z:” << z << endl;
    这样的输出的结果是:z:2
    一般来说,三目运算符的结合性是右结合的
    但是这点在ANSI C中并没有明确规定
    所以它的执行顺序有时是由编译器决定的

    (4)在PHP中运用实例如下:
    $a = (1 > 0) ? ‘zhen’ : ‘jia’; // 三目运算符 与下边if语句意思一样

    if(1 > 0) {

    $a = ‘zhen’;

    } else {

    $a = ‘jia’;

    }

    (5)在javascript中运用实例如下:
    1 > 2 ? console.log(“true”) : console.log(‘false’);
    // 三目运算符 与下边if语句意思一样

    if(1 > 2) {

    console.log(“true”)

    } else {

    console.log(‘false’);

    }

    在这里插入图片描述

    展开全文
  • 首先,python中没有C语言中的三目运算,即Python没有 a ? b : c 的语法。但是可以python模拟这种运算。 C语言: result = condition ? true_part : false_part python: result = condition and true_part or false...
  • 下面展示一些 用C语言做一遍练习。 #include<stdio.h> int main(){ //题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 //定义一个...
  • 三目运算

    千次阅读 2019-06-20 14:33:03
    1. C语言三目运算 C语言的三目运算表达式为 ?:,该表达式用法如下 a > b ? a : b C语言的三目运算可以作为简单函数,比如模板函数(模板确切说不是纯C语言,而是C++): template<Type T> T max(T a,...
  • C语言三目运算实现判断大写

    千次阅读 2020-11-23 22:33:28
    然后输出最后得到的字符,要求使用三目运算符。 解题思路:用条件表达式来处理,当字母是大写时,转换成小写字母,否则不转换 源代码演示: #include<stdio.h>//头文件 int main()//主函数 { char ...
  • C语言 三目运算符

    万次阅读 多人点赞 2018-10-27 20:48:29
    1.运算方向从左往右,从右往左结合,只有一个表达式被计算 百度百科:三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。...
  • #include <stdio.h> int main(int argc, char const *argv[]) { int a,\ b,\ c,\ max,\ meddle,\ ... //定义三个整数,三个排序数(int类型) ... printf("请输入三个(int类型)整数\n");...
  • C语言三目运算符

    千次阅读 2020-04-15 12:36:31
    1、三目运算符 三目运算符也叫条件运算符、三元运算符,是由一个问号和一个冒号组成。 语法: 表达式1?表达式2:表达式3; 语义: 先执行表达式1,如果表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算...
  • C语言三目运算符小注

    2019-08-02 21:48:42
    在慕课上学浙大线性结构课程,看到有个算法用到C语言三目运算符,研究测试了下,方便后面复习。 基本表达式: A?B:C 意思是:如果A为真,继续比较A与B,否则返回C,是一个精简版的if else表达。但嵌套的就不那么...
  • 我在三目运算符里面的赋值代码段加了括号,如下 <code class="language-cpp">a > b ? (max = a), (min = b) : (max = b), (min = a);</code></pre> 还是max=6,min=6</p>
  • 如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。 一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b...
  • C语言三目运算符之坑

    2020-03-12 18:52:16
    } 运行结果: t = 4294967274 tc = -22 以为(a == 0)的条件不满足不会b的符号不会对运算结果产生影响,但实际上的确会产生影响。这就是为什么不提倡在编码中使用三目运算符的一个比较重要的原因吧,这种低级问题...
  • #include<stdio.h> int main() { int a=0; scanf("%d",&a); int b=(a%4==0&&a%100!=0||a%400==0); printf("%s",b>0?"闰年":"不是闰年"); }
  • #include"stdio.h" main() { inta,b,c,d; scanf("%d%d",&a,&b); c=a<b?a:b; while(1) { if(a%c==0&&b%c==0) break; c--; } d=a*b/c; printf("公约数是%d,公倍数是%d",c,d);...}
  • 1. a=-100 print 0 if a>0 else -1 2. a=12 print 0 if a>0 else -1
  • C语言中的三目运算

    2018-06-09 01:33:17
    C语言程序设计现代方法第二版中第9章练习题第15题题目要求我也搜索了很多的程序设计,一般都是很复杂,自己研究了十多分钟,写了个自定义函数,运行起来倒是没有什么问题,姑且记录下吧源代码如下double median...
  • 最近在项目代码中看到了使用三目运算符省略了?与:之间的参数的用法,对此用法感到疑惑,虽然不建议这么些,但是下次遇到得知道是什么意思吧?为了弄清该用法具体意义,于是写了如下代码进行验证: #include <...
  • C语言三目运算符比较两数大小

    千次阅读 2020-04-03 13:43:59
    #include <stdio.h.> #include <windows.h> #pragma warning(disable:4996) int MYMax(int _x, int _y) { if(_x >_y?_x:_y) { return _x; } else{ return _y; } } int main() ...int y = 0...
  • 最近看到这问题,我就非常想当然地用三目运算符解决 题目描述 给定区间[-231, 231]内的3个整数A、B和C,请判断A+B是否大于C。 输入 输入第1行给出正整数T(&lt;=10),是测试用例的个数。随后给出T组测试用例...
  • 为什么使用三目运算符呢,因为只需一行代码,有可能说这不简洁,对开发者不友好 我反而觉得只需要记住求三个正整数的中间数需要做到3次判断或者6次判断,即可 6次判断 a>b&&b>c?b:a>c&&c&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,814
精华内容 2,725
关键字:

c语言三目运算

c语言 订阅